探索AT87F52:8位微控制器的性能與應(yīng)用
在嵌入式控制領(lǐng)域,AT87F52這款低功耗、高性能的CMOS 8位微控制器憑借其豐富的功能和出色的性能,成為眾多工程師的選擇。本文將深入剖析AT87F52的特性、引腳功能、寄存器配置以及工作模式,為電子工程師在設(shè)計中提供全面的參考。
文件下載:AT87F52-24AC.pdf
一、AT87F52概述
AT87F52具有8K字節(jié)的QuickFlash可編程只讀存儲器,采用Atmel高密度非易失性存儲技術(shù),與行業(yè)標(biāo)準(zhǔn)的80C51和80C52指令集及引腳兼容。它將8位CPU與QuickFlash集成在單芯片上,為嵌入式控制應(yīng)用提供了高靈活性和成本效益的解決方案。不過需要注意的是,該產(chǎn)品不推薦用于新設(shè)計,建議使用AT89S52。
(一)主要特性
- 內(nèi)存與性能:擁有8K字節(jié)的用戶可編程QuickFlash內(nèi)存,256 x 8位內(nèi)部RAM,可滿足不同應(yīng)用的存儲需求。其全靜態(tài)操作頻率范圍為0 Hz至24 MHz,能適應(yīng)多種工作場景。
- 外設(shè)資源:具備32個可編程I/O線、三個16位定時器/計數(shù)器、八個中斷源和可編程串行通道,為系統(tǒng)的控制和通信提供了豐富的資源。
- 低功耗模式:支持低功耗空閑和掉電模式,可有效降低系統(tǒng)功耗,延長設(shè)備的續(xù)航時間。
二、引腳功能詳解
(一)電源與接地引腳
- (V_{CC}):供電電壓引腳,為芯片提供所需的電源。
- GND:接地引腳,確保芯片的電氣參考地。
(二)I/O端口引腳
- Port 0:8位開漏雙向I/O端口,可作為輸出端口,每個引腳能吸收八個TTL輸入;也可作為高阻抗輸入引腳。在訪問外部程序和數(shù)據(jù)存儲器時,可配置為復(fù)用的低地址/數(shù)據(jù)總線。在QuickFlash編程和驗證時,用于接收和輸出代碼字節(jié)。
- Port 1:8位雙向I/O端口,具有內(nèi)部上拉電阻。除了基本的I/O功能外,P1.0和P1.1還可分別配置為定時器/計數(shù)器2的外部計數(shù)輸入和觸發(fā)輸入。在QuickFlash編程和驗證時,接收低地址字節(jié)。
- Port 2:同樣是8位雙向I/O端口,有內(nèi)部上拉電阻。在訪問外部程序和數(shù)據(jù)存儲器時,根據(jù)不同的地址模式,輸出高地址字節(jié)或P2特殊功能寄存器的內(nèi)容。在QuickFlash編程和驗證時,接收高地址位和一些控制信號。
- Port 3:8位雙向I/O端口,具備內(nèi)部上拉電阻。除了基本I/O功能外,還承擔(dān)了各種特殊功能,如串行輸入輸出、外部中斷、定時器外部輸入等。在QuickFlash編程和驗證時,接收一些控制信號。
(三)控制引腳
- RST:復(fù)位輸入引腳,在振蕩器運行時,該引腳高電平持續(xù)兩個機器周期可復(fù)位設(shè)備。
- ALE/PROG:地址鎖存使能引腳,在訪問外部存儲器時輸出脈沖用于鎖存低地址字節(jié);在QuickFlash編程時作為程序脈沖輸入。
- PSEN:程序存儲使能引腳,用于讀取外部程序存儲器。
- (overline{EA} / V{PP}):外部訪問使能引腳,連接到GND可使設(shè)備從外部程序存儲器獲取代碼;連接到(V{CC})用于內(nèi)部程序執(zhí)行。在QuickFlash編程時,接收12伏編程使能電壓。
- XTAL1和XTAL2:用于連接晶體或陶瓷諧振器,構(gòu)成片上振蕩器;也可使用外部時鐘源驅(qū)動,此時XTAL2不連接,XTAL1接收外部時鐘信號。
三、特殊功能寄存器
(一)SFR映射
AT87F52的特殊功能寄存器(SFR)空間映射如表1所示,包含了各種控制和狀態(tài)寄存器,如累加器(ACC)、程序狀態(tài)字(PSW)、定時器/計數(shù)器控制寄存器等。需要注意的是,并非所有地址都被占用,未占用的地址可能未在芯片上實現(xiàn),讀寫這些地址可能會返回隨機數(shù)據(jù)或產(chǎn)生不確定的影響。
(二)定時器2寄存器
定時器2是一個16位的定時器/計數(shù)器,可作為定時器或事件計數(shù)器使用。其控制和狀態(tài)位包含在T2CON和T2MOD寄存器中,捕獲/重載寄存器(RCAP2H,RCAP2L)用于16位捕獲模式或16位自動重載模式。定時器2有捕獲、自動重載(向上或向下計數(shù))和波特率發(fā)生器三種工作模式,通過T2CON中的位進行選擇。
1. 捕獲模式
當(dāng)EXEN2 = 0時,定時器2作為16位定時器或計數(shù)器,溢出時設(shè)置TF2位,可用于產(chǎn)生中斷。當(dāng)EXEN2 = 1時,除了溢出設(shè)置TF2位外,外部輸入T2EX的1到0過渡還會將TH2和TL2的當(dāng)前值捕獲到RCAP2H和RCAP2L中,并設(shè)置EXF2位,EXF2位也可用于產(chǎn)生中斷。
2. 自動重載模式
在16位自動重載模式下,定時器2可配置為向上或向下計數(shù)。當(dāng)DCEN = 0時,定時器2默認向上計數(shù);當(dāng)DCEN = 1時,T2EX引腳控制計數(shù)方向,邏輯1使定時器2向上計數(shù),邏輯0使定時器2向下計數(shù)。
3. 波特率發(fā)生器模式
通過設(shè)置T2CON中的TCLK和/或RCLK,可將定時器2選擇為波特率發(fā)生器。該模式下,TH2的溢出會使定時器2寄存器重新加載RCAP2H和RCAP2L中的16位值。波特率由定時器2的溢出率決定,計算公式為:Modes 1 and 3 Baud Rates = Timer 2 Overflow Rate / 16 。
四、中斷系統(tǒng)
AT87F52共有六個中斷向量,包括兩個外部中斷(INT0和INT1)、三個定時器中斷(定時器0、1和2)和串行端口中斷。這些中斷源可通過特殊功能寄存器IE中的位單獨啟用或禁用,IE還包含一個全局禁用位EA,可一次性禁用所有中斷。
五、振蕩器與低功耗模式
(一)振蕩器特性
XTAL1和XTAL2可配置為片上振蕩器的輸入和輸出,可使用石英晶體或陶瓷諧振器。也可使用外部時鐘源驅(qū)動,此時XTAL2不連接,XTAL1接收外部時鐘信號。
(二)低功耗模式
- 空閑模式:CPU進入睡眠狀態(tài),片上外設(shè)保持活動。該模式由軟件調(diào)用,片上RAM和特殊功能寄存器的內(nèi)容保持不變。可通過任何啟用的中斷或硬件復(fù)位終止空閑模式。
- 掉電模式:振蕩器停止,調(diào)用掉電模式的指令是最后執(zhí)行的指令。片上RAM和特殊功能寄存器保留其值,直到掉電模式終止。唯一的退出方式是硬件復(fù)位,復(fù)位會重新定義SFR,但不會改變片上RAM。
六、程序存儲器鎖定與編程
(一)程序存儲器鎖定位
AT87F52有三個鎖定位,可通過編程獲得不同的保護特性,如禁止從內(nèi)部存儲器獲取代碼字節(jié)、禁止進一步編程等。
(二)QuickFlash編程
AT87F52的片上QuickFlash存儲器陣列可通過常規(guī)的第三方Flash或EPROM編程器進行編程。編程時需要高電壓(12伏)編程使能信號,采用字節(jié)編程方式。編程算法包括設(shè)置地址、數(shù)據(jù)和控制信號,將(overline{EA} / V_{PP})升至12V,脈沖ALE/PROG進行字節(jié)編程。編程過程中可通過數(shù)據(jù)輪詢和RDY/BSY輸出信號監(jiān)測編程進度,編程完成后可進行程序驗證。
七、電氣特性與訂購信息
(一)電氣特性
文檔提供了AT87F52的絕對最大額定值、直流特性和交流特性等詳細電氣參數(shù),工程師在設(shè)計時需確保芯片工作在這些參數(shù)范圍內(nèi),以保證芯片的正常運行和可靠性。
(二)訂購信息
AT87F52提供了不同速度和封裝形式的產(chǎn)品,可根據(jù)實際需求選擇合適的型號。例如,不同的速度選項(12 MHz、16 MHz、20 MHz、24 MHz)和封裝類型(44A、44J、40P6等),以滿足不同應(yīng)用場景的要求。
總之,AT87F52作為一款功能強大的8位微控制器,在嵌入式控制領(lǐng)域有著廣泛的應(yīng)用前景。電子工程師在設(shè)計過程中,需要深入了解其特性、引腳功能、寄存器配置和工作模式,合理利用其資源,以實現(xiàn)高效、穩(wěn)定的系統(tǒng)設(shè)計。大家在實際應(yīng)用中是否遇到過一些特殊的問題呢?歡迎在評論區(qū)分享交流。
-
嵌入式控制
+關(guān)注
關(guān)注
0文章
68瀏覽量
14762 -
8位微控制器
+關(guān)注
關(guān)注
0文章
44瀏覽量
1334
發(fā)布評論請先 登錄
探索AT87F52:8位微控制器的性能與應(yīng)用
評論