自學(xué)PIC單片機(jī)的要點(diǎn)和方法
1.書本學(xué)習(xí)和動(dòng)手編程對(duì)已有一定電子技術(shù)實(shí)踐知識(shí)的讀者而言,初學(xué)PIC單片機(jī)編程技術(shù)時(shí),初其階段最好是書本學(xué)習(xí)為輔、動(dòng)手編程為主,其分配比例為20%與80%的關(guān)系。這樣可達(dá)到速成目的。為此必須首先改變學(xué)習(xí)的思維方法。學(xué)習(xí)數(shù)字電路或模擬電路時(shí)(全硬件),是先讀書后實(shí)驗(yàn),而單片機(jī)是一種可編程的芯片,學(xué)習(xí)時(shí)是以它的指令為依據(jù),按設(shè)計(jì)功能進(jìn)行邏輯思維,再把需要的指令進(jìn)行合理的組合,方能成功。如果不進(jìn)行動(dòng)手實(shí)踐操作,僅背誦指令而不會(huì)使用指令是永遠(yuǎn)達(dá)不到學(xué)習(xí)的目的。
2.初識(shí)PIC單片機(jī)芯片的外部特性PIC單片機(jī)芯片產(chǎn)品上百種,初學(xué)該單片機(jī)時(shí)不可能一一學(xué)習(xí)和瀏覽它。最好的方法是任選一兩種芯片進(jìn)行初識(shí),一旦把它的性能和使用掌握之后,再去了解其它產(chǎn)品的性能就一目了然。這里以PDIP封裝的PIC16F84A和PIC16F627為例,初識(shí)其外部特性。圖1和圖2分別是上述兩芯片的引腳和引腳主要功能圖。兩種芯片的共同點(diǎn)是:(1)都是18引腳;(2)引腳的供電端14、⑤腳完全相同;(3)都有8個(gè)B口即RB0~RB7,且引腳位也相同;(4)芯片復(fù)位端MCLR在第④腳;(5)相同的晶體振蕩15、16引腳。不同點(diǎn)是,PIC16F84的A口共5個(gè)RA0~RA4、PIC16F627的A口是6個(gè)RA0~RA5。此外圖1、圖2的芯片引腳上還有一些其它字母符號(hào),它們是代表IC單片機(jī)引腳具有復(fù)用的功能(見后文實(shí)例介紹其用途)。
值得注意:PIC16F84/16F627的所有RA、RB口都可用軟件(指令)設(shè)置成輸人口或輸出口即書本上把口稱為I/O端口特性。
3.PIC16F84引腳應(yīng)用電路實(shí)例
為了說明右圖、左圖的PIC單片機(jī)引腳的使用方法和用途,特將PIC實(shí)驗(yàn)編程器1.01版所配套的實(shí)驗(yàn)板如下圖所示的電路,作為實(shí)例加以介紹。圖中IC2是一個(gè)18引腳的lC插座,只要插上已編程了PIC16F84芯片(包括PIC16F84/16C84)即可完成其實(shí)驗(yàn)工作。IC2各引腳端外接有各類元件,現(xiàn)簡(jiǎn)述其功能。
(1)電路的供電電源:在圖3電路中采用了電源適配器的供電,適配器輸出電壓(≥15V交直流電均可用)加到Jl的插孔上,經(jīng)D1~D4整流(或極性變換),再經(jīng)7805穩(wěn)壓輸出VCC(+5V)電壓給電路(包括IC2)供電。
(2)振蕩源:IC2的15、16腳外接有可跳接(形成通路)的接插件。當(dāng)JUMP1和JUMP2的②、③腳相連時(shí),實(shí)驗(yàn)板上可插接晶體(<10MHz)XT或陶瓷組成振蕩器;當(dāng)JUMPI和JUMP2的①、②腳接通時(shí),其振蕩器為RC阻容方式。讀者在編制延時(shí)或計(jì)數(shù)的程序時(shí),更換晶體的不同頻率,可直接觀察它們的時(shí)延變化。
(3)復(fù)位電路:IC2的④腳外接Rl、Dl、C3和微動(dòng)開關(guān)RST,組成ICZ的復(fù)位電路。
(4)關(guān)于RA0~RA4口:該實(shí)驗(yàn)板把A口有意設(shè)成輸入口,以便實(shí)驗(yàn)操作。
所以在RA0~RA4的引腳上接有電阻R2~R6,該電阻一端接電源Vcc,另一端均接微動(dòng)開關(guān)RST。電路起動(dòng)之后,A口都是高電平,只有當(dāng)A口的微動(dòng)開關(guān)被觸動(dòng)時(shí),會(huì)引起口的電平變化。
(5)RB0~RB7口。該實(shí)驗(yàn)板有意將B口設(shè)成輸出口,所以各B口外接有LED以顯示B口的輸出狀態(tài)。
當(dāng)B口輸出“1”電平時(shí),對(duì)應(yīng)的LED亮;當(dāng)B口輸出“0”電平時(shí),對(duì)應(yīng)的LED不亮。電阻R8~R15為L(zhǎng)ED的限流電阻。
4.PIC16F84芯片內(nèi)部硬件資源這里指的芯片硬件資源,主要是指PIC16F84內(nèi)部的數(shù)據(jù)存儲(chǔ)器,如下圖所示。數(shù)據(jù)存儲(chǔ)器由專用寄存器和通用寄存器(靜態(tài)RAM)組成。專用寄存器用于CPU和控制芯片的外圍操作;通用寄存器用于指令執(zhí)行時(shí)存放數(shù)據(jù)和控制信息。在PC機(jī)上對(duì)PIC單片機(jī)建立源程序時(shí),專用寄存器和通用寄存器將起重要的作用。但是要充分理解上述兩種寄程器的用途,只有通過對(duì)PIC單片機(jī)編程的過程中才能完全體會(huì)到它們的作用。由圖4可以看出,PIC16F84數(shù)據(jù)存儲(chǔ)器是由兩個(gè)存儲(chǔ)體BANKO和BANK1(存儲(chǔ)體0和存儲(chǔ)體1)組成。每個(gè)存儲(chǔ)也是由專用寄存器和通用存器組成。專用寄存器和通用寄程器都是8位的,其位的表示如附表的兩種方法。