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