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