深入解析Microchip PIC16F8X系列微控制器
在電子工程領域,微控制器是眾多項目的核心組件,其性能和特性直接影響著整個系統的表現。今天,我們將深入探討Microchip的PIC16F8X系列微控制器,全面了解它的特點、架構、應用以及開發支持等方面。
文件下載:PIC16LF83-04/P.pdf
一、產品概述
PIC16F8X屬于PIC16CXX家族,是低成本、高性能、CMOS、全靜態的8位微控制器。該系列包含PIC16F83、PIC16F84、PIC16CR83、PIC16CR84等型號,還有擴展電壓范圍的PIC16LF8X和PIC16LCR8X。它采用先進的RISC架構,具有增強的核心功能、八級深堆棧和多個內外部中斷源。與同類型的8位微控制器相比,PIC16F8X通常能實現2:1的代碼壓縮和高達4:1的速度提升(在20 MHz時)。
二、設備類型與特性
2.1 設備類型
根據設備編號,有以下四種類型:
- F型:如PIC16F84,具有Flash程序內存,在標準電壓范圍下工作。
- LF型:如PIC16LF84,有Flash程序內存,可在擴展電壓范圍下工作。
- CR型:如PIC16CR83,采用ROM程序內存,工作于標準電壓范圍。
- LCR型:如PIC16LCR84,具備ROM程序內存,能在擴展電壓范圍運行。
2.2 特性亮點
- Flash設備優勢:Flash設備可擦除和重新編程,且采用低成本塑料封裝,適用于原型開發、試點項目和生產階段。還能通過電路內或設備編程器進行擦除和重新編程。
- QTP和SQTP服務:Microchip提供QTP編程服務,適用于代碼模式穩定且不希望自行編程大量單元的用戶;SQTP服務則可在每個設備的特定位置編程不同的序列號。
- ROM設備特點:部分設備的程序內存為ROM,相比傳統的用戶可編程設備(如EPROM、EEPROM)能節省成本,但ROM設備(PIC16CR8X)的程序內存空間不允許存儲序列化信息,用戶可將其編程到數據EEPROM中。
三、架構剖析
3.1 哈佛架構
PIC16CXX采用哈佛架構,程序和數據從不同的內存中訪問,擁有獨立的程序內存總線和數據內存總線,這提高了帶寬,并且允許指令和8位寬的數據字大小不同。PIC16CXX的操作碼為14位寬,可實現單字指令。
3.2 指令執行
通過兩級流水線,指令的取指和執行重疊,除程序分支外,所有指令都能在一個周期內執行。PIC16F83和PIC16CR83可尋址512 x 14的程序內存,PIC16F84和PIC16CR84可尋址1K x 14的程序內存,且所有程序內存均為內部存儲。
3.3 寄存器與ALU
PIC16CXX包含一個8位的ALU和工作寄存器,ALU能執行算術和布爾函數,操作數通常為工作寄存器(W寄存器)和文件寄存器或立即常量。W寄存器用于ALU操作,不可尋址。ALU的操作可能會影響STATUS寄存器中的Carry(C)、Digit Carry(DC)和Zero(Z)位。
四、內存組織
4.1 程序內存
PIC16FXX的13位程序計數器可尋址8K x 14的程序內存空間。PIC16F83和PIC16CR83實現了前512 x 14(0000h - 01FFh),PIC16F84和PIC16CR84實現了前1K x 14(0000h - 03FFh)。訪問超出物理實現地址的位置會導致回繞。
4.2 數據內存
數據內存分為特殊功能寄存器(SFR)區域和通用寄存器(GPR)區域。SFR控制設備的操作,部分數據內存采用分頁方式,通過STATUS寄存器中的控制位進行銀行選擇。GPR區域允許超過116字節的通用RAM。
五、I/O端口
5.1 PORTA
PORTA是一個5位寬的鎖存器,RA4是施密特觸發器輸入和開漏輸出,其他RA端口引腳具有TTL輸入電平。所有引腳都有數據方向位(TRIS寄存器),可配置為輸入或輸出。
5.2 PORTB
PORTB是一個8位寬的雙向端口,每個引腳都有弱內部上拉電阻,可通過單個控制位開啟。PORTB的四個引腳(RB7:RB4)具有變化中斷功能,可用于喚醒設備。
5.3 I/O編程注意事項
在使用雙向I/O端口時,要注意讀寫操作的順序和引腳狀態的變化。連續對I/O端口進行操作時,要確保引腳電壓穩定后再進行下一次讀取操作,避免讀取到錯誤的狀態。
六、定時器與中斷
6.1 Timer0模塊
Timer0模塊是一個8位的定時器/計數器,具有可讀可寫、8位軟件可編程預分頻器、內部或外部時鐘選擇、溢出中斷等功能。定時器模式通過清除T0CS位選擇,計數器模式通過設置T0CS位選擇。
6.2 中斷系統
PIC16F8X有4個中斷源:外部RB0/INT引腳、TMR0定時器溢出、PORTB<7:4>變化中斷和數據EEPROM寫入完成中斷。中斷控制寄存器(INTCON)記錄中斷請求,并包含全局和單個中斷使能位。
七、特殊功能
7.1 配置位
配置位可用于選擇設備的各種配置,如程序內存代碼保護、數據內存代碼保護、上電定時器使能、看門狗定時器使能和振蕩器選擇等。
7.2 振蕩器配置
PIC16F8X可在四種不同的振蕩器模式下工作:LP(低功耗晶體)、XT(晶體/諧振器)、HS(高速晶體/諧振器)和RC(電阻/電容)。用戶可通過編程兩個配置位(FOSC1和FOSC0)來選擇。
7.3 復位機制
PIC16F8X有多種復位類型,包括上電復位(POR)、MCLR復位、WDT復位等。復位電路具有噪聲濾波器,部分寄存器在不同復位條件下有不同的復位狀態。
7.4 看門狗定時器(WDT)
WDT是一個獨立的片上RC振蕩器,無需外部組件。在正常操作中,WDT超時會產生設備復位;在SLEEP模式下,WDT喚醒會使設備繼續正常操作。WDT的超時周期可通過預分頻器進行調整。
7.5 低功耗模式(SLEEP)
通過執行SLEEP指令,設備可進入低功耗模式。在SLEEP模式下,看門狗定時器被清除,振蕩器驅動關閉,I/O端口保持之前的狀態。設備可通過外部復位、WDT喚醒或中斷事件從SLEEP模式中喚醒。
7.6 代碼保護與ID位置
代碼保護位可防止程序內存被非法讀取,設備在代碼保護狀態下,CPU仍可讀寫數據EEPROM內存。四個內存位置(2000h - 2003h)被指定為ID位置,用于存儲校驗和或其他代碼標識號。
7.7 在線串行編程
PIC16F8X微控制器可在最終應用電路中進行編程,只需兩條線用于時鐘和數據,以及另外三條線用于電源、接地和編程電壓。
八、指令集
PIC16CXX的指令集分為字節操作、位操作、文字和控制操作三類。所有指令通常在一個指令周期內執行,除非條件測試為真或程序計數器發生變化,此時需要兩個指令周期。
九、開發支持
Microchip為PIC16F8X提供了豐富的開發工具,包括PICMASTER實時在線仿真器、ICEPIC低成本在線仿真器、PRO MATE II通用編程器、PICSTART Plus入門級開發系統等,還有MPASM匯編器、MPLAB-SIM軟件模擬器、MPLAB-C17 C編譯器等軟件工具。
十、電氣特性
文檔詳細列出了PIC16F83/84和PIC16CR83/84的絕對最大額定值、DC特性、AC特性等,包括電源電壓范圍、電流消耗、輸入輸出電壓和電流等參數,為工程師在設計電路時提供了重要的參考依據。
Microchip的PIC16F8X系列微控制器以其高性能、低功耗、豐富的功能和良好的開發支持,在眾多應用領域具有廣泛的應用前景。無論是高速汽車和家電電機控制,還是低功耗遠程傳感器、電子鎖、安全設備和智能卡等應用,PIC16F8X都能發揮出色的性能。作為電子工程師,深入了解和掌握這款微控制器的特性和使用方法,將有助于我們設計出更加優秀的電子系統。你在使用PIC16F8X過程中遇到過哪些有趣的問題或挑戰呢?歡迎在評論區分享交流。
-
微控制器
+關注
關注
49文章
8686瀏覽量
165296
發布評論請先 登錄
深入解析Microchip PIC16F8X系列微控制器
評論