PIC系列單片機(jī)應(yīng)用設(shè)計(jì)與實(shí)例
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1.引言
在微控制器(Microcontroller)應(yīng)用領(lǐng)域日益廣泛的今天,各個(gè)領(lǐng)域的應(yīng)用也向微控制器廠商提出了更高要求,希望速度更快、功耗更低、體積更小、價(jià)格更廉以及組成系統(tǒng)時(shí)所需要的外圍器件更少;隨著越來(lái)越多的各種非電子工程技術(shù)人員的應(yīng)用需求,他們想把微控制器作為嵌入式部件應(yīng)用到自己熟悉的領(lǐng)域中,還提出簡(jiǎn)單易學(xué)易用的要求。用戶的需求就是廠商的市場(chǎng)和動(dòng)力,老的半導(dǎo)體廠商順應(yīng)潮流不斷推出新品種,新的半導(dǎo)體廠商則后來(lái)居上,把越來(lái)越多的外圍接口器件集成到片內(nèi),功能越來(lái)越強(qiáng)、性能越來(lái)越高。迄今至少也有35家國(guó)外半導(dǎo)體廠商的微控制器進(jìn)入中國(guó)市場(chǎng)。在這眾多的五彩繽紛的微控制器中,美國(guó)Microchip技術(shù)公司的PIC系列微控制器則異軍突起,獨(dú)一幟。它率先推出采用精簡(jiǎn)指令集計(jì)算機(jī)(RISC--Reduced Instruction Set Computer)、哈佛(Harvard)雙總線和兩級(jí)指令流水線結(jié)構(gòu)的高性能價(jià)格比的8位嵌入式控制器(Embedded Controller)。其高速度(每條指令最快可達(dá)160ns)、低工作電壓(最低工作電壓可為3V)、低功耗(3V,32kHz時(shí)15µA)、較大的輸入輸出直接驅(qū)動(dòng)LED能力(灌電流可達(dá)25mA)、一次性編程(OTP--One Time Programmable)芯片的低價(jià)位、小體積、指令簡(jiǎn)單易學(xué)易用(35--37條指令)等,都體現(xiàn)了微控制器工業(yè)發(fā)展的新趨勢(shì)。
這個(gè)系列的微控制器在市場(chǎng)上極具強(qiáng)勁的競(jìng)爭(zhēng)力,在全球都可以看到PIC微控制器在從辦公自動(dòng)化設(shè)備、消費(fèi)電子產(chǎn)品、電訊通信、智能儀器儀表到汽車電子、金融電子、工業(yè)控制等不同領(lǐng)域的廣泛應(yīng)用。PIC系列微控制器在世界微控制器市場(chǎng)份額排名中逐年提前,以至已成為一種新的8位微控制器的世界標(biāo)準(zhǔn)和最有影響力的主流嵌入式控制器。大家會(huì)發(fā)現(xiàn),在國(guó)內(nèi)目前仍然是Intel的MCS-51系列及其兼容的單片機(jī)占絕對(duì)主流地位,原因是該系列單片機(jī)引進(jìn)歷史最長(zhǎng),在國(guó)內(nèi)應(yīng)用一直繁榮而面廣,參考資料相對(duì)豐富,使用慣性使然。
2.PIC系列微控制器系統(tǒng)擴(kuò)展技術(shù)
系統(tǒng)擴(kuò)展有兩類不同的方法,一類是并行擴(kuò)展,另一類是串行擴(kuò)展。
對(duì)于并行擴(kuò)展,目前使用的微處理器和微控制器絕大部分都采用總線結(jié)構(gòu),無(wú)論進(jìn)行存儲(chǔ)器擴(kuò)展還是I/O接口擴(kuò)展,都是利用數(shù)據(jù)總線、地址總線和控制總線這三總線來(lái)擴(kuò)展。因?yàn)檫@個(gè)系列的微控制器的設(shè)計(jì)是基于真正的單片機(jī)應(yīng)用,芯片引腳并未安排三總線。但是可以利用接口電路仿真三總線。任何一種微控制器,只要有足夠多的I/O接口可用,就可以用一個(gè)8位I/O口作為8位I/O口仿真16位的地址線(實(shí)際上還可以根據(jù)需要擴(kuò)展成任意位數(shù)據(jù)線和地址線)。當(dāng)然這種方法占用I/O口資源太多,顯得不經(jīng)濟(jì)。另外一種可用的方法就是模仿Intel的8031擴(kuò)展方法,占用一個(gè)8位鎖存器將地址信號(hào)分離出來(lái);再根據(jù)需要擴(kuò)展器件尋址范圍的大小,用另外一個(gè)I/O口的若干位作為高位地址線。需要擴(kuò)展的器件就可以與這三總線相應(yīng)信號(hào)相連。當(dāng)需要對(duì)擴(kuò)展器件進(jìn)行訪問時(shí),即可以在高8位地址線的I/O口先輸出高位地址,再?gòu)姆謺r(shí)復(fù)用的I/O口輸出低8位地址,并用另外一個(gè)I/O線作為地址鎖存允許信號(hào)線ALE去控制鎖存器,鎖存住8位的低位地址。這時(shí)就可對(duì)尋址單元進(jìn)行訪問。下面的并行擴(kuò)展都采用這個(gè)方案。
對(duì)于串行擴(kuò)展,比較簡(jiǎn)單,因?yàn)樵赑IC16CXX系列芯片中已有同步串行口部件SSP,可以直接進(jìn)行I²C方式、SPI方式串行通信,另外還有異步通信接口USART。在PIC16C5X系列芯片中沒有串行通信部件,但是可以用軟件仿真實(shí)現(xiàn)?!?
PIC系列微控制器系統(tǒng)擴(kuò)展技術(shù)有:1、數(shù)據(jù)存儲(chǔ)器擴(kuò)展,(1)并行數(shù)據(jù)存儲(chǔ)器擴(kuò)展(2)串行數(shù)據(jù)存儲(chǔ)器擴(kuò)展,例如,二總線EEPROM和三總線EEPROM同串行EEPROM,PIC16C5X與24XXXX系列串行EEPROM的接口,擴(kuò)展I²C總線協(xié)議所規(guī)定地址空間技術(shù)-16C54與24LC65的接口方法和編程,16C5X與四線制串行EEPROM芯片93LC46的接口方法和編程,16CXX SPI接口和93LCXX的接口。2、PIC系列微控制器的I/O口擴(kuò)展(1)74系列TTL集成電路芯片擴(kuò)展技術(shù)(2)可編程并行接口擴(kuò)展技術(shù)(3)用PIC16C5X實(shí)現(xiàn)數(shù)字電位器的功能(4)人機(jī)對(duì)話的鍵盤、LED數(shù)碼顯示、LCD驅(qū)動(dòng)擴(kuò)展,用PIC16C57直接擴(kuò)展LED數(shù)碼管和鍵盤,用PIC16C54/56擴(kuò)展LED數(shù)碼管和鍵盤,用PIC系列微控制器直接驅(qū)動(dòng)LCD顯示器。3、中斷系統(tǒng)的擴(kuò)展和實(shí)現(xiàn),(1)軟件中斷技術(shù)(2)PORTB口作外部中斷。4、I²C總線接口與串行通信,(1)I²C總線軟件設(shè)計(jì)及其子程序(2)異步串行通信的軟件實(shí)現(xiàn)(3)PIC16CXX系列異步串行通信中斷驅(qū)動(dòng)的軟件實(shí)現(xiàn)
3、PIC系列微控制器應(yīng)用系統(tǒng)開發(fā)及其常用工具
單片機(jī)應(yīng)用系統(tǒng)的開發(fā),用單片機(jī)開發(fā)設(shè)計(jì)制作的應(yīng)用系統(tǒng)或產(chǎn)品,與純粹用硬件電路實(shí)現(xiàn)的裝置不一樣。這是因?yàn)槌讼鄳?yīng)的硬件電路外,其關(guān)鍵在于應(yīng)用系統(tǒng)軟件的開發(fā),而單片機(jī)本身并沒有軟件開發(fā)功能。編寫的應(yīng)用程序如何調(diào)試和修改?怎么能高效率地找出應(yīng)用系統(tǒng)硬件和軟件中的錯(cuò)誤?又如何把最后調(diào)試好的程序固化到單片機(jī)片內(nèi)程序存儲(chǔ)器中?這些需要相應(yīng)的開發(fā)工具,稱為開發(fā)系統(tǒng)。主要包括單片機(jī)匯編語(yǔ)言編譯器、在線實(shí)時(shí)仿真器ICE(Incircuit Emulator) 、非在線仿真器(軟件模擬仿真器Simulator)、編程器、EPROM擦除器等。硬件調(diào)試還可能用到邏輯分析儀等。
系統(tǒng)開發(fā)常用工具有:1、PIC匯編器(1)PICASM匯編程序(2)MPALC匯編程序(3)MPASM宏匯編程序(4)MPASM匯編語(yǔ)言。2、軟件仿真器MPSIM。3、實(shí)時(shí)在線硬件仿真器,(1)實(shí)時(shí)在線仿真器PICMATE(2)EasyPack-PIC 16F高級(jí)仿真器。4、單片機(jī)內(nèi)置程序存儲(chǔ)器編程器,(1)PICPROG編程器(2)PRO MATE編程器
4、MPLAB集成開發(fā)環(huán)境(IED)軟件
MPLAB是適用于Microchip Technology公司PIC16/17微控制器系列的、基于Windows的、易學(xué)易用的集成開發(fā)環(huán)境(IDE--Intergrated Development Environment)。這種集成開發(fā)環(huán)境使應(yīng)用系統(tǒng)開發(fā)工程師可以即方便又靈活地編輯、匯編、仿真、開發(fā)利用和調(diào)試查錯(cuò)。
MPLAB集成開發(fā)環(huán)境軟件集成了下列開發(fā)工具。(1)工程項(xiàng)目管理程序(Project Manager)(2)MPLAB編輯程序(MPLAB Editor)(3)MPLAB匯編程序(MPLAB Assembler)(4)MPLAB-SIM軟件模擬程序(MPLAB-SIM Software Simulator)(5)PICMASTER硬件在線仿真器(PICMASTER Emulator),還有其它工具等。
5、PIC系列微控制器的應(yīng)用實(shí)例
PIC系列微控制器的應(yīng)用范圍很廣,例如:1、交流數(shù)字電壓表 2、電力周波表 3、閃光報(bào)警器 4、帶有世界時(shí)鐘的賓館移動(dòng)式客房控制器 5、用PIC16C71控制的不間斷電源 6、用PIC單片機(jī)產(chǎn)生均勻分布的隨機(jī)數(shù) 7、用PIC17C42實(shí)現(xiàn)4階IIR數(shù)字濾波器 8、用PIC17C42實(shí)現(xiàn)FFT算法 9、即熱式熱水器溫度控制器 10、標(biāo)準(zhǔn)并行接口漢字熱敏微型打印機(jī) 11、PIC16CXX片內(nèi)I²C總線接口的應(yīng)用。