PIC16C55X系列8位CMOS微控制器:功能特性與設計應用解析
在電子設計領域,微控制器是眾多項目的核心組件,其性能和特性直接影響著產品的功能和穩定性。PIC16C55X系列作為Microchip公司推出的基于EPROM的8位CMOS微控制器,憑借其高性能、低功耗和豐富的功能,在眾多應用場景中展現出了卓越的優勢。本文將深入探討PIC16C55X系列微控制器的特性、架構、外設功能以及開發支持等方面,為電子工程師在設計過程中提供全面的參考。
文件下載:PIC16C558-04/SO.pdf
一、產品概述
PIC16C55X系列包含PIC16C554、PIC16C557和PIC16C558三款產品,它們屬于PIC16CXX家族,具有低成本、高性能、CMOS全靜態設計等特點。該系列微控制器采用先進的RISC架構,指令集僅包含35條指令,除程序分支指令為雙周期外,其余均為單周期指令(200 ns),工作速度范圍為DC - 20 MHz時鐘輸入,DC - 20 ns指令周期。
1.1 核心特性
- 高性能RISC CPU:僅需學習35條指令,所有單周期指令(除程序分支),提高了指令執行效率。
- 豐富的內存配置:不同型號具有不同的程序內存和數據內存容量,如PIC16C554擁有512 x 14的程序內存和80字節的數據內存,PIC16C557和PIC16C558則擁有2K x 14的程序內存和128字節的數據內存。
- 中斷能力:具備3個中斷源,可處理外部中斷、定時器溢出中斷和端口變化中斷,增強了系統的實時響應能力。
- 特殊功能寄存器:包含16 - 18個特殊功能硬件寄存器,用于控制和配置微控制器的各種功能。
- 硬件堆棧:8級深度的硬件堆棧,方便子程序調用和中斷處理。
- 尋址模式:支持直接、間接和相對尋址模式,提供了靈活的內存訪問方式。
1.2 外設特性
- I/O端口:PIC16C554和PIC16C558擁有13個I/O引腳,PIC16C557擁有22個I/O引腳,每個引腳可獨立控制方向,部分引腳具有上拉電阻和高電流源/吸收能力,可直接驅動LED。
- 定時器:Timer0模塊為8位定時器/計數器,具有8位可編程預分頻器,可選擇內部或外部時鐘源,支持溢出中斷。
二、架構剖析
2.1 哈佛架構
PIC16C55X采用哈佛架構,程序和數據通過獨立的總線從不同的內存中訪問,與傳統的馮·諾依曼架構相比,提高了帶寬。指令操作碼為14位寬,使得所有指令均為單字指令,通過14位寬的程序內存訪問總線在單周期內獲取指令。
2.2 指令流水線
采用兩級指令流水線,將指令獲取和執行過程重疊,除程序分支指令外,所有指令均能在單周期內執行,提高了指令執行效率。
2.3 內存組織
- 程序內存:PIC16C554可尋址512 x 14的片上程序內存,PIC16C557和PIC16C558可尋址2K x 14的程序內存。復位向量位于0000h,中斷向量位于0004h。
- 數據內存:數據內存分為兩個存儲體,包含通用寄存器(GPR)和特殊功能寄存器(SFR)。特殊功能寄存器用于控制和配置微控制器的各種功能,如STATUS寄存器包含算術狀態、復位狀態和數據存儲體選擇位。
三、特殊功能特性
3.1 配置位
配置位位于程序內存位置2007h,可通過編程選擇不同的設備配置,如代碼保護、電源定時器、看門狗定時器和振蕩器選擇等。
3.2 振蕩器配置
支持四種振蕩器選項:LP(低功耗晶體)、XT(晶體/諧振器)、HS(高速晶體/諧振器)和RC(電阻/電容)。用戶可根據應用需求選擇合適的振蕩器模式。
3.3 復位機制
PIC16C55X支持多種復位方式,包括上電復位(POR)、MCLR復位、看門狗定時器復位和從睡眠模式喚醒等。不同的復位方式對寄存器的影響不同,可通過STATUS寄存器中的TO和PD位判斷復位類型。
3.4 中斷系統
具有3個中斷源:外部中斷RB0/INT、TMR0溢出中斷和PORTB變化中斷。中斷控制寄存器(INTCON)記錄中斷請求和使能位,全局中斷使能位GIE可控制所有未屏蔽的中斷。
3.5 看門狗定時器(WDT)
看門狗定時器是一個獨立的片上RC振蕩器,無需外部組件。可通過配置位WDTE永久禁用,在正常操作中,WDT超時會產生設備復位;在睡眠模式下,WDT超時會使設備喚醒并繼續正常操作。
3.6 睡眠模式(SLEEP)
通過執行SLEEP指令進入睡眠模式,此時看門狗定時器清零但繼續運行,PD位清零,TO位置位,振蕩器驅動關閉。設備可通過外部復位、看門狗定時器喚醒或中斷從睡眠模式中喚醒。
3.7 代碼保護
可通過配置代碼保護位對程序內存進行保護,防止非法讀取。
3.8 ID位置
四個內存位置(2000h - 2003h)可用于存儲校驗和或其他代碼標識號,在正常執行期間不可訪問,但在編程/驗證期間可讀可寫。
3.9 在線串行編程
PIC16C55X支持在線串行編程,只需兩根線用于時鐘和數據,三根線用于電源、地和編程電壓,方便用戶在最終應用電路中對微控制器進行編程。
四、指令集
PIC16C55X的指令集分為字節操作、位操作、文字和控制操作三類,所有指令均為14位字,除條件測試為真或程序計數器改變時需要兩個指令周期外,其余指令均在一個指令周期內執行。
4.1 字節操作指令
如ADDWF(將W寄存器和文件寄存器相加)、ANDWF(將W寄存器和文件寄存器進行邏輯與操作)等,可對文件寄存器進行各種算術和邏輯運算。
4.2 位操作指令
如BCF(清除文件寄存器中的位)、BSF(設置文件寄存器中的位)等,可對文件寄存器中的特定位進行操作。
4.3 文字和控制操作指令
如ADDLW(將立即數與W寄存器相加)、CALL(調用子程序)等,可實現數據加載、子程序調用和程序跳轉等功能。
五、開發支持
Microchip為PIC16C55X系列微控制器提供了豐富的開發支持工具,包括集成開發環境(MPLAB IDE)、匯編器(MPASM)、編譯器(MPLAB C17和MPLAB C18)、模擬器(MPLAB SIM)、仿真器(MPLAB ICE 2000和ICEPIC)、在線調試器(MPLAB ICD)和設備編程器(PRO MATE II和PICSTART Plus)等。
5.1 MPLAB IDE
基于Windows的集成開發環境,提供了編輯、編譯、下載和調試等功能,支持多種調試工具,方便用戶進行軟件開發。
5.2 MPASM匯編器
全功能的通用宏匯編器,可生成可重定位目標文件、Intel標準HEX文件、MAP文件和絕對LST文件等,支持用戶自定義宏和條件匯編。
5.3 MPLAB C17和MPLAB C18編譯器
完整的ANSI ‘C’編譯器,提供強大的集成能力和易用性,支持符號信息調試。
5.4 MPLINK對象鏈接器和MPLIB對象庫管理器
MPLINK可將匯編器和編譯器生成的可重定位對象文件進行鏈接,MPLIB可管理預編譯代碼庫,方便代碼的復用和管理。
5.5 MPLAB SIM軟件模擬器
在PC主機環境中模擬PIC系列微控制器的指令執行,支持單步執行、執行到斷點和跟蹤模式,可對數據區域進行檢查和修改。
5.6 MPLAB ICE高性能通用在線仿真器
為產品開發工程師提供完整的微控制器設計工具集,支持編輯、構建、下載和源代碼調試,具有增強的跟蹤、觸發和數據監控功能。
5.7 ICEPIC在線仿真器
低成本的在線仿真器,適用于Microchip的PIC16C5X、PIC16C6X、PIC16C7X和PIC16CXXX系列8位一次性可編程(OTP)微控制器,可在無目標應用電路的情況下進行仿真。
5.8 MPLAB ICD在線調試器
基于FLASH PIC MCUs的低成本運行時開發工具,利用FLASH設備的在線調試功能和Microchip的在線串行編程協議,可從MPLAB IDE的圖形用戶界面進行在線FLASH調試。
5.9 設備編程器
PRO MATE II通用設備編程器和PICSTART Plus入門級開發編程器,可對PIC16C55X系列微控制器進行編程和驗證。
六、電氣規格
6.1 絕對最大額定值
包括環境溫度、存儲溫度、引腳電壓、電源電壓、總功耗、最大電流等參數,使用時需確保不超過這些額定值,以保證設備的正常運行和可靠性。
6.2 DC特性
涵蓋電源電壓、RAM數據保留電壓、VDD上升速率、電源電流、掉電電流、看門狗定時器電流等參數,這些參數受工作電壓、頻率、溫度等因素影響。
6.3 定時參數
包括外部時鐘頻率、周期、高/低時間、上升/下降時間,CLKOUT和I/O定時要求,復位、看門狗定時器、振蕩器啟動定時器和上電定時器的定時要求,以及Timer0時鐘定時要求等。
七、封裝信息
PIC16C55X系列微控制器提供多種封裝選項,如18引腳PDIP、28引腳PDIP、20引腳SSOP、28引腳SSOP、18引腳SOIC、28引腳SOIC、18引腳CERDIP窗口和28引腳CERDIP窗口等。不同封裝的尺寸和引腳定義有所不同,用戶可根據應用需求選擇合適的封裝。
八、應用建議
8.1 代碼移植
如果需要將為PIC16C5X編寫的代碼移植到PIC16C55X,需要注意以下幾點:
- 移除任何程序內存頁選擇操作(PA2、PA1、PA0位)。
- 重新審視任何計算跳轉操作,確保頁位在新方案下設置正確。
- 消除任何數據內存頁切換,重新定義數據變量。
- 驗證所有對STATUS、OPTION和FSR寄存器的寫入操作。
- 將復位向量更改為0000h。
8.2 I/O編程注意事項
- 雙向I/O端口:對I/O端口進行寫操作時,內部會先進行讀操作,因此在對同時定義了輸入和輸出的端口使用BCF和BSF等指令時需謹慎,避免意外覆蓋輸入信號。
- 連續I/O操作:對同一I/O端口進行寫操作后再進行讀操作時,需確保引腳電壓穩定后再執行讀取指令,否則可能讀取到舊的引腳狀態。
8.3 定時器使用注意事項
- 外部時鐘輸入:使用外部時鐘輸入時,需滿足一定的要求,如時鐘信號的高/低時間和周期等,以確保定時器的正常工作。
- 預分頻器切換:切換預分頻器分配時,需按照特定的指令序列執行,以避免意外的設備復位。
九、總結
PIC16C55X系列微控制器以其高性能、低功耗、豐富的功能和靈活的配置選項,為電子工程師提供了一個強大的設計平臺。在實際應用中,工程師可根據具體需求選擇合適的型號和配置,結合豐富的開發支持工具,快速開發出穩定、可靠的產品。同時,在設計過程中需注意代碼移植、I/O編程和定時器使用等方面的問題,以確保系統的正常運行。希望本文能為電子工程師在使用PIC16C55X系列微控制器進行設計時提供有價值的參考。
你認為PIC16C55X系列微控制器在哪些應用場景中能發揮最大優勢呢?歡迎在評論區分享你的看法。
-
微控制器
+關注
關注
49文章
8662瀏覽量
165277 -
設計應用
+關注
關注
0文章
195瀏覽量
5262
發布評論請先 登錄
PIC16C55X系列8位CMOS微控制器:功能特性與設計應用解析
評論