www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 芯聞號 > 技術(shù)解析
[導(dǎo)讀]pic單片機每天都在被使用,了解pic單片機顯得尤為必要。本文對于pic單片機的介紹,將基于兩大方面:1.闡述pic單片機程序設(shè)計基礎(chǔ)格式,2.探討pic單片機開發(fā)的幾個問題。如果你對本文即將探討的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

pic單片機每天都在被使用,了解pic單片機顯得尤為必要。本文對于pic單片機的介紹,將基于兩大方面:1.闡述pic單片機程序設(shè)計基礎(chǔ)格式,2.探討pic單片機開發(fā)的幾個問題。如果你對本文即將探討的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

一、PIC單片機程序設(shè)計基礎(chǔ)格式

為了快速掌握PIC單片機源程序的基本結(jié)構(gòu),這里給出一個典型的程序結(jié)構(gòu)框架。

建立源程序時首先用偽指令TITLE提供程序的標題,接著給出整個程序的總說明,并用列表偽指令LIST指定所用單片機型號和文件輸出格式,再利用INCLUDE偽指令讀入MPASM中提供的定義文件如《P16F84?INC》,然后對片內(nèi)常用資源進行定義,再給出一般程序的基本結(jié)構(gòu)框架?,F(xiàn)舉例如下。

TITLE“This is……”;程序標題

;程序說明

LIST P="16F84",F(xiàn)=1NHX8M

;

include

-config_RC_Qsc &_WDT_0FF…

;資源定義和變量定義

STATUS EQU 03

FSR EQU 04

PORTA EQU 05

PORTB EQU 06

J EQU 01F

K EQU 01E

;…………………

ORG 0000 ;

goto MAIN ;跳過中斷矢量

ORG 0004

goto INTSRV;子程序入口地址

;……………………………………

MAIN

;從0005H開始放主程序

call Initports ;端口初始化

call InitTImers;定時器初始化

INTSRV …     ;中斷服務(wù)程序區(qū)

SVBRTH…      ;子程序區(qū)

END      ;程序結(jié)束符

當然,在編寫程序時可根據(jù)實際情況加以調(diào)整。下面是一份實際程序清單,要求將數(shù)據(jù)88H寫入PIC16F84內(nèi)部EEPROM的20H單元,而后再從20H單元將其讀出。

LIST P="16F84",F(xiàn)=INHX8M

;……………………………

STATUS EQU  03  ;定義寄存器

EEDATA EQU  08

EEADR EQU  09

INTCON EQU  0BH

EECON1 EQU  88H

EECON2 EQU  89H

;…………………………

RD    EQU  0    ;定義位

WR  EQU  1

RP0   EQU  5

GIE  EQU  7

;…………………………

ORG  0

GOTO WRSTART

;……………………………

ORG  10H

WRSTART         ;寫入操作開始

CLRW      ;清W,使W=0

BCF STATUS,RP0 ;選BANK0

MOVLW 20H

MOVWF EEADR   ;地址→EEADR

MOVLW 88H

MOVWF EEDATA  ;寫入數(shù)據(jù)→

;EEDATA

BSF STATUS,RP0 ;選BANK1

BSF EECON1,2 ;寫操作使能允許

BCF INTCON,GIE ;關(guān)閉所有的中斷

MOVLW 0X55

MOVWF EECON2  ;55H→EECON2

MOVLW 0XAA

MOVWF EECON2  ;AAH→EECON2

BSF EECON1,WR ;啟動寫操作

BSF INTCON,GIE ;恢復(fù)開中斷

RDSTART          ;讀出操作開始

BCF STATUS,RP0

MOVLW 20H

MOVWF EEADR   ;地址→EEADR

BSF STATUS,RP0

BSF EECON1,RD ;啟動讀操作

BCF STATUS,RP0

MOVF EEDATA,W ;將EEPROM

;數(shù)據(jù)讀入W

END

二、PIC單片機開發(fā)的幾個問題

1 怎樣進一步降低功耗

功耗,在電池供電的儀器儀表中是一個重要的考慮因素。PIC16C&TImes;&TImes;系列單片機本身的功耗較低(在5V,4MHz振蕩頻率時工作電流小于2mA)。為進一步降低功耗,在保證滿足工作要求的前提下,可采用降低工作頻率的方法,工作頻率的下降可大大降低功耗(如PIC16C&TImes;&TImes;在3V,32kHz下工作,其電流可減小到15μA),但較低的工作頻率可能導(dǎo)致部分子程序(如數(shù)學(xué)計算)需占用較多的時間。在這種情況下,當單片機的振蕩方式采用RC電路形式時,可以采用中途提高工作頻率的辦法來解決。

具體做法是在閑置的一個I/O腳(如RB1)和OSC1管腳之間跨接一電阻(R1),如圖1所示。低速狀態(tài)置RB1=0。需進行快速運算時先置RB1= 1,由于充電時,電容電壓上升得快,工作頻率增高,運算時間減少,運算結(jié)束又置RB1=0,進入低速、低功耗狀態(tài)。工作頻率的變化量依R1的阻值而定(注意R1不能選得太小,以防振蕩電路不起振,一般選取大于5kΩ)。

另外,進一步降低功耗可充分利用“sleep”指令。執(zhí)行“sleep”指令,機器處于睡眠狀態(tài),功耗為幾個微安。程序不僅可在待命狀態(tài)使用 “sleep”指令來等待事件,也可在延時程序里使用(見例1、例2)。在延時程序中使用“sleep”指令降低功耗是一個方面,同時,即使是關(guān)中斷狀態(tài),Port B端口電平的變化可喚醒“sleep”,提前結(jié)束延時程序。這一點在一些應(yīng)用場合特別有用。同時注意在使用“sleep”時要處理好與WDT、中斷的關(guān)系。

例1(用Mplab-C編寫) 例2(用Masm編寫)

Delay() Delay

{ ;此行可加開關(guān)中斷指令

/*此行可加開關(guān)中斷指令*/ movlw.10

for (i=0; i《=10; i ) movwf Counter

SLEEP(); Loop1

} Sleep

decfsz Counter

goto Loop1

return

2 注意INTCON中的RBIF位

INTCON中的各中斷允許位對中斷狀態(tài)位并無影響。當PORT B配置成輸入方式時,RB《7:4》引腳輸入在每個讀操作周期被抽樣并與舊的鎖存值比較,一旦不同就產(chǎn)生一個高電平,置RBIF=1。在開 RB中斷前,也許RBIF已置“1”,所以在開RB中斷時應(yīng)先清RBIF位,以免受RBIF原值的影響,同時在中斷處理完成后最好是清RBIF位。

三、用Mplab-C高級語言寫PIC單片機程序時要注意的問題

3.1 程序中嵌入?yún)R編指令時注意書寫格式 見例3。

例3

…………

while(1) {#asmwhile(1) {

…… #asm /*應(yīng)另起一行*/

#endasm ……

}/*不能正確編譯*/ #endasm

…… }/*編譯通過*/

……

當內(nèi)嵌匯編指令時,從“#asm”到“endasm”每條指令都必須各占一行,否則編譯時會出錯。

以上便是此次小編帶來的“pic單片機”相關(guān)內(nèi)容,希望大家對本文介紹的兩大方面內(nèi)容具備一定的認知。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉