深入剖析Microchip PIC16F84A微控制器:特性、應(yīng)用與開發(fā)指南
在電子工程師的工具箱中,微控制器是不可或缺的核心組件。Microchip的PIC16F84A作為一款經(jīng)典的8位微控制器,憑借其高性能、低功耗和豐富的外設(shè)功能,在眾多應(yīng)用領(lǐng)域中得到了廣泛的應(yīng)用。本文將深入剖析PIC16F84A的特性、應(yīng)用場(chǎng)景以及開發(fā)過(guò)程中的關(guān)鍵要點(diǎn),希望能為電子工程師們提供有價(jià)值的參考。
一、PIC16F84A概述
PIC16F84A屬于PIC? 微控制器的中低端系列,采用18引腳封裝,集成了增強(qiáng)型FLASH/EEPROM存儲(chǔ)器,具備高性能的RISC CPU。其主要特點(diǎn)包括:
- 精簡(jiǎn)的指令集:僅需學(xué)習(xí)35條單字指令,除程序分支指令為雙周期外,其余指令均為單周期執(zhí)行,大大提高了執(zhí)行效率。
- 豐富的存儲(chǔ)器資源:擁有1024字的程序存儲(chǔ)器、68字節(jié)的數(shù)據(jù)RAM和64字節(jié)的數(shù)據(jù)EEPROM,滿足不同應(yīng)用場(chǎng)景下的數(shù)據(jù)存儲(chǔ)需求。
- 靈活的外設(shè)功能:具備13個(gè)I/O引腳,可實(shí)現(xiàn)獨(dú)立的方向控制,并支持高電流灌/拉輸出,可直接驅(qū)動(dòng)LED等負(fù)載。此外,還集成了TMR0定時(shí)器/計(jì)數(shù)器、外部中斷、PORTB引腳變化中斷等功能,為系統(tǒng)設(shè)計(jì)提供了更多的靈活性。
- 低功耗設(shè)計(jì):采用CMOS增強(qiáng)型FLASH/EEPROM技術(shù),具有低功耗、高速的特點(diǎn),工作電壓范圍寬(商業(yè)級(jí):2.0V - 5.5V;工業(yè)級(jí):2.0V - 5.5V),適用于對(duì)功耗要求較高的應(yīng)用場(chǎng)景。
二、存儲(chǔ)器組織
PIC16F84A的存儲(chǔ)器分為程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器兩部分,每個(gè)部分都有獨(dú)立的總線,可在同一振蕩周期內(nèi)進(jìn)行訪問(wèn)。
1. 程序存儲(chǔ)器
程序存儲(chǔ)器采用13位程序計(jì)數(shù)器,可尋址8K x 14的程序存儲(chǔ)器空間。對(duì)于PIC16F84A,實(shí)際物理實(shí)現(xiàn)的是前1K x 14(0000h - 03FFh)的地址空間,超出該范圍的地址訪問(wèn)將導(dǎo)致回繞。復(fù)位向量位于0000h,中斷向量位于0004h。
2. 數(shù)據(jù)存儲(chǔ)器
數(shù)據(jù)存儲(chǔ)器分為特殊功能寄存器(SFR)區(qū)域和通用寄存器(GPR)區(qū)域。SFR用于控制設(shè)備的操作,GPR則用于存儲(chǔ)臨時(shí)數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)器采用分頁(yè)機(jī)制,分為兩個(gè)存儲(chǔ)頁(yè)(Bank 0和Bank 1),通過(guò)STATUS寄存器中的RP0位進(jìn)行選擇。
三、數(shù)據(jù)EEPROM存儲(chǔ)器
數(shù)據(jù)EEPROM存儲(chǔ)器支持字節(jié)讀寫操作,寫入時(shí)會(huì)自動(dòng)擦除原有數(shù)據(jù)。該存儲(chǔ)器具有較高的擦寫次數(shù)(典型值為10,000,000次),數(shù)據(jù)保留時(shí)間超過(guò)40年。讀寫操作通過(guò)特殊功能寄存器EECON1、EECON2、EEDATA和EEADR間接尋址實(shí)現(xiàn)。
1. 讀取操作
讀取數(shù)據(jù)EEPROM存儲(chǔ)器時(shí),需先將地址寫入EEADR寄存器,然后設(shè)置EECON1寄存器的RD位,數(shù)據(jù)將在下一個(gè)周期出現(xiàn)在EEDATA寄存器中。
2. 寫入操作
寫入數(shù)據(jù)EEPROM存儲(chǔ)器時(shí),需先將地址和數(shù)據(jù)分別寫入EEADR和EEDATA寄存器,然后按照特定的序列(寫入55h到EECON2,寫入AAh到EECON2,然后設(shè)置WR位)啟動(dòng)寫入操作。為避免意外寫入,建議在寫入過(guò)程中禁用中斷,并在不使用時(shí)將WREN位清零。
四、I/O端口
PIC16F84A的I/O端口包括PORTA和PORTB,部分引腳具有復(fù)用功能,可用于實(shí)現(xiàn)外設(shè)功能。
1. PORTA寄存器
PORTA是一個(gè)5位寬的雙向端口,通過(guò)TRISA寄存器控制引腳的輸入/輸出方向。在電源復(fù)位時(shí),PORTA引腳默認(rèn)為輸入狀態(tài)。
2. PORTB寄存器
PORTB是一個(gè)8位寬的雙向端口,同樣通過(guò)TRISB寄存器控制引腳的輸入/輸出方向。PORTB的每個(gè)引腳都具有弱上拉功能,可通過(guò)OPTION寄存器的RBPU位進(jìn)行控制。此外,PORTB的RB7:RB4引腳具有引腳變化中斷功能,可用于檢測(cè)引腳狀態(tài)的變化。
五、Timer0模塊
Timer0模塊是一個(gè)8位的定時(shí)器/計(jì)數(shù)器,具有以下特點(diǎn):
- 可讀寫操作:可通過(guò)TMR0寄存器進(jìn)行讀寫操作。
- 時(shí)鐘源選擇:可選擇內(nèi)部指令周期時(shí)鐘或外部RA4/T0CKI引腳的時(shí)鐘信號(hào)作為計(jì)數(shù)時(shí)鐘。
- 邊沿選擇:對(duì)于外部時(shí)鐘輸入,可選擇上升沿或下降沿觸發(fā)計(jì)數(shù)。
- 可編程預(yù)分頻器:采用8位可編程預(yù)分頻器,可選擇不同的分頻比。
- 溢出中斷:當(dāng)TMR0寄存器從FFh溢出到00h時(shí),將觸發(fā)溢出中斷。
六、CPU特殊功能
PIC16F84A具備一系列特殊功能,旨在提高系統(tǒng)的可靠性、降低成本、節(jié)省功耗并提供代碼保護(hù)。
1. 配置位
通過(guò)配置位可選擇不同的設(shè)備配置,如代碼保護(hù)、上電定時(shí)器(PWRT)、看門狗定時(shí)器(WDT)和振蕩器模式等。
2. 振蕩器配置
支持四種振蕩器模式:LP(低功耗晶體)、XT(晶體/諧振器)、HS(高速晶體/諧振器)和RC(電阻/電容)。用戶可通過(guò)配置位FOSC1和FOSC0進(jìn)行選擇。
3. 復(fù)位機(jī)制
支持多種復(fù)位方式,包括上電復(fù)位(POR)、MCLR復(fù)位、WDT復(fù)位和中斷喚醒等。不同的復(fù)位方式對(duì)寄存器的影響不同,可通過(guò)STATUS寄存器中的TO和PD位判斷復(fù)位原因。
4. 中斷系統(tǒng)
具有4個(gè)中斷源:外部RB0/INT引腳中斷、TMR0溢出中斷、PORTB引腳變化中斷和數(shù)據(jù)EEPROM寫入完成中斷。中斷控制寄存器(INTCON)用于記錄中斷請(qǐng)求和控制中斷使能。
5. 看門狗定時(shí)器(WDT)
WDT是一個(gè)獨(dú)立的片上RC振蕩器,可在設(shè)備運(yùn)行過(guò)程中提供可靠的復(fù)位機(jī)制。通過(guò)配置位WDTE可永久禁用WDT。
6. 低功耗模式(SLEEP)
通過(guò)執(zhí)行SLEEP指令,設(shè)備可進(jìn)入低功耗模式,此時(shí)振蕩器停止工作,I/O端口保持原有狀態(tài)。設(shè)備可通過(guò)外部復(fù)位、WDT超時(shí)或中斷喚醒。
7. 代碼保護(hù)
通過(guò)設(shè)置代碼保護(hù)位,可防止程序存儲(chǔ)器被非法讀取,保護(hù)用戶的知識(shí)產(chǎn)權(quán)。
8. ID位置
四個(gè)內(nèi)存位置(2000h - 2004h)用于存儲(chǔ)校驗(yàn)和或其他代碼標(biāo)識(shí)號(hào),僅在編程/驗(yàn)證過(guò)程中可讀寫。
9. 在線串行編程(ICSP)
支持在線串行編程,用戶可在應(yīng)用電路中對(duì)微控制器進(jìn)行編程,方便產(chǎn)品的生產(chǎn)和升級(jí)。
七、指令集
PIC16F84A的指令集分為字節(jié)操作、位操作和立即數(shù)/控制操作三類,所有指令均為14位字,除條件測(cè)試為真或程序計(jì)數(shù)器改變的情況外,均在一個(gè)指令周期內(nèi)執(zhí)行。指令集高度正交,具有較高的執(zhí)行效率。
八、開發(fā)支持
Microchip為PIC16F84A提供了豐富的開發(fā)工具,包括集成開發(fā)環(huán)境(IDE)、編譯器、匯編器、鏈接器、模擬器、仿真器、在線調(diào)試器和設(shè)備編程器等,方便工程師進(jìn)行軟件開發(fā)和調(diào)試。
九、電氣特性
1. 絕對(duì)最大額定值
包括環(huán)境溫度、存儲(chǔ)溫度、引腳電壓、總功耗、電流等參數(shù),使用時(shí)需確保不超過(guò)這些額定值,以避免設(shè)備損壞。
2. DC特性
涵蓋電源電壓、RAM數(shù)據(jù)保留電壓、VDD上升速率、電源電流、掉電電流等參數(shù),為電路設(shè)計(jì)提供了重要的參考依據(jù)。
3. AC特性
包括外部時(shí)鐘頻率、振蕩器頻率、指令周期時(shí)間、時(shí)鐘高/低時(shí)間、上升/下降時(shí)間等參數(shù),確保設(shè)備在不同時(shí)鐘頻率下的正常工作。
十、應(yīng)用場(chǎng)景
PIC16F84A由于其高性能、低功耗和豐富的外設(shè)功能,廣泛應(yīng)用于各種領(lǐng)域,如工業(yè)控制、消費(fèi)電子、智能家居、汽車電子等。例如,在工業(yè)控制中,可用于電機(jī)控制、傳感器數(shù)據(jù)采集和處理;在消費(fèi)電子中,可用于智能家電、玩具等產(chǎn)品的控制。
綜上所述,Microchip的PIC16F84A微控制器是一款功能強(qiáng)大、性能穩(wěn)定的8位微控制器。通過(guò)深入了解其特性和應(yīng)用,電子工程師們可以更好地利用這款微控制器進(jìn)行系統(tǒng)設(shè)計(jì),開發(fā)出更加高效、可靠的電子產(chǎn)品。在實(shí)際應(yīng)用中,還需根據(jù)具體需求合理選擇配置位、外設(shè)功能和開發(fā)工具,以充分發(fā)揮PIC16F84A的優(yōu)勢(shì)。你在使用PIC16F84A過(guò)程中遇到過(guò)哪些問(wèn)題?歡迎在評(píng)論區(qū)分享你的經(jīng)驗(yàn)和見解。
-
微控制器
+關(guān)注
關(guān)注
49文章
8672瀏覽量
165293 -
開發(fā)指南
+關(guān)注
關(guān)注
0文章
44瀏覽量
7918 -
PIC16F84A
+關(guān)注
關(guān)注
0文章
6瀏覽量
9474
發(fā)布評(píng)論請(qǐng)先 登錄
深入剖析Microchip PIC16F84A微控制器:特性、應(yīng)用與開發(fā)指南
評(píng)論