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