PIC單片機(jī)的特點及應(yīng)用
1概述
Microchip公司生產(chǎn)的PIC16C72是一款基于EPROM的8位高性能微控制器。與其它價格相當(dāng)?shù)奈⒖刂破飨啾?,它在?zhí)行速度和代碼壓縮方面都有很大的改進(jìn)。由于隨時可以買到需要的OPT(一次性編程)產(chǎn)品,因而縮短了利用PIC16C73進(jìn)行產(chǎn)品設(shè)計開發(fā)的周期。
PIC16C73微控制器所具有的優(yōu)越性能主要歸功于它的精簡指令集(RISC)和所采用的哈佛(Harvard)結(jié)構(gòu),它具有分離的程序儲器空間(12 位寬指令)和數(shù)據(jù)存儲器空間(8位寬數(shù)據(jù))。同時可運用兩級流水線指令進(jìn)行取數(shù)和執(zhí)行,除了跳轉(zhuǎn)指令需要兩個周期外,其余所有的指令都可在單周期內(nèi)執(zhí)行。
PIC16C73分離的程序和數(shù)據(jù)空間可使指令字優(yōu)化為任意寬度,從而使指令具有單字長的特性,且允許指令碼的數(shù)據(jù)位數(shù)多于8位,這樣,就可達(dá)到2:1的代碼壓縮和4:1的速度。
2結(jié)構(gòu)特點及工作原理
PIC16C73PIC16xx系列微控制器中的一種,它由高性能RISC結(jié)構(gòu)的CPU、存儲器、I/O接口和復(fù)位電路等組成。
2.1外部結(jié)構(gòu)特點
PIC16C73是28腳雙列直插式大規(guī)模集成芯片。
各引腳功能如下:
OSC1/CLKIN:為晶體振蕩器輸入/外部時鐘源輸入引腳。
OSC2/CLKOUT:晶體振蕩器輸出/外部時鐘源輸出引腳。在晶體振蕩器方式下,接晶體或陶瓷振蕩器;在RC振蕩方式,輸出1/4fosc。
MCLR/Vpp:芯片復(fù)位/編程電壓輸入腳,復(fù)位時,低電平有效。
RA0/AN0~RA5/AN4/SS:復(fù)用引腳,RA0~RA5為雙向數(shù)據(jù)線;AN0~AN4為A/D輸入輸出通道;RA5~AN4/SS還可作為同步串口使用。
RB0~RB7:B口雙向數(shù)據(jù)信號線,其引腳含有可控的弱上拉電阻。其中,RB4/INT可作為外部中斷輸入端;RB4~RB7可產(chǎn)生變化中斷;RB6可作為串行編程的時鐘端;RB7可作為串行編程的數(shù)據(jù)端。
RC0~RC7:復(fù)用引腳,為C口雙向數(shù)據(jù)信號線,C口引腳均為多功能復(fù)用引腳。
RC0/T1OS0/T1CK1可選擇TMR1振蕩器輸出或TMR1時鐘輸入;
RC1/T1OS1/CCP2可作為TMR1振蕩器輸入或捕捉器2輸入/比較器輸出/PWH2輸出;
RC2/CCP1可作為捕捉器1輸入/比較器輸出/PWH1輸出;
RC3/SCK/SCL可作為同步串行時鐘輸入/SPI的I2C方式輸入;
RC4/SDI/SDA可作為SPI數(shù)據(jù)輸入(SPI)或數(shù)據(jù)I/O(I2C);
RC6/SDO可作為SPI數(shù)據(jù)輸出(SPI);
RC6/TX/CK可以作為異步發(fā)送或SCI同步時鐘線;
RC7/RX/DT可以作為異步接收或SCI同步數(shù)據(jù)線。
2.2內(nèi)部結(jié)構(gòu)特點
a.高性能CPU
●僅35條單字指令,采用的時鐘頻率為20MHz,指令周期為200ns;
●具有8級深度的硬件堆棧;
●具有中斷能力,有11個中斷源;
●帶有片內(nèi)RC振蕩器的看門狗(WDT);
●具有程序保密位,可防止非法拷貝;
●具有低功耗SLEEP方式,功率低,采用高速CMOSEPROM工藝制造;
●可選擇不同的振蕩器方式;
●工作電壓為3.0V~6.0V。
b.分離的程序和數(shù)據(jù)空間
該PIC器件帶有13位程序存儲器,最大尋址能力為8k×14位,用戶存儲空間(0000~0FFFh)共4k×14位。當(dāng)訪問大于以上地址范圍的物理存儲空間時,可采用滾動循環(huán)訪問方式。
數(shù)據(jù)存儲區(qū)分為每個存儲體Bank0和Bank1,每個存儲體又由通用寄存器和專用寄存器構(gòu)成。當(dāng)狀態(tài)寄存器中的RP0位為0時,選中 Bank0;RP0為1時選中Bank1。每個存儲體最大可以擴(kuò)展到7Eh(128個字節(jié))。在每個存儲體中,專用寄存器被安排在低空間,用SRAM實現(xiàn)的通用寄存器被安排在高地址空間。專用寄存器中含有A/D的寄存器。
c.完善的串行通信接口(SCI)
SCI利用RC6和RC7兩個引腳來作為通信線的二線制串行通信接口。它們可被定義為三種方式:全雙工異步方式、半雙工同步主控方式和半雙工同步從動方式。
SIC部件含有兩個8位的可讀寫狀態(tài)和控制寄存器,分別為發(fā)送和控制寄存器TXSTA、接收和控制寄存器RCSTA。
d.片內(nèi)器件模塊
●有3個定時/計數(shù)器和3個雙向I/O口。
●含有16位捕捉/比較/PWM模塊。其中捕捉器的最大分辨率為12.5ns;而比較器的最大分辨率為200ns;PWM的分辨率為10位。
●帶有5路A/D轉(zhuǎn)換器和A/D中斷功能。
3基于PIC16C73的智能售電系統(tǒng)
筆者在開發(fā)智能電表售電系統(tǒng)時,采用PIC16C73單片機(jī)設(shè)計了一個PIC通信通道來作為遙控器和PC機(jī)間的數(shù)據(jù)通信通道。將紅外遙控器插入通信通道即可與PC機(jī)進(jìn)行數(shù)據(jù)交換。首先,PIC通信通道取紅外線遙控器中的用戶識別碼并送入PC機(jī),由PC機(jī)的數(shù)據(jù)庫管理模塊完成用戶的注冊、注銷和售電等工作;然后,再由PIC通信通道將PC機(jī)的RS232C串行通信接口輸出的用戶識別碼及所售電量送入紅外線遙控制中,最后再由紅外線遙控器將售電量送入智能電表。該智能電表售電系統(tǒng)的功能結(jié)構(gòu)框圖如圖3所示。
3.1PIC通信通道的硬件系統(tǒng)設(shè)計
該智能電表售電系統(tǒng)的PIC通信通道的硬件電路結(jié)構(gòu)如圖4所示。
PC機(jī)與PIC通信通道采用異步串行通信方式,但由于PC機(jī)的RS-232C串行通信接口傳輸?shù)男盘枮镃MOS電平,而PIC16C73的串行通信接口傳輸?shù)男盘枮門TL電平,因而通信通道采用MAX-232芯片來完成信號電平的自動轉(zhuǎn)換;而PIC通信通道與紅外線遙控器則采用并行通信方式進(jìn)行信息傳輸,此時,PIC16C73單片機(jī)使用RB口作為并行I/O口。為了能讓用戶認(rèn)可售電信息,筆者專門設(shè)計了由MC14499芯片來完成7段顯示器的硬件驅(qū)動顯示電路。
3.2PIC通信通道的軟件設(shè)計
為確保PIC單片機(jī)與PC機(jī)之間以及PIC單片機(jī)與紅外線遙控器之間能夠準(zhǔn)確的進(jìn)行信息通信,雙方制定了一個合理的、可行的通信協(xié)議。
a.PIC16C73與PC機(jī)之間的通信協(xié)議
PIC16C73通信波特率為9600bps;通信采用查詢方式,差錯控制采用奇偶校驗法;數(shù)據(jù)的幘格式為1位起止位、8位數(shù)據(jù)位、1位奇偶位、1位停止位;雙方設(shè)置的握手信號如下:
“FFH”:為PC機(jī)請求接收信號;
“01H”:為PC機(jī)接收信號完畢;
b.PIC16C73與紅外線遙控器的通信協(xié)議
PIC16C73與紅外遙控器設(shè)置的握手信號為:
“00H”為紅外線遙控器發(fā)送數(shù)據(jù)準(zhǔn)備就緒;單片機(jī)接收數(shù)據(jù)準(zhǔn)備就緒;
“FFH”為單片機(jī)發(fā)送數(shù)據(jù)準(zhǔn)備就緒;紅外線遙控器接收數(shù)據(jù)準(zhǔn)備就緒;
“$”為數(shù)據(jù)傳送結(jié)束標(biāo)志。
4結(jié)束語
Microchip公司的PIC系列單片機(jī)具有實用、低價、易學(xué)、省電、高速和體積小等特點。該系列單片機(jī)不是單純的功能堆積,而是以多型號來滿足不同層次的需要,并可提供低價的OTP芯片。另外,該系列單片機(jī)還具有低功耗睡眠功能、掉電復(fù)位鎖定、上電復(fù)位電路、看門狗電路等功能,而且外圍器件少、占用空間?。怀杀镜?,保密技術(shù)也十分可靠,可最大限度地保護(hù)開發(fā)者的利益。因此,在工業(yè)控制、儀器儀表、計算機(jī)、家電等諸多領(lǐng)域具有極其廣闊的發(fā)展前景。