探索PIC16F627A/628A/648A微控制器:性能、特性與應(yīng)用全解析
在電子設(shè)計(jì)領(lǐng)域,選擇合適的微控制器是項(xiàng)目成功的關(guān)鍵。Microchip的PIC16F627A/628A/648A系列微控制器憑借其豐富的特性和出色的性能,成為眾多工程師的首選。今天,我們就來深入探討這款微控制器的方方面面。
文件下載:PIC16F627A-I ML.pdf
一、產(chǎn)品概述
PIC16F627A/628A/648A是18引腳的Flash型8位CMOS微控制器,采用nanoWatt技術(shù),具有低功耗和高性能的特點(diǎn)。它屬于PIC16F627A/628A/648A家族,適用于各種低成本、高性能的應(yīng)用場景,如電池充電器、低功耗遠(yuǎn)程傳感器等。
1.1 主要特性
- 高性能RISC CPU:工作速度從DC - 20 MHz,具備中斷能力、8級(jí)深度硬件堆棧,支持直接、間接和相對尋址模式,擁有35條單字指令,除分支指令外,所有指令單周期執(zhí)行。
- 特殊微控制器特性:提供內(nèi)部和外部振蕩器選項(xiàng),包括工廠校準(zhǔn)精度為±1%的內(nèi)部4 MHz振蕩器、低功耗內(nèi)部48 kHz振蕩器,支持外部晶體和諧振器;具備節(jié)能睡眠模式、可編程PORTB弱上拉、復(fù)用主清除/輸入引腳、獨(dú)立振蕩器的看門狗定時(shí)器、低電壓編程、在線串行編程、可編程代碼保護(hù)、欠壓復(fù)位、上電復(fù)位、上電定時(shí)器和振蕩器啟動(dòng)定時(shí)器等功能;工作電壓范圍寬(2.0 - 5.5V),適用于工業(yè)和擴(kuò)展溫度范圍;具有高耐久性的Flash/EEPROM單元,F(xiàn)lash寫入耐久性達(dá)100,000次,EEPROM寫入耐久性達(dá)1,000,000次,數(shù)據(jù)保留40年。
- 低功耗特性:待機(jī)電流典型值為100 nA @ 2.0V,工作電流在不同頻率下表現(xiàn)出色,如32 kHz、2.0V時(shí)典型值為12 μA,1 MHz、2.0V時(shí)典型值為120 μA;看門狗定時(shí)器電流典型值為1 μA @ 2.0V,Timer1振蕩器電流典型值為1.2 μA @ 32 kHz、2.0V;具備雙速內(nèi)部振蕩器,可在4 MHz和48 kHz之間運(yùn)行時(shí)選擇,從睡眠模式喚醒典型時(shí)間為4 μs @ 3.0V。
- 外設(shè)特性:擁有16個(gè)I/O引腳,可獨(dú)立控制方向,具備高電流灌/源能力,可直接驅(qū)動(dòng)LED;集成模擬比較器模塊,包含兩個(gè)模擬比較器、可編程片上電壓參考(VREF)模塊,可選擇內(nèi)部或外部參考,比較器輸出可外部訪問;具備Timer0(8位定時(shí)器/計(jì)數(shù)器,帶8位可編程預(yù)分頻器)、Timer1(16位定時(shí)器/計(jì)數(shù)器,具備外部晶體/時(shí)鐘能力)、Timer2(8位定時(shí)器/計(jì)數(shù)器,帶8位周期寄存器、預(yù)分頻器和后分頻器);擁有捕獲、比較、PWM模塊,支持16位捕獲/比較和10位PWM;具備可尋址通用同步/異步接收器/發(fā)送器USART/SCI。
1.2 不同型號(hào)差異
| 設(shè)備 | 程序內(nèi)存Flash(字) | 數(shù)據(jù)內(nèi)存 | I/O | CCP(PWM) | USART | 比較器 | 定時(shí)器8/16位 | |
|---|---|---|---|---|---|---|---|---|
| SRAM(字節(jié)) | EEPROM(字節(jié)) | |||||||
| PIC16F627A | 1024 | 224 | 128 | 16 | 1 | Y | 2 | 2/1 |
| PIC16F628A | 2048 | 224 | 128 | 16 | 1 | Y | 2 | 2/1 |
| PIC16F648A | 4096 | 256 | 256 | 16 | 1 | Y | 2 | 2/1 |
二、架構(gòu)概述
PIC16F627A/628A/648A采用哈佛架構(gòu),程序和數(shù)據(jù)通過獨(dú)立的總線從不同的內(nèi)存中訪問,提高了帶寬。指令操作碼為14位寬,所有單字指令可在單周期內(nèi)執(zhí)行(分支指令除外)。該系列可直接或間接尋址寄存器文件或數(shù)據(jù)內(nèi)存,特殊功能寄存器(SFR)映射在數(shù)據(jù)內(nèi)存中,指令集正交對稱,編程簡單高效。
2.1 時(shí)鐘方案與指令周期
時(shí)鐘輸入(RA7/OSC1/CLKIN引腳)內(nèi)部除以4,生成四個(gè)非重疊的正交時(shí)鐘Q1、Q2、Q3和Q4。程序計(jì)數(shù)器(PC)在Q1時(shí)遞增,指令在Q4從程序內(nèi)存中提取并鎖存到指令寄存器,在接下來的Q1 - Q4周期內(nèi)進(jìn)行解碼和執(zhí)行。
2.2 指令流程與流水線
一個(gè)指令周期由四個(gè)Q周期組成,指令提取和執(zhí)行采用流水線方式,提取需要一個(gè)指令周期,解碼和執(zhí)行需要另一個(gè)指令周期。由于流水線的存在,每個(gè)指令實(shí)際上在一個(gè)周期內(nèi)執(zhí)行。如果指令導(dǎo)致程序計(jì)數(shù)器改變(如GOTO),則需要兩個(gè)周期完成指令。
三、內(nèi)存組織
3.1 程序內(nèi)存組織
PIC16F627A/628A/648A具有13位程序計(jì)數(shù)器,可尋址8K x 14的程序內(nèi)存空間。不同型號(hào)實(shí)際實(shí)現(xiàn)的內(nèi)存空間不同,PIC16F627A為1K x 14(0000h - 03FFh),PIC16F628A為2K x 14(0000h - 07FFh),PIC16F648A為4K x 14(0000h - 0FFFh)。訪問超出這些邊界的位置將導(dǎo)致在相應(yīng)的內(nèi)存空間內(nèi)回繞。復(fù)位向量位于0000h,中斷向量位于0004h。
3.2 數(shù)據(jù)內(nèi)存組織
數(shù)據(jù)內(nèi)存分為四個(gè)存儲(chǔ)體,包含通用寄存器(GPRs)和特殊功能寄存器(SFRs)。SFRs位于每個(gè)存儲(chǔ)體的前32個(gè)位置,每個(gè)存儲(chǔ)體都有作為靜態(tài)RAM實(shí)現(xiàn)的通用寄存器。不同型號(hào)在各存儲(chǔ)體中的通用寄存器范圍有所不同。
3.3 特殊功能寄存器
SFRs用于CPU和外設(shè)功能,控制設(shè)備的期望操作。這些寄存器可分為核心和外設(shè)兩組,與“核心”功能相關(guān)的SFRs在本節(jié)描述,與外設(shè)功能相關(guān)的SFRs在相應(yīng)的外設(shè)功能部分描述。重要的SFRs包括狀態(tài)寄存器(STATUS)、選項(xiàng)寄存器(OPTION)、中斷控制寄存器(INTCON)等,它們各自具有不同的功能和位定義。
四、I/O端口
PIC16F627A/628A/648A有PORTA和PORTB兩個(gè)端口,部分引腳與外設(shè)功能復(fù)用。
4.1 PORTA和TRISA寄存器
PORTA是8位寬的鎖存器,部分引腳具有特殊功能。RA4是施密特觸發(fā)器輸入和開漏輸出,與T0CKI時(shí)鐘輸入復(fù)用;RA5是施密特觸發(fā)器輸入,無輸出驅(qū)動(dòng)器;其他RA端口引腳具有施密特觸發(fā)器輸入電平和全CMOS輸出驅(qū)動(dòng)器。TRISA寄存器控制RA引腳的方向,寫入PORTA寄存器會(huì)將值寫入端口鎖存器,讀取則讀取引腳狀態(tài)。
4.2 PORTB和TRISB寄存器
PORTB是8位寬的雙向端口,TRISB寄存器控制其方向。PORTB與外部中斷、USART、CCP模塊和TMR1時(shí)鐘輸入/輸出復(fù)用。每個(gè)PORTB引腳具有典型值約為200 μA的弱內(nèi)部上拉,可通過單個(gè)控制位開啟或關(guān)閉。PORTB的四個(gè)引腳(RB<7:4>)具有引腳變化中斷功能,可用于喚醒設(shè)備從睡眠模式。
4.3 I/O編程注意事項(xiàng)
雙向I/O端口的寫操作內(nèi)部為讀 - 修改 - 寫操作,使用BCF和BSF等指令時(shí)需謹(jǐn)慎,避免意外覆蓋輸入引腳的值。連續(xù)對I/O端口進(jìn)行寫 - 讀操作時(shí),需確保引腳電壓穩(wěn)定,可使用NOP指令分隔。
五、定時(shí)器模塊
5.1 Timer0模塊
Timer0是8位定時(shí)器/計(jì)數(shù)器,具有讀寫能力、8位軟件可編程預(yù)分頻器,可選擇內(nèi)部或外部時(shí)鐘源,溢出時(shí)產(chǎn)生中斷。預(yù)分頻器可在Timer0模塊和看門狗定時(shí)器之間共享,通過PSA位控制分配。
5.2 Timer1模塊
Timer1是16位定時(shí)器/計(jì)數(shù)器,由兩個(gè)8位寄存器(TMR1H和TMR1L)組成,可工作在定時(shí)器或計(jì)數(shù)器模式,通過TMR1CS位選擇。定時(shí)器可通過TMR1ON位啟用或禁用,還具有內(nèi)部“復(fù)位輸入”,可由CCP模塊觸發(fā)。
5.3 Timer2模塊
Timer2是8位定時(shí)器,帶有預(yù)分頻器和后分頻器,可作為CCP模塊PWM模式的時(shí)基。TMR2寄存器可讀可寫,在設(shè)備復(fù)位時(shí)清零。輸入時(shí)鐘(FOSC/4)有1:1、1:4或1:16的預(yù)分頻選項(xiàng),通過T2CKPS<1:0>位選擇。
六、捕獲/比較/PWM(CCP)模塊
CCP模塊包含一個(gè)16位寄存器,可作為16位捕獲寄存器、16位比較寄存器或PWM主/從占空比寄存器。
6.1 捕獲模式
在捕獲模式下,CCPR1H:CCPR1L在RB3/CCP1引腳發(fā)生特定事件時(shí)捕獲TMR1寄存器的16位值。事件可選擇為每個(gè)下降沿、每個(gè)上升沿、每4個(gè)上升沿或每16個(gè)上升沿,通過CCP1M<3:0>位選擇。捕獲發(fā)生時(shí),中斷請求標(biāo)志位CCP1IF置位,需在軟件中清除。
6.2 比較模式
在比較模式下,16位CCPR1寄存器值與TMR1寄存器對的值不斷比較,匹配時(shí)RB3/CCP1引腳根據(jù)CCP1M<3:0>位的值進(jìn)行相應(yīng)操作,同時(shí)中斷標(biāo)志位CCP1IF置位。
6.3 PWM模式
在PWM模式下,CCP1引腳可產(chǎn)生高達(dá)10位分辨率的PWM輸出。PWM周期由PR2寄存器指定,占空比由CCPR1L寄存器和CCP1CON<5:4>位指定。
七、比較器模塊
比較器模塊包含兩個(gè)模擬比較器,輸入與RA0 - RA3引腳復(fù)用,可使用內(nèi)部或外部參考信號(hào)。CMCON寄存器控制比較器輸入和輸出復(fù)用器,有八種操作模式。比較器輸出通過CMCON寄存器讀取,也可直接輸出到RA3和RA4 I/O引腳。比較器中斷在輸出值變化時(shí)觸發(fā),需在軟件中維護(hù)輸出位狀態(tài)以確定實(shí)際變化。
八、電壓參考模塊
電壓參考模塊由16抽頭電阻梯形網(wǎng)絡(luò)組成,提供可選的電壓參考。VRCON寄存器控制參考操作,可輸出16個(gè)不同的電壓電平,分為低范圍和高范圍。設(shè)置VREF輸出時(shí)需考慮設(shè)置時(shí)間,可通過特定公式計(jì)算輸出電壓。
九、通用同步異步接收器發(fā)送器(USART)模塊
USART可配置為全雙工異步系統(tǒng)或半雙工同步系統(tǒng),支持異步、同步 - 主模式和同步 - 從模式。波特率發(fā)生器(BRG)支持異步和同步模式,通過SPBRG寄存器控制。
9.1 異步模式
在異步模式下,USART使用標(biāo)準(zhǔn)的非歸零(NRZ)格式,發(fā)送和接收LSb優(yōu)先。波特率發(fā)生器根據(jù)BRGH位產(chǎn)生x16或x64的位移位率時(shí)鐘。發(fā)送器和接收器功能獨(dú)立,但使用相同的數(shù)據(jù)格式和波特率。
9.2 同步主模式
在同步主模式下,數(shù)據(jù)以半雙工方式傳輸,發(fā)送時(shí)禁止接收,反之亦然。主模式下,處理器在CK線上發(fā)送主時(shí)鐘。
9.3 同步從模式
同步從模式與主模式的區(qū)別在于,移位時(shí)鐘由外部提供,允許設(shè)備在睡眠模式下傳輸或接收數(shù)據(jù)。
十、數(shù)據(jù)EEPROM內(nèi)存
EEPROM數(shù)據(jù)內(nèi)存在正常操作期間可讀可寫,通過特殊功能寄存器(SFRs)間接尋址。包括EECON1、EECON2(非物理實(shí)現(xiàn)寄存器)、EEDATA和EEADR四個(gè)SFRs。EEPROM數(shù)據(jù)內(nèi)存支持字節(jié)讀寫,寫入時(shí)自動(dòng)擦除并寫入新數(shù)據(jù),具有高擦除/寫入周期。
十一、CPU特殊功能
11.1 配置位
配置位可編程或不編程,用于選擇各種設(shè)備配置,映射在程序內(nèi)存位置2007h。包括Flash程序內(nèi)存代碼保護(hù)位(CP)、數(shù)據(jù)代碼保護(hù)位(CPD)、低電壓編程使能位(LVP)、欠壓復(fù)位使能位(BOREN)等。
11.2 振蕩器配置
PIC16F627A/628A/648A可在八種不同的振蕩器選項(xiàng)下工作,通過配置位(FOSC2 - FOSC0)選擇,包括LP、XT、HS、RC、INTOSC和EC模式。
11.3 復(fù)位
設(shè)備可區(qū)分多種復(fù)位類型,包括上電復(fù)位(POR)、MCLR復(fù)位、看門狗定時(shí)器復(fù)位(WDT)、欠壓復(fù)位(BOR)等。不同復(fù)位情況下,部分寄存器不受影響,部分寄存器復(fù)位到“復(fù)位狀態(tài)”。
11.4 中斷
PIC16F627A/628A/648A有10個(gè)中斷源,包括外部中斷RB0/INT、TMR0溢出中斷、PORTB變化中斷等。中斷控制寄存器(INTCON)記錄中斷請求,全局中斷使能位(GIE)控制所有未屏蔽中斷的啟用或禁用。
11.5 看門狗定時(shí)器(WDT)
看門狗定時(shí)器是一個(gè)獨(dú)立的片上RC振蕩器,無需外部組件。可通過配置位WDTE永久禁用,正常操作時(shí)超時(shí)產(chǎn)生設(shè)備復(fù)位,睡眠模式下超時(shí)喚醒設(shè)備。
11.6 掉電模式(睡眠)
通過執(zhí)行SLEEP指令進(jìn)入掉電模式,此時(shí)看門狗定時(shí)器(如果啟用)清零但繼續(xù)運(yùn)行,PD位清零,TO位置位,振蕩器驅(qū)動(dòng)關(guān)閉,I/O端口保持睡眠前狀態(tài)??赏ㄟ^外部復(fù)位、看門狗定時(shí)器喚醒或中斷喚醒設(shè)備。
11.7 代碼保護(hù)
代碼保護(hù)位清零時(shí),程序內(nèi)存內(nèi)容讀取為‘0’,只有批量擦除功能可關(guān)閉代碼保護(hù),同時(shí)擦除整個(gè)數(shù)據(jù)EEPROM和Flash程序內(nèi)存。
11.8 用戶ID位置
四個(gè)內(nèi)存位置(2000h - 2003h)用作用戶ID位置,可存儲(chǔ)校驗(yàn)和或其他代碼標(biāo)識(shí)號(hào),正常執(zhí)行期間不可訪問,編程/驗(yàn)證期間可讀可寫。
11.9 在線串行編程(ICSP)
PIC16F627A/628A/648A微控制器可在最終應(yīng)用電路中進(jìn)行串行編程,只需兩根時(shí)鐘和數(shù)據(jù)線,以及三根電源線。通過特定操作將設(shè)備置于編程/驗(yàn)證模式,進(jìn)行程序數(shù)據(jù)的加載和讀取。
11.10 低電壓編程
配置字的LVP位啟用低電壓編程,允許使用5V電源通過ICSP對微控制器進(jìn)行編程。該模式下,RB4/PGM引腳專用于編程功能,不再作為通用I/O引腳。
11.11 在線調(diào)試器
使用特殊的28引腳PIC16F648A - ICD設(shè)備進(jìn)行在線調(diào)試,支持對PIC16F627A/628A/648A的調(diào)試。調(diào)試時(shí)部分資源不可用于通用用途。
十二、指令集總結(jié)
PIC16F627A/628A/648A的每條指令是14位字,分為操作碼和操作數(shù)。指令集分為字節(jié)操作、位操作、文字和控制操作三類,除條件測試為真或程序計(jì)數(shù)器改變的情況外,所有指令在一個(gè)指令周期內(nèi)執(zhí)行。
十三、開發(fā)支持
Microchip為PIC微控制器和dsPIC數(shù)字信號(hào)控制器提供了全方位的軟件和硬件開發(fā)工具,包括集成開發(fā)環(huán)境(MPLAB IDE軟件)、編譯器/匯編器/鏈接器、模擬器、仿真器、在線調(diào)試器、設(shè)備編程器以及低成本演示/開發(fā)板、評估套件和入門套件等。
十四、電氣規(guī)格
14.1 絕對最大額定值
包括環(huán)境溫度、存儲(chǔ)溫度、電壓、功耗、電流等參數(shù)的限制,超出這些限制可能導(dǎo)致設(shè)備永久損壞。
14.2 DC特性
不同型號(hào)和溫度范圍下,設(shè)備的電源電壓、RAM數(shù)據(jù)保留電壓、欠壓復(fù)位電壓等參數(shù)有所不同。還給出了不同振蕩器模式下的電源電流、功率下降基電流、外設(shè)模塊電流等數(shù)據(jù)。
14.3 定時(shí)參數(shù)
包括外部時(shí)鐘頻率、周期、指令周期時(shí)間、時(shí)鐘輸出和I/O定時(shí)要求等參數(shù),這些參數(shù)是設(shè)計(jì)時(shí)的重要參考。
十五、總結(jié)
PIC16F627A/628A/648A微控制器以其高性能、低功耗、豐富的外設(shè)功能和良好的開發(fā)支持,為電子工程師提供了一個(gè)強(qiáng)大而靈活的解決方案。無論是在電池供電
-
微控制器
+關(guān)注
關(guān)注
48文章
8491瀏覽量
165084 -
電子設(shè)計(jì)
+關(guān)注
關(guān)注
42文章
2067瀏覽量
49886
發(fā)布評論請先 登錄
需要編程PIC16F628A
如何將PIC-16F84A的代碼遷移到PIC-16F628A
為什么PIC16F628A程序在微控制器上不工作?
采用納瓦技術(shù)的8位CMOS閃存單片機(jī) PIC16F627A/
PIC16F62X-PIC16F627A/628A/648A
PIC16F628A的面包板模塊說明
PIC18 PIN (16F628A) 微控制器開發(fā)板
探索PIC16F627A/628A/648A微控制器:性能、特性與應(yīng)用全解析
評論