深度剖析Microchip PIC16F870/871微控制器:硬件特性與應(yīng)用指南
在嵌入式系統(tǒng)設(shè)計(jì)領(lǐng)域,選擇一款合適的微控制器對于項(xiàng)目的成功至關(guān)重要。Microchip的PIC16F870/871微控制器以其豐富的功能和出色的性能,成為眾多工程師的首選之一。今天,我們就來深入探討這款微控制器的各項(xiàng)特性、功能模塊以及實(shí)際應(yīng)用中的注意事項(xiàng)。
文件下載:PIC16LF870T-I SO.pdf
一、器件概述
PIC16F870和PIC16F871是Microchip推出的兩款8位CMOS FLASH微控制器,分別采用28引腳和40引腳封裝。它們具有高性能RISC CPU,指令集簡潔,僅需學(xué)習(xí)35條單字指令,除程序分支指令為雙周期外,其余均為單周期指令,運(yùn)行速度快,時鐘輸入范圍為DC - 20 MHz,指令周期可達(dá)200 ns。
核心特性
- 高性能RISC CPU:提供高效的指令執(zhí)行能力,減少程序執(zhí)行時間。
- 大容量存儲:擁有2K x 14的FLASH程序存儲器、128 x 8字節(jié)的數(shù)據(jù)存儲器(RAM)和64 x 8字節(jié)的EEPROM數(shù)據(jù)存儲器,滿足不同應(yīng)用的數(shù)據(jù)存儲需求。
- 豐富的中斷能力:PIC16F870有10個中斷源,PIC16F871則多達(dá)11個,可及時響應(yīng)外部事件。
- 低功耗設(shè)計(jì):在不同工作模式下都能保持較低的功耗,如在5V、4 MHz典型條件下電流小于1.6 mA,3V、32 kHz典型條件下為20 μA,待機(jī)電流小于1 μA。
- 靈活的振蕩器選項(xiàng):支持RC、HS、LP、XT等多種振蕩器模式,可根據(jù)不同應(yīng)用場景選擇合適的時鐘源。
- 強(qiáng)大的編程與調(diào)試功能:支持在線串行編程(ICSP)和在線調(diào)試,可通過兩根引腳實(shí)現(xiàn),還具備單5V在線串行編程能力。
二、存儲器組織
程序存儲器
PIC16F870/871的程序存儲器為13位程序計(jì)數(shù)器可尋址的8K x 14空間,但實(shí)際只有2K x 14的FLASH程序存儲器。復(fù)位向量位于0000h,中斷向量位于0004h。當(dāng)訪問超出物理實(shí)現(xiàn)地址時,會發(fā)生回繞。
數(shù)據(jù)存儲器
數(shù)據(jù)存儲器分為多個存儲體,由STATUS寄存器的RP1和RP0位選擇。每個存儲體最大為7Fh(128字節(jié)),低位用于特殊功能寄存器,高位為通用寄存器。特殊功能寄存器又分為核心(CPU)和外設(shè)兩類,控制著設(shè)備的各種操作。
三、I/O端口
PORTA
6位雙向端口,對應(yīng)數(shù)據(jù)方向寄存器為TRISA。部分引腳復(fù)用為模擬輸入和VREF輸入,RA4/T0CKI引腳為施密特觸發(fā)輸入和開漏輸出。使用時需注意,上電復(fù)位時這些引腳配置為模擬輸入,讀取為'0',使用模擬輸入時需確保TRISA寄存器相應(yīng)位為1。
PORTB
8位雙向端口,對應(yīng)數(shù)據(jù)方向寄存器為TRISB。部分引腳復(fù)用為低壓編程功能,每個引腳有弱上拉電阻,可通過OPTION_REG寄存器的RBPU位控制。RB7:RB4引腳具有電平變化中斷功能,可用于喚醒設(shè)備。
PORTC
8位雙向端口,對應(yīng)數(shù)據(jù)方向寄存器為TRISC。部分引腳復(fù)用為多個外設(shè)功能,引腳具有施密特觸發(fā)輸入緩沖器。啟用外設(shè)功能時,需注意TRIS位的設(shè)置,避免影響引腳功能。
PORTD和PORTE(僅PIC16F871)
PORTD為8位端口,可配置為并行從端口;PORTE有三個引腳,可配置為輸入或輸出,也可作為并行從端口的控制輸入。
并行從端口(PSP,僅PIC16F871)
當(dāng)TRISE寄存器的PSPMODE位設(shè)置時,PORTD可作為8位并行從端口,通過RE0/RD、RE1/WR和RE2/CS控制輸入,可直接與8位微處理器數(shù)據(jù)總線接口。
四、定時器模塊
Timer0
8位定時器/計(jì)數(shù)器,具有8位可編程預(yù)分頻器,可選擇內(nèi)部或外部時鐘源,溢出時產(chǎn)生中斷。預(yù)分頻器與看門狗定時器共享,可通過OPTION_REG寄存器配置。
Timer1
16位定時器/計(jì)數(shù)器,由TMR1H和TMR1L兩個8位寄存器組成??晒ぷ髟诙〞r器或計(jì)數(shù)器模式,通過T1CON寄存器控制。在異步計(jì)數(shù)器模式下可在睡眠模式下運(yùn)行并產(chǎn)生中斷喚醒處理器。
Timer2
8位定時器,帶有預(yù)分頻器和后分頻器,可作為CCP模塊PWM模式的時基。TMR2寄存器可讀可寫,復(fù)位時清零。
五、捕獲/比較/PWM模塊(CCP)
每個CCP模塊包含一個16位寄存器,可作為16位捕獲寄存器、16位比較寄存器或PWM主/從占空比寄存器。
捕獲模式
在捕獲模式下,CCPR1H:CCPR1L捕獲TMR1寄存器的16位值,根據(jù)CCP1CON寄存器的配置,可在不同的邊沿觸發(fā)捕獲操作。
比較模式
將16位CCPR1寄存器的值與TMR1寄存器對的值進(jìn)行比較,根據(jù)CCP1CON寄存器的配置,在匹配時對RC2/CCP1引腳進(jìn)行相應(yīng)操作,并設(shè)置中斷標(biāo)志位CCP1IF。
PWM模式
在PWM模式下,CCP1引腳可產(chǎn)生最高10位分辨率的PWM輸出。PWM周期由PR2寄存器指定,占空比由CCPR1L寄存器和CCP1CON<5:4>位指定。
六、通用同步異步收發(fā)器(USART)
USART模塊可配置為全雙工異步系統(tǒng)或半雙工同步系統(tǒng),支持9位地址檢測的多處理器通信。
異步模式
使用標(biāo)準(zhǔn)NRZ格式,通過波特率發(fā)生器產(chǎn)生時鐘,可選擇高速或低速模式。發(fā)送和接收功能獨(dú)立,支持8位或9位數(shù)據(jù)傳輸。
同步主模式
數(shù)據(jù)半雙工傳輸,由處理器在CK線發(fā)送主時鐘。發(fā)送和接收操作通過TXEN和CREN、SREN控制。
同步從模式
移位時鐘由外部提供,可在睡眠模式下傳輸或接收數(shù)據(jù)。
七、模數(shù)轉(zhuǎn)換器(A/D)模塊
A/D轉(zhuǎn)換器模塊具有5個(28引腳設(shè)備)或8個(其他設(shè)備)模擬輸入通道,可產(chǎn)生10位數(shù)字結(jié)果。通過ADCON0和ADCON1寄存器控制操作和配置端口引腳。支持在睡眠模式下操作,但需將A/D時鐘源設(shè)置為內(nèi)部RC振蕩器。
八、特殊特性
振蕩器選擇
支持LP、XT、HS、RC四種振蕩器模式,可通過配置位FOSC1和FOSC0選擇。不同模式適用于不同的應(yīng)用場景,如RC模式適用于對時序要求不高的應(yīng)用,可節(jié)省成本;LP模式則可節(jié)省功耗。
復(fù)位機(jī)制
包括上電復(fù)位(POR)、MCLR復(fù)位、看門狗定時器復(fù)位(WDT)和欠壓復(fù)位(BOR)。不同的復(fù)位情況會對寄存器產(chǎn)生不同的影響,可通過STATUS寄存器的(overline{TO})和(overline{PD})位判斷復(fù)位類型。
中斷系統(tǒng)
具有多達(dá)14個中斷源,通過INTCON、PIR1和PIR2寄存器記錄中斷請求,通過GIE、PEIE和各中斷使能位控制中斷。中斷發(fā)生時,GIE位清零,返回地址壓入堆棧,PC加載為0004h。
看門狗定時器(WDT)
獨(dú)立的片上RC振蕩器,可在時鐘停止時運(yùn)行。正常運(yùn)行時超時產(chǎn)生復(fù)位,睡眠模式下超時喚醒設(shè)備??赏ㄟ^配置位WDTEN永久禁用。
睡眠模式
執(zhí)行SLEEP指令進(jìn)入睡眠模式,此時看門狗定時器清零但繼續(xù)運(yùn)行,振蕩器驅(qū)動關(guān)閉,I/O端口保持狀態(tài)。可通過外部復(fù)位、看門狗定時器喚醒或中斷喚醒。
代碼保護(hù)
具有EEPROM數(shù)據(jù)存儲器和FLASH程序存儲器的代碼保護(hù)機(jī)制,可通過配置位控制。代碼保護(hù)啟用后,只有全擦除設(shè)備才能禁用。
在線串行編程(ICSP)和低壓ICSP編程
支持在線串行編程,可在最終應(yīng)用電路中對微控制器進(jìn)行編程。低壓ICSP編程模式允許使用正常工作電壓的VDD源進(jìn)行編程。
九、開發(fā)支持
Microchip為PIC16F870/871提供了豐富的開發(fā)工具,包括集成開發(fā)環(huán)境(MPLAB IDE)、匯編器(MPASM)、編譯器(MPLAB C17、MPLAB C18、MPLAB C30)、模擬器(MPLAB SIM、MPLAB SIM30)、仿真器(MPLAB ICE 2000、MPLAB ICE 4000)、在線調(diào)試器(MPLAB ICD 2)和設(shè)備編程器(PRO MATE II、PICSTART Plus)等,方便工程師進(jìn)行開發(fā)和調(diào)試。
十、總結(jié)
PIC16F870/871微控制器以其豐富的功能、低功耗和靈活的配置選項(xiàng),適用于各種嵌入式應(yīng)用場景。在實(shí)際設(shè)計(jì)中,工程師需要根據(jù)具體需求合理選擇振蕩器模式、配置寄存器、處理中斷和進(jìn)行編程調(diào)試。同時,要注意各項(xiàng)電氣特性和時序要求,確保系統(tǒng)的穩(wěn)定性和可靠性。希望本文能為電子工程師在使用PIC16F870/871微控制器時提供有價值的參考。
-
微控制器
+關(guān)注
關(guān)注
48文章
8427瀏覽量
164884
發(fā)布評論請先 登錄
PIC16F871
8位微控制器 -MCU ?PIC16F1503-I/SL
PIC18F16Q20 Curiosity Nano開發(fā)板技術(shù)解析與應(yīng)用指南
深度剖析Microchip PIC16F870/871微控制器:硬件特性與應(yīng)用指南
評論