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