深入解析Microchip PIC16F5X系列8位CMOS微控制器
在電子設(shè)計(jì)領(lǐng)域,選擇一款合適的微控制器至關(guān)重要。Microchip的PIC16F5X系列8位CMOS微控制器以其低成本、高性能和豐富的特性,成為眾多工程師的首選。今天,我們就來深入了解一下這款微控制器。
文件下載:PIC16F54T-I/SO.pdf
一、產(chǎn)品概述
PIC16F5X是一系列低成本、高性能的8位全靜態(tài)Flash基CMOS微控制器。它采用RISC架構(gòu),僅有33條單字/單周期指令(除程序分支為雙周期外),性能遠(yuǎn)超同價(jià)位競品。12位寬的指令具有高度對稱性,相比同類8位微控制器,代碼壓縮比可達(dá)2:1,大大減少了開發(fā)時(shí)間。
該系列產(chǎn)品適用于多種應(yīng)用場景,從高速汽車和家電電機(jī)控制,到低功耗遠(yuǎn)程發(fā)射器/接收器、指向設(shè)備和電信處理器等。其Flash技術(shù)便于快速定制應(yīng)用程序,小尺寸封裝適合空間受限的應(yīng)用。此外,低成本、低功耗、高性能、易用性和I/O靈活性等特點(diǎn),使其在一些以往未考慮使用微控制器的領(lǐng)域也能發(fā)揮作用。
產(chǎn)品型號對比
| 特性 | PIC16F54 | PIC16F57 | PIC16F59 |
|---|---|---|---|
| 最大工作頻率 | 20 MHz | 20 MHz | 20 MHz |
| Flash程序存儲(chǔ)器(x12字) | 512 | 2K | 2K |
| RAM數(shù)據(jù)存儲(chǔ)器(字節(jié)) | 25 | 72 | 134 |
| 定時(shí)器模塊 | TMR0 | TMR0 | TMR0 |
| I/O引腳 | 12 | 20 | 32 |
| 指令數(shù)量 | 33 | 33 | 33 |
| 封裝形式 | 18 - 引腳DIP、SOIC;20 - 引腳SSOP | 28 - 引腳DIP、SOIC;28 - 引腳SSOP | 40 - 引腳DIP、44 - 引腳TQFP |
二、架構(gòu)概述
哈佛架構(gòu)優(yōu)勢
PIC16F5X采用哈佛架構(gòu),程序和數(shù)據(jù)通過獨(dú)立總線訪問,與傳統(tǒng)馮·諾伊曼架構(gòu)相比,提高了帶寬。12位寬的指令使所有指令均為單字指令,12位寬的程序存儲(chǔ)器訪問總線可在單周期內(nèi)獲取指令。兩級流水線設(shè)計(jì)使指令的獲取和執(zhí)行重疊,除程序分支外,所有33條指令均在單周期內(nèi)執(zhí)行。
寄存器與ALU
PIC16F5X可直接或間接尋址寄存器文件和數(shù)據(jù)存儲(chǔ)器,所有特殊功能寄存器(SFR),包括程序計(jì)數(shù)器,都映射在數(shù)據(jù)存儲(chǔ)器中。其指令集高度正交,操作簡單高效,學(xué)習(xí)曲線短。此外,它包含一個(gè)8位ALU和工作寄存器,可執(zhí)行算術(shù)和布爾運(yùn)算,運(yùn)算結(jié)果可能影響狀態(tài)寄存器中的C、DC和Z位。
三、存儲(chǔ)器組織
程序存儲(chǔ)器
PIC16F54的程序計(jì)數(shù)器(PC)為9位,可尋址512 x 12的程序存儲(chǔ)器空間;PIC16F57和PIC16F59的PC為11位,可尋址2K x 12的程序存儲(chǔ)器空間。訪問超出物理地址的位置會(huì)導(dǎo)致回繞。復(fù)位向量在PIC16F54中位于1FFh,在PIC16F57和PIC16F59中位于7FFh。
數(shù)據(jù)存儲(chǔ)器
數(shù)據(jù)存儲(chǔ)器由寄存器或RAM字節(jié)組成,分為特殊功能寄存器(SFR)和通用寄存器(GPR)。不同型號的寄存器文件組成有所不同,PIC16F54包含7個(gè)SFR和25個(gè)GPR,PIC16F57包含8個(gè)SFR、8個(gè)GPR和64個(gè)可通過銀行機(jī)制尋址的額外GPR,PIC16F59包含10個(gè)SFR、6個(gè)GPR和128個(gè)可通過銀行機(jī)制尋址的額外GPR。
特殊功能寄存器
SFR用于控制設(shè)備的操作,包括TMR0寄存器、程序計(jì)數(shù)器、狀態(tài)寄存器、I/O寄存器和文件選擇寄存器等。狀態(tài)寄存器包含ALU的算術(shù)狀態(tài)、復(fù)位狀態(tài)和程序存儲(chǔ)器的頁面預(yù)選位;選項(xiàng)寄存器用于配置Timer0/WDT預(yù)分頻器和Timer0。
四、振蕩器配置
PIC16F5X可在四種不同的振蕩器模式下工作,通過編程兩個(gè)配置位(FOSC1:FOSC0)選擇:LP(低功耗晶體)、XT(晶體/諧振器)、HS(高速晶體/諧振器)和RC(電阻/電容)。
晶體振蕩器
在XT、LP或HS模式下,需將晶體或陶瓷諧振器連接到OSC1/CLKIN和OSC2/CLKOUT引腳以建立振蕩。使用時(shí)需注意選擇合適的電容和電阻,并參考制造商的建議。
RC振蕩器
對于對精確計(jì)時(shí)要求不高的應(yīng)用,可選擇RC振蕩器。其振蕩頻率受電源電壓、電阻和電容值以及工作溫度等因素影響,不同封裝類型的引腳框架電容差異也會(huì)影響頻率。
五、復(fù)位機(jī)制
PIC16F5X可通過多種方式復(fù)位,包括上電復(fù)位(POR)、MCLR復(fù)位、MCLR喚醒復(fù)位、WDT復(fù)位和WDT喚醒復(fù)位。不同的復(fù)位條件會(huì)影響PC和狀態(tài)寄存器的狀態(tài),可通過狀態(tài)寄存器中的(overline{TO})和(overline{PD})位確定復(fù)位的性質(zhì)。
上電復(fù)位
芯片內(nèi)置上電復(fù)位電路,大多數(shù)上電情況下可提供內(nèi)部芯片復(fù)位。若VDD上電過慢,可能需要外部RC電路來實(shí)現(xiàn)更長的POR延遲時(shí)間。
設(shè)備復(fù)位定時(shí)器
設(shè)備復(fù)位定時(shí)器(DRT)提供約18 ms的復(fù)位超時(shí)時(shí)間,確保VDD上升到最小值以上,并使所選振蕩器穩(wěn)定。該定時(shí)器基于內(nèi)部RC振蕩器工作,可減少外部RC網(wǎng)絡(luò)的使用,降低成本。
欠壓復(fù)位
當(dāng)設(shè)備電源(VDD)下降到最小值以下但未降至零,然后恢復(fù)時(shí),需要進(jìn)行欠壓復(fù)位。可通過外部欠壓保護(hù)電路實(shí)現(xiàn)。
六、I/O端口
I/O寄存器可在程序控制下讀寫,復(fù)位時(shí)所有I/O端口均定義為輸入。不同型號的I/O端口數(shù)量和功能有所不同,PORTA為4位I/O寄存器,PORTB為8位I/O寄存器,PORTC、PORTD和PORTE在不同型號中的功能也有所差異。
TRIS寄存器
TRIS寄存器用于控制輸出驅(qū)動(dòng)器,寫入‘1’使對應(yīng)輸出驅(qū)動(dòng)器處于高阻抗(輸入)模式,寫入‘0’使輸出數(shù)據(jù)鎖存器的內(nèi)容輸出到所選引腳,啟用輸出緩沖器。
I/O編程注意事項(xiàng)
在使用I/O端口時(shí),需注意一些指令的內(nèi)部操作可能會(huì)影響端口狀態(tài)。例如,BCF和BSF指令會(huì)先讀取整個(gè)端口,執(zhí)行位操作后再重寫結(jié)果,可能會(huì)覆蓋雙向I/O引腳的輸入信號。此外,連續(xù)的寫和讀操作需要確保引腳電壓穩(wěn)定,避免讀取到舊狀態(tài)。
七、Timer0模塊
Timer0模塊具有8位定時(shí)器/計(jì)數(shù)器寄存器TMR0、8位軟件可編程預(yù)分頻器,可選擇內(nèi)部或外部時(shí)鐘源,并可選擇外部時(shí)鐘的邊沿。
定時(shí)器模式
通過清除T0CS位選擇定時(shí)器模式,Timer0模塊將在每個(gè)指令周期(無預(yù)分頻器)遞增。寫入TMR0寄存器會(huì)抑制接下來兩個(gè)周期的遞增,可通過寫入調(diào)整值來解決。
計(jì)數(shù)器模式
通過設(shè)置T0CS位選擇計(jì)數(shù)器模式,Timer0將在T0CKI引腳的上升或下降沿遞增,具體取決于T0SE位。
預(yù)分頻器
預(yù)分頻器可分配給Timer0模塊或看門狗定時(shí)器(WDT),但不能同時(shí)使用。通過PSA和PS<2:0>位控制預(yù)分頻器的分配和分頻比。
八、CPU特殊功能
配置位
配置位可用于選擇各種設(shè)備配置,包括振蕩器類型、看門狗定時(shí)器啟用和代碼保護(hù)等。
看門狗定時(shí)器
看門狗定時(shí)器(WDT)是一個(gè)獨(dú)立的片上RC振蕩器,即使主時(shí)鐘停止,它仍能運(yùn)行??赏ㄟ^配置位WDTE永久禁用WDT。WDT的超時(shí)周期可通過預(yù)分頻器調(diào)整,最長可達(dá)約2.3秒。
低功耗模式
通過執(zhí)行SLEEP指令可進(jìn)入低功耗模式,此時(shí)看門狗定時(shí)器(若啟用)將被清除但繼續(xù)運(yùn)行,振蕩器驅(qū)動(dòng)關(guān)閉,I/O端口保持之前的狀態(tài)。可通過外部復(fù)位或看門狗定時(shí)器超時(shí)喚醒設(shè)備。
代碼保護(hù)
啟用代碼保護(hù)后,除0x00 - 0x3F的程序存儲(chǔ)器位置外,其他位置讀取均為‘0’。用戶ID位置和配置字可在代碼保護(hù)啟用后進(jìn)行編程。
在線串行編程
PIC16F5X微控制器可在最終應(yīng)用電路中進(jìn)行串行編程,只需兩根時(shí)鐘和數(shù)據(jù)線,以及三根電源線。這允許制造商在產(chǎn)品發(fā)貨前對微控制器進(jìn)行編程,實(shí)現(xiàn)最新固件或定制固件的加載。
九、指令集
PIC16F5X的指令集分為字節(jié)操作、位操作、字面量和控制操作。所有指令通常在一個(gè)指令周期內(nèi)執(zhí)行,除非條件測試為真或程序計(jì)數(shù)器發(fā)生改變,此時(shí)需要兩個(gè)指令周期。
指令示例
以ADDWF指令為例,它用于將W寄存器和指定文件寄存器相加,結(jié)果可存儲(chǔ)在W寄存器或文件寄存器中。其他常見指令如ANDWF、CLRF、COMF等,都有各自的功能和操作方式。
十、開發(fā)支持
Microchip為PIC16F5X系列提供了豐富的開發(fā)工具,包括集成開發(fā)環(huán)境(MPLAB IDE)、匯編器、編譯器、鏈接器、模擬器、仿真器、在線調(diào)試器和設(shè)備編程器等。
MPLAB IDE
MPLAB IDE是一個(gè)基于Windows操作系統(tǒng)的應(yīng)用程序,提供統(tǒng)一的圖形界面,可集成各種調(diào)試工具,支持源代碼編輯、匯編/編譯、下載和調(diào)試等功能。
其他工具
MPASM匯編器可生成可重定位的目標(biāo)文件、Intel標(biāo)準(zhǔn)HEX文件等;MPLAB C18和MPLAB C30 C編譯器提供強(qiáng)大的集成能力和代碼優(yōu)化;MPLINK對象鏈接器和MPLIB對象庫管理器可有效管理代碼庫;MPLAB SIM軟件模擬器可在PC上模擬微控制器的指令執(zhí)行,方便代碼開發(fā)和調(diào)試。
十一、電氣規(guī)格
絕對最大額定值
不同型號的PIC16F5X在環(huán)境溫度、電源電壓、引腳電壓、功耗和電流等方面有不同的絕對最大額定值。使用時(shí)需注意避免超出這些限制,以免造成設(shè)備損壞。
DC特性
包括電源電壓、RAM數(shù)據(jù)保留電壓、電源電流和功耗電流等特性,這些特性受工作電壓、頻率、溫度等因素影響。
定時(shí)參數(shù)
涵蓋外部時(shí)鐘頻率、指令周期時(shí)間、時(shí)鐘輸入的高低時(shí)間和上升/下降時(shí)間等參數(shù),這些參數(shù)對于確保設(shè)備的正常運(yùn)行至關(guān)重要。
十二、封裝信息
PIC16F5X系列提供多種封裝形式,如18 - 引腳PDIP、SOIC,20 - 引腳SSOP,28 - 引腳PDIP、SOIC、SSOP,40 - 引腳PDIP和44 - 引腳TQFP等。每個(gè)封裝都有詳細(xì)的尺寸和引腳布局信息,方便工程師進(jìn)行設(shè)計(jì)和布局。
綜上所述,Microchip的PIC16F5X系列微控制器憑借其出色的性能、豐富的功能和完善的開發(fā)支持,為電子工程師提供了一個(gè)強(qiáng)大而可靠的選擇。無論是初學(xué)者還是有經(jīng)驗(yàn)的工程師,都能利用其特性開發(fā)出高效、穩(wěn)定的電子系統(tǒng)。你在使用PIC16F5X系列微控制器時(shí)遇到過哪些問題?又是如何解決的呢?歡迎在評論區(qū)分享你的經(jīng)驗(yàn)和見解。
-
微控制器
+關(guān)注
關(guān)注
49文章
8678瀏覽量
165294 -
microchip
+關(guān)注
關(guān)注
53文章
1665瀏覽量
121060
發(fā)布評論請先 登錄
深入解析Microchip PIC16F5X系列8位CMOS微控制器
評論