PIC16F818/819微控制器深度剖析:特性、應(yīng)用與設(shè)計(jì)要點(diǎn)
在電子設(shè)計(jì)的領(lǐng)域中,選擇合適的微控制器是實(shí)現(xiàn)項(xiàng)目成功的關(guān)鍵一步。Microchip公司推出的PIC16F818/819微控制器憑借其出色的性能和豐富的特性,在眾多應(yīng)用場(chǎng)景中展現(xiàn)出了強(qiáng)大的競(jìng)爭(zhēng)力。今天,我們就來(lái)深入探究一下這款微控制器的特點(diǎn)、應(yīng)用以及設(shè)計(jì)過(guò)程中需要注意的要點(diǎn)。
文件下載:PIC16LF819T-I ML.pdf
一、器件概述
PIC16F818/819屬于PIC? 中低端系列器件,兩款器件在閃存程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器和數(shù)據(jù)EEPROM的容量上有所差異。PIC16F819擁有更大的內(nèi)存容量,它有2K x 14的程序閃存、256 x 8的數(shù)據(jù)存儲(chǔ)器和256 x 8的數(shù)據(jù)EEPROM,而PIC16F818的相應(yīng)容量分別為1K x 14、128 x 8和128 x 8。
獨(dú)特特性
這兩款微控制器具備一些PIC16產(chǎn)品線的新特性,在實(shí)際應(yīng)用中能帶來(lái)諸多便利。
- 內(nèi)部RC振蕩器:具有8種可選頻率,涵蓋31.25 kHz至8 MHz,可通過(guò)配置位將其配置為系統(tǒng)時(shí)鐘。這一特性使得在一些對(duì)時(shí)鐘精度要求不是特別苛刻的應(yīng)用中,無(wú)需額外的外部時(shí)鐘電路,簡(jiǎn)化了設(shè)計(jì),降低了成本。
- 低功耗Timer1模塊:電流消耗從之前PIC16器件的20 ?A 降低到典型值1.8 ?A(32 kHz at 2V),非常適合用于實(shí)時(shí)時(shí)鐘應(yīng)用,能有效延長(zhǎng)電池供電設(shè)備的續(xù)航時(shí)間。
- 豐富的振蕩器選擇:提供了8種不同的振蕩器模式,如LP(低功耗晶體)、XT(晶體/諧振器)、HS(高速晶體/諧振器)等,還可通過(guò)I/O引腳配置為時(shí)鐘輸出或I/O功能。這使得工程師可以根據(jù)具體應(yīng)用需求,靈活選擇合適的振蕩模式,以滿足不同的性能和功耗要求。
二、內(nèi)存組織
PIC16F818/819的內(nèi)存分為程序內(nèi)存和數(shù)據(jù)內(nèi)存兩個(gè)部分,每個(gè)部分都有獨(dú)立的總線,可在同一振蕩周期內(nèi)進(jìn)行訪問(wèn)。數(shù)據(jù)內(nèi)存又可進(jìn)一步細(xì)分為通用RAM和特殊功能寄存器(SFRs)。
程序內(nèi)存組織
PIC16F818/819具備13位的程序計(jì)數(shù)器,可尋址8K x 14的程序內(nèi)存空間。不過(guò),兩款器件實(shí)際實(shí)現(xiàn)的物理地址范圍不同,PIC16F818為0000h - 03FFh,PIC16F819為0000h - 07FFh。當(dāng)訪問(wèn)超出物理實(shí)現(xiàn)地址的位置時(shí),會(huì)發(fā)生回繞。
數(shù)據(jù)內(nèi)存組織
數(shù)據(jù)內(nèi)存被劃分為多個(gè)存儲(chǔ)體,每個(gè)存儲(chǔ)體最多可擴(kuò)展到7Fh(128字節(jié))。其低位部分保留給特殊功能寄存器,上方則是實(shí)現(xiàn)為靜態(tài)RAM的通用寄存器。部分常用的SFRs會(huì)在不同存儲(chǔ)體中鏡像,以減少代碼量并實(shí)現(xiàn)快速訪問(wèn)。
三、振蕩器配置
振蕩器類型
PIC16F818/819支持8種不同的振蕩器模式,可通過(guò)編程三個(gè)配置位(FOSC2:FOSC0)來(lái)選擇。這些模式包括晶體振蕩模式(LP、XT、HS)、外部RC振蕩模式(RC、RCIO)、內(nèi)部振蕩模式(INTIO1、INTIO2)和外部時(shí)鐘模式(ECIO)。
晶體振蕩模式
在XT、LP或HS模式下,需將晶體或陶瓷諧振器連接到OSC1/CLKI和OSC2/CLKO引腳以建立振蕩。選擇合適的電容值對(duì)于晶體振蕩器的穩(wěn)定運(yùn)行至關(guān)重要,不同的振蕩模式和頻率所需的電容值不同,具體可參考文檔中的推薦值。不過(guò)要注意,使用串聯(lián)切割晶體可能會(huì)導(dǎo)致頻率超出制造商的規(guī)格范圍,因此建議使用并聯(lián)切割晶體。
外部時(shí)鐘輸入
ECIO振蕩模式要求將外部時(shí)鐘源連接到OSC1引腳,這種模式在Power-on Reset或退出Sleep模式后無(wú)需振蕩器啟動(dòng)時(shí)間。在該模式下,OSC2引腳可作為額外的通用I/O引腳使用。
RC振蕩模式
對(duì)于對(duì)定時(shí)精度要求不高的應(yīng)用,“RC”和“RCIO”模式是不錯(cuò)的選擇,它們能帶來(lái)額外的成本節(jié)省。不過(guò),RC振蕩器的頻率受多種因素影響,如電源電壓、電阻(REXT)和電容(CEXT)值、工作溫度以及制造工藝差異等。在使用時(shí),要根據(jù)具體情況選擇合適的REXT和CEXT值,并考慮到這些因素對(duì)頻率的影響。
內(nèi)部振蕩器塊
內(nèi)部振蕩器塊能生成兩種不同的時(shí)鐘信號(hào),可作為系統(tǒng)的時(shí)鐘源,這能消除對(duì)OSC1和/或OSC2引腳上外部振蕩器電路的需求。主輸出(INTOSC)是一個(gè)8 MHz的時(shí)鐘源,還可驅(qū)動(dòng)INTOSC后分頻器,提供從125 kHz到4 MHz的一系列時(shí)鐘頻率。內(nèi)部RC振蕩器(INTRC)則提供31.25 kHz的輸出。通過(guò)配置OSCCON寄存器的IRCF位,可以選擇時(shí)鐘源的頻率。
四、I/O端口
PIC16F818/819的部分I/O端口引腳具有復(fù)用功能,可用于外設(shè)特性。使用時(shí)需注意,當(dāng)啟用某個(gè)外設(shè)時(shí),對(duì)應(yīng)的引腳可能無(wú)法再作為通用I/O引腳使用。
PORTA和TRISA寄存器
PORTA是一個(gè)8位的雙向端口,對(duì)應(yīng)的方向寄存器是TRISA。通過(guò)設(shè)置TRISA位,可以將對(duì)應(yīng)的PORTA引腳配置為輸入或輸出。在Power-on Reset時(shí),PORTA<4:0>引腳會(huì)被配置為模擬輸入并讀取為‘0’。讀取PORTA寄存器可獲取引腳狀態(tài),而寫入操作則會(huì)寫入端口鎖存器。
PORTB和TRISB寄存器
PORTB同樣是8位雙向端口,對(duì)應(yīng)的方向寄存器是TRISB。每個(gè)PORTB引腳都有一個(gè)內(nèi)部弱上拉,可通過(guò)清除OPTION_REG<7>位來(lái)開啟所有上拉。PORTB的4個(gè)引腳(RB7:RB4)具有電平變化中斷功能,可用于喚醒設(shè)備從Sleep模式。使用該功能時(shí),建議用于按鍵按下喚醒操作或僅將PORTB用于電平變化中斷功能,不建議進(jìn)行輪詢操作。
五、定時(shí)器模塊
Timer0模塊
Timer0是一個(gè)8位的定時(shí)器/計(jì)數(shù)器,具有可讀寫、8位軟件可編程預(yù)分頻器、內(nèi)部或外部時(shí)鐘選擇、溢出中斷等功能。通過(guò)OPTION_REG寄存器可控制其操作模式,可選擇定時(shí)器模式或計(jì)數(shù)器模式。預(yù)分頻器與看門狗定時(shí)器共享,需注意分配時(shí)的相互影響。
Timer1模塊
Timer1是一個(gè)16位的定時(shí)器/計(jì)數(shù)器,由兩個(gè)8位寄存器(TMR1H和TMR1L)組成,可讀可寫。它可以在定時(shí)器、同步計(jì)數(shù)器和異步計(jì)數(shù)器三種模式下工作,通過(guò)T1CON寄存器的TMR1CS位控制工作模式。Timer1還可提供實(shí)時(shí)時(shí)鐘(RTC)功能,在添加外部低頻振蕩器(如32.768 kHz晶體)后,能實(shí)現(xiàn)精確的計(jì)時(shí),適用于對(duì)時(shí)間精度要求較高的應(yīng)用場(chǎng)景。
Timer2模塊
Timer2是一個(gè)8位的定時(shí)器,帶有預(yù)分頻器和后分頻器,可作為CCP1模塊PWM模式的時(shí)基。TMR2寄存器可讀可寫,在設(shè)備復(fù)位時(shí)會(huì)被清零。通過(guò)設(shè)置預(yù)分頻器和后分頻器,可以調(diào)節(jié)定時(shí)器的計(jì)數(shù)速度和輸出頻率。
六、捕獲/比較/PWM(CCP)模塊
CCP模塊包含一個(gè)16位的寄存器,可作為16位捕獲寄存器、16位比較寄存器或PWM主/從占空比寄存器。不同的模式使用不同的定時(shí)器資源,捕獲和比較模式使用Timer1,PWM模式使用Timer2。
捕獲模式
在捕獲模式下,CCPR1H:CCPR1L會(huì)在CCP1引腳發(fā)生特定事件(如上升沿、下降沿等)時(shí)捕獲TMR1寄存器的16位值。要注意將CCP1引腳配置為輸入,并確保Timer1在定時(shí)器或同步計(jì)數(shù)器模式下運(yùn)行。
比較模式
在比較模式下,16位的CCPR1寄存器值會(huì)不斷與TMR1寄存器對(duì)的值進(jìn)行比較。當(dāng)匹配發(fā)生時(shí),根據(jù)CCP1CON<3:0>位的值,CCP1引腳會(huì)有不同的動(dòng)作,如置高、置低或保持不變。同時(shí),會(huì)設(shè)置中斷標(biāo)志位CCP1IF。
PWM模式
在PWM模式下,CCP1引腳可產(chǎn)生最高10位分辨率的PWM輸出。通過(guò)設(shè)置PR2寄存器可指定PWM周期,通過(guò)設(shè)置CCPR1L寄存器和CCP1CON<5:4>位可指定PWM占空比。
七、同步串行端口(SSP)模塊
SSP模塊可用于與其他外設(shè)或微控制器設(shè)備進(jìn)行通信,支持SPI和I2C兩種模式。
SPI模式
SPI模式允許8位數(shù)據(jù)的同步發(fā)送和接收。在初始化SPI時(shí),需要通過(guò)編程SSPCON寄存器和SSPSTAT寄存器的控制位來(lái)指定主模式或從模式、時(shí)鐘極性、時(shí)鐘邊沿、時(shí)鐘速率和從選擇模式等參數(shù)。要注意在從模式下,啟用模塊之前,時(shí)鐘線的狀態(tài)必須與所選的空閑狀態(tài)極性匹配。
I2C模式
I2C模式下,SSP模塊可實(shí)現(xiàn)所有從機(jī)功能,支持7位和10位尋址。通過(guò)設(shè)置SSP Enable bit(SSPCON<5>)可啟用串行端口,并將SDA和SCL引腳配置為串行端口引腳。在通信過(guò)程中,要確保對(duì)應(yīng)的TRIS位設(shè)置正確,以保證通信的正常進(jìn)行。
八、模數(shù)轉(zhuǎn)換器(A/D)模塊
A/D模塊有五個(gè)輸入通道,可將模擬輸入信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的10位數(shù)字量。它具有軟件可選的高、低電壓參考輸入,可選擇VDD、VSS、RA2或RA3的某種組合。
轉(zhuǎn)換操作
進(jìn)行A/D轉(zhuǎn)換時(shí),需先配置A/D模塊,包括選擇模擬引腳/電壓參考、選擇輸入通道、選擇轉(zhuǎn)換時(shí)鐘和開啟A/D模塊等步驟。在轉(zhuǎn)換前,要確保所選通道完成數(shù)據(jù)采集,以保證轉(zhuǎn)換結(jié)果的準(zhǔn)確性。轉(zhuǎn)換完成后,結(jié)果會(huì)加載到ADRESH:ADRESL寄存器對(duì)中。
睡眠模式下的操作
A/D模塊可以在睡眠模式下工作,但需要將A/D轉(zhuǎn)換時(shí)鐘設(shè)置為內(nèi)部RC振蕩器。在這種情況下,執(zhí)行SLEEP指令后,A/D轉(zhuǎn)換會(huì)在等待一個(gè)指令周期后開始,轉(zhuǎn)換完成后會(huì)自動(dòng)關(guān)閉A/D模塊(除非啟用了A/D中斷)。
九、CPU特殊特性
復(fù)位機(jī)制
PIC16F818/819具有多種復(fù)位類型,包括Power-on Reset(POR)、MCLR Reset、WDT Reset、Brown-out Reset(BOR)等。不同的復(fù)位類型對(duì)不同的寄存器有不同的影響,可通過(guò)Status寄存器的(overline{TO})和(overline{PD})位來(lái)判斷復(fù)位的原因。
中斷機(jī)制
該微控制器最多有九個(gè)中斷源,通過(guò)INTCON寄存器記錄各個(gè)中斷請(qǐng)求,并通過(guò)全局中斷使能位(GIE)和各個(gè)中斷的使能位來(lái)控制中斷的開啟和關(guān)閉。在處理中斷時(shí),要注意及時(shí)清除相應(yīng)的中斷標(biāo)志位,以避免遞歸中斷的發(fā)生。
看門狗定時(shí)器(WDT)
WDT由INTRC振蕩器驅(qū)動(dòng),當(dāng)啟用時(shí),INTRC振蕩器也會(huì)被啟用。在正常操作時(shí),WDT超時(shí)會(huì)導(dǎo)致設(shè)備復(fù)位;在睡眠模式下,WDT超時(shí)會(huì)喚醒設(shè)備??赏ㄟ^(guò)配置位WDTEN永久禁用WDT。
睡眠模式
通過(guò)執(zhí)行SLEEP指令可進(jìn)入睡眠模式,此時(shí)看門狗定時(shí)器會(huì)被清零但繼續(xù)運(yùn)行,(overline{PD})位會(huì)被清零,(overline{TO})位會(huì)被置位,振蕩器驅(qū)動(dòng)會(huì)關(guān)閉。在睡眠模式下,為了實(shí)現(xiàn)最低功耗,要將所有I/O引腳置于VDD或VSS電平,關(guān)閉不必要的外設(shè)功能。設(shè)備可通過(guò)外部復(fù)位、WDT喚醒或中斷從睡眠模式中喚醒。
十、電氣特性
在設(shè)計(jì)過(guò)程中,必須關(guān)注PIC16F818/819的電氣特性,以確保設(shè)備的正常運(yùn)行。
絕對(duì)最大額定值
文檔中給出了該器件的絕對(duì)最大額定值,包括環(huán)境溫度、存儲(chǔ)溫度、引腳電壓、功耗、電流等參數(shù)。在使用時(shí),不能超過(guò)這些額定值,否則可能會(huì)對(duì)器件造成永久性損壞。
DC特性
DC特性包括電源電壓、電源電流、內(nèi)部RC精度、輸入輸出電壓、電流等參數(shù)。了解這些參數(shù)有助于工程師在不同的工作條件下合理選擇電源和負(fù)載,以滿足器件的性能要求。
時(shí)序要求
文檔還詳細(xì)給出了各種信號(hào)的時(shí)序要求,如外部時(shí)鐘時(shí)序、CLKO和I/O時(shí)序、復(fù)位時(shí)序、定時(shí)器外部時(shí)鐘時(shí)序、SPI和I2C時(shí)序等。在設(shè)計(jì)電路和編寫代碼時(shí),必須嚴(yán)格按照這些時(shí)序要求進(jìn)行,以確保各個(gè)模塊之間的正常通信和協(xié)同工作。
十一、封裝信息
PIC16F818/819提供了多種封裝形式,如18 - Lead PDIP、18 - Lead SOIC、20 - Lead SSOP和28 - Lead QFN等。不同的封裝形式適用于不同的應(yīng)用場(chǎng)景和電路板布局要求,工程師可以根據(jù)具體需求進(jìn)行選擇。同時(shí),要注意不同封裝形式的引腳定義和尺寸規(guī)格,以確保正確進(jìn)行焊接和安裝。
十二、應(yīng)用場(chǎng)景與設(shè)計(jì)建議
應(yīng)用場(chǎng)景
PIC16F818/819憑借其低功耗、豐富的外設(shè)功能和多種振蕩器模式,適用于多種應(yīng)用場(chǎng)景,如智能家居設(shè)備、工業(yè)控制、傳感器節(jié)點(diǎn)、電池供電設(shè)備等。在智能家居設(shè)備中,可利用其內(nèi)部RC振蕩器和低功耗特性,實(shí)現(xiàn)長(zhǎng)時(shí)間的電池供電;在工業(yè)控制中,可利用其豐富的定時(shí)器和通信接口,實(shí)現(xiàn)精確的控制和數(shù)據(jù)傳輸。
設(shè)計(jì)建議
- 電源設(shè)計(jì):根據(jù)應(yīng)用的功耗要求和工作模式,選擇合適的電源電路。在睡眠模式下,要盡量降低功耗,可關(guān)閉不必要的外設(shè)和時(shí)鐘源。
- 振蕩電路設(shè)計(jì):根據(jù)具體應(yīng)用需求選擇合適的振蕩器模式和外部元件。使用晶體振蕩器時(shí),要注意選擇合適的電容值,并進(jìn)行適當(dāng)?shù)牟季?,以確保振蕩器的穩(wěn)定運(yùn)行。
- 引腳配置:合理規(guī)劃I/O引腳的使用,避免引腳沖突和干擾。在使用復(fù)用引腳時(shí),要根據(jù)實(shí)際需求進(jìn)行正確的配置,并注意外設(shè)功能對(duì)引腳的影響。
- 電磁兼容性(EMC)設(shè)計(jì):在電路板設(shè)計(jì)時(shí),要考慮電磁兼容性問(wèn)題,采取適當(dāng)?shù)拇胧绾侠聿季?、使用濾波元件等,以減少電磁干擾,提高系統(tǒng)的穩(wěn)定性。
PIC16F818/819微控制器是一款功能強(qiáng)大、性能穩(wěn)定的器件,在眾多應(yīng)用領(lǐng)域具有廣闊的應(yīng)用前景。通過(guò)深入了解其特性、應(yīng)用和設(shè)計(jì)要點(diǎn),工程師可以充分發(fā)揮其優(yōu)勢(shì),設(shè)計(jì)出更加優(yōu)秀的電子系統(tǒng)。在實(shí)際設(shè)計(jì)過(guò)程中,還需要結(jié)合具體的應(yīng)用需求和設(shè)計(jì)要求,靈活運(yùn)用各種特性和功能,以實(shí)現(xiàn)最佳的設(shè)計(jì)效果。
-
微控制器
+關(guān)注
關(guān)注
48文章
8367瀏覽量
164494
發(fā)布評(píng)論請(qǐng)先 登錄
如何使用PIC微控制器旋轉(zhuǎn)步進(jìn)電機(jī)
8位CMOS微控制器PIC16F631相關(guān)資料分享
8位CMOS微控制器PIC16F687相關(guān)資料分享
PIC16F818/PIC16F819 pdf datash
PIC16F1946和PIC16F1947微控制器與LCD驅(qū)動(dòng)器數(shù)據(jù)手冊(cè)免費(fèi)下載
8位微控制器 -MCU ?PIC16F1503-I/SL
PIC18 PIN (16F628A) 微控制器開發(fā)板
PIC16F818/819微控制器深度剖析:特性、應(yīng)用與設(shè)計(jì)要點(diǎn)
評(píng)論