AT89C55WD微控制器:特性、功能與應用詳解
在嵌入式系統(tǒng)設計領域,選擇一款合適的微控制器至關重要。AT89C55WD作為一款低功耗、高性能的CMOS 8位微控制器,具有諸多出色特性,能為眾多嵌入式控制應用提供高靈活性和高性價比的解決方案。本文將深入剖析AT89C55WD的各項特性、功能及應用要點。
文件下載:AT89C55WD-24AI.pdf
一、產(chǎn)品概述
AT89C55WD采用Atmel的高密度非易失性存儲器技術制造,與行業(yè)標準的80C51和80C52指令集及引腳兼容。它集成了20K字節(jié)的Flash可編程只讀存儲器和256字節(jié)的RAM,將通用的8位CPU與Flash集成在單芯片上,具備如下標準特性:
二、關鍵特性
2.1 存儲器特性
- Flash存儲器:擁有20K字節(jié)的可重編程Flash存儲器,擦寫壽命長達1000次,能滿足大多數(shù)應用的程序存儲需求。
- 內(nèi)部RAM:256 x 8位的內(nèi)部RAM,為數(shù)據(jù)存儲提供足夠空間。
2.2 電氣特性
- 工作電壓范圍:4V至5.5V,能適應較寬的電源電壓波動,增強了產(chǎn)品的穩(wěn)定性和適用性。
- 工作頻率:完全靜態(tài)操作,運行頻率范圍從0 Hz到33 MHz,可根據(jù)實際應用需求靈活調(diào)整。
2.3 功能特性
- 三級程序存儲器鎖:為程序提供了一定的安全保護。
- 豐富的I/O資源:32條可編程I/O線,方便與各種外部設備連接。
- 中斷系統(tǒng):八個中斷源和六向量、兩級中斷架構(gòu),可及時響應外部事件。
- 定時器/計數(shù)器:三個16位定時器/計數(shù)器,可用于定時、計數(shù)等多種功能。
- 串行通道:可編程串行通道,支持全雙工通信,便于與其他設備進行數(shù)據(jù)傳輸。
2.4 低功耗模式
具備低功耗空閑和掉電模式,在空閑模式下,CPU停止工作但RAM、定時器/計數(shù)器、串行端口和中斷系統(tǒng)繼續(xù)運行;掉電模式下,振蕩器停止,片內(nèi)RAM和特殊功能寄存器的值得以保留,直到下一次外部中斷或硬件復位。這種設計有助于降低系統(tǒng)功耗,延長電池使用壽命。
2.5 硬件看門狗定時器
旨在應對CPU可能出現(xiàn)的軟件故障,由一個13位計數(shù)器和看門狗定時器復位(WDTRST)特殊功能寄存器組成。用戶需按順序向WDTRST寄存器寫入01EH和0E1H來啟用看門狗定時器,啟用后,它會在振蕩器運行時每個機器周期遞增。當計數(shù)器溢出時,會在RST引腳輸出復位高脈沖,確保系統(tǒng)的穩(wěn)定性和可靠性。
三、引腳配置與功能
AT89C55WD有TQFP、PDIP和PLCC三種封裝形式,不同封裝的引腳排列有所不同,但各引腳功能基本一致,以下是主要引腳功能介紹:
- VCC和GND:分別為電源和地。
- 端口0(P0):8位開漏雙向I/O端口,可作為輸出端口,每個引腳能吸收八個TTL輸入;當寫入1時,引腳可作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時,可配置為復用的低8位地址/數(shù)據(jù)總線。
- 端口1(P1):8位雙向I/O端口,帶有內(nèi)部上拉電阻。P1.0和P1.1可分別配置為定時器/計數(shù)器2的外部計數(shù)輸入和觸發(fā)輸入。
- 端口2(P2):8位雙向I/O端口,帶有內(nèi)部上拉電阻。在訪問外部程序存儲器和16位地址的外部數(shù)據(jù)存儲器時,輸出高8位地址字節(jié)。
- 端口3(P3):8位雙向I/O端口,帶有內(nèi)部上拉電阻。除了作為通用I/O口外,還具有多種特殊功能,如串行輸入輸出、外部中斷、定時器外部輸入等。
- RST:復位輸入,在振蕩器運行時,該引腳高電平持續(xù)兩個機器周期可復位設備。
- ALE/PROG:地址鎖存允許信號,用于在訪問外部存儲器時鎖存低字節(jié)地址。在Flash編程時,作為編程脈沖輸入。
- PSEN:程序存儲允許信號,用于讀取外部程序存儲器。
- EA/VPP:外部訪問允許信號,接GND時,設備從外部程序存儲器取指令;接VCC時,地址0000H至4FFFH的程序從內(nèi)部存儲器讀取,5000H至FFFFH的程序從外部存儲器讀取。在Flash編程時,該引腳接收12V編程使能電壓。
- XTAL1和XTAL2:分別為反相振蕩器放大器的輸入和輸出,可配置為片上振蕩器。
四、特殊功能寄存器
4.1 定時器2寄存器
定時器2的控制和狀態(tài)位包含在T2CON和T2MOD寄存器中,寄存器對(RCAP2H,RCAP2L)在16位捕獲模式或16位自動重載模式下作為定時器2的捕獲/重載寄存器。定時器2有捕獲、自動重載(向上或向下計數(shù))和波特率發(fā)生器三種工作模式,可通過T2CON寄存器的相應位進行選擇。
4.2 中斷寄存器
中斷使能位位于IE寄存器中,可對六個中斷源分別進行使能或禁用操作。IP寄存器可設置每個中斷源的兩個優(yōu)先級。
4.3 雙數(shù)據(jù)指針寄存器
為方便訪問內(nèi)部和外部數(shù)據(jù)存儲器,提供了兩組16位數(shù)據(jù)指針寄存器DP0和DP1,通過SFR AUXR1中的DPS位進行選擇。
4.4 掉電標志
掉電標志(POF)位于PCON SFR的第4位(PCON.4),上電時置為“1”,可通過軟件控制設置和復位,不受復位影響。
五、存儲器組織
5.1 程序存儲器
若EA引腳連接到GND,所有程序取指操作都指向外部存儲器;若EA連接到VCC,地址0000H至4FFFH的程序從內(nèi)部存儲器讀取,5000H至FFFFH的程序從外部存儲器讀取。
5.2 數(shù)據(jù)存儲器
AT89C55WD實現(xiàn)了256字節(jié)的片上RAM,其中高128字節(jié)與特殊功能寄存器占用并行地址空間。當指令訪問地址高于7FH的內(nèi)部位置時,指令中使用的尋址模式?jīng)Q定CPU訪問的是高128字節(jié)的RAM還是特殊功能寄存器空間。
六、定時器功能
6.1 定時器0和1
定時器0和1的工作方式與AT89C51和AT89C52中的定時器0和1相同。
6.2 定時器2
定時器2是一個16位定時器/計數(shù)器,可作為定時器或事件計數(shù)器,通過T2CON寄存器中的C/T2位選擇操作類型。具有捕獲、自動重載(向上或向下計數(shù))和波特率發(fā)生器三種工作模式,具體模式由T2CON寄存器中的位決定。
- 捕獲模式:當EXEN2 = 0時,定時器2作為16位定時器或計數(shù)器,溢出時設置T2CON中的TF2位;當EXEN2 = 1時,除了上述功能外,外部輸入T2EX的1到0轉(zhuǎn)換還會將TH2和TL2的當前值分別捕獲到RCAP2H和RCAP2L中,并設置EXF2位。
- 自動重載模式:可通過T2MOD寄存器中的DCEN位設置為向上或向下計數(shù)。當DCEN = 0時,定時器2默認向上計數(shù);當DCEN = 1時,T2EX引腳控制計數(shù)方向。
- 波特率發(fā)生器模式:通過設置T2CON中的TCLK和/或RCLK位,可將定時器2選為波特率發(fā)生器。在該模式下,TH2溢出會使定時器2寄存器重新加載RCAP2H和RCAP2L中的16位值。
七、編程與驗證
7.1 編程算法
在對AT89C55WD進行編程前,需根據(jù)Flash編程模式表和相關圖形設置地址、數(shù)據(jù)和控制信號。編程步驟如下:
- 在地址線上輸入所需的存儲位置。
- 在數(shù)據(jù)線上輸入相應的數(shù)據(jù)字節(jié)。
- 激活正確的控制信號組合。
- 將EA/VPP升高到12V。
- 脈沖ALE/PROG一次,對Flash陣列或鎖定位進行字節(jié)編程。字節(jié)寫入周期是自定時的,通常不超過50 μs。重復上述步驟,直到完成整個陣列的編程或到達目標文件的末尾。
7.2 芯片擦除序列
在重新編程之前,需要執(zhí)行芯片擦除操作,步驟如下:
- 將VCC升高到6.5V。
- 脈沖ALE/PROG一次(持續(xù)時間為200 - 500 ns)。
- 等待150 ms。
- 對VCC進行下電和上電操作,使其達到6.5V。
- 脈沖ALE/PROG一次(持續(xù)時間為200 - 500 ns)。
- 等待150 ms。
- 對VCC進行下電和上電操作,使其達到6.5V。
7.3 數(shù)據(jù)查詢與驗證
AT89C55WD支持數(shù)據(jù)查詢功能,在寫入周期內(nèi),嘗試讀取最后寫入的字節(jié)會在P0.7上得到寫入數(shù)據(jù)的補碼。寫入周期完成后,所有輸出上的數(shù)據(jù)有效,可開始下一個周期。此外,還可通過RDY/BSY輸出信號監(jiān)控字節(jié)編程進度,編程完成后P3.0會拉高表示READY。如果鎖定位LB1和LB2未編程,可通過地址和數(shù)據(jù)線讀取編程的代碼數(shù)據(jù)進行驗證,也可直接讀取鎖定位的狀態(tài)進行驗證。
八、電氣特性
8.1 直流特性
在TA = -40°C至85°C、VCC = 4.0V至5.5V的條件下,規(guī)定了輸入輸出電壓、電流、引腳電容等參數(shù)。例如,輸入低電壓VIL(除EA外)范圍為 -0.5V至0.2VCC - 0.1V,輸出低電壓VOL(端口1、2、3)在IOL = 1.6 mA時不超過0.45V等。
8.2 交流特性
在特定的負載電容條件下,規(guī)定了振蕩器頻率、ALE脈沖寬度、地址和數(shù)據(jù)的建立與保持時間等參數(shù)。例如,ALE脈沖寬度tLHLL在12 MHz振蕩器時為127 ns,在可變振蕩器時為2tCLCL - 40 ns。
九、應用場景與注意事項
9.1 應用場景
AT89C55WD憑借其豐富的功能和良好的性能,適用于各種嵌入式控制應用,如工業(yè)自動化、智能家居、儀器儀表等領域。
9.2 注意事項
- 在使用硬件看門狗定時器時,要確保在規(guī)定的時間內(nèi)對其進行復位操作,避免系統(tǒng)因看門狗溢出而復位。
- 在定時器2作為波特率發(fā)生器運行時,避免對TH2或TL2進行讀寫操作,以免影響計數(shù)準確性。
- 在進行Flash編程和驗證時,要嚴格按照編程算法和芯片擦除序列進行操作,確保編程的正確性。
總之,AT89C55WD是一款功能強大、性能穩(wěn)定的微控制器,電子工程師在設計嵌入式系統(tǒng)時,可根據(jù)具體需求充分發(fā)揮其優(yōu)勢,實現(xiàn)高效、可靠的控制應用。你在使用AT89C55WD的過程中遇到過哪些問題呢?歡迎在評論區(qū)分享交流。
-
微控制器
+關注
關注
49文章
8662瀏覽量
165284 -
嵌入式系統(tǒng)
+關注
關注
41文章
3796瀏覽量
133809 -
AT89C55WD
+關注
關注
0文章
4瀏覽量
7856
發(fā)布評論請先 登錄
AT89C55WD微控制器:特性、功能與應用詳解
評論