深入剖析AT89C51RC:8位微控制器的卓越之選
引言
在嵌入式系統(tǒng)的廣闊領(lǐng)域中,微控制器扮演著至關(guān)重要的角色。AT89C51RC作為一款經(jīng)典的8位微控制器,以其高性能、低功耗和豐富的功能特性,在眾多應(yīng)用場(chǎng)景中展現(xiàn)出強(qiáng)大的競(jìng)爭(zhēng)力。本文將深入探討AT89C51RC的特點(diǎn)、功能、引腳配置、內(nèi)存組織以及編程等方面,為電子工程師們提供全面而深入的了解。
文件下載:AT89C51RC-24JC.pdf
一、AT89C51RC概述
AT89C51RC是一款低功耗、高性能的CMOS 8位微控制器,具備32K字節(jié)的Flash可編程只讀存儲(chǔ)器和512字節(jié)的RAM。它采用Atmel的高密度非易失性存儲(chǔ)器技術(shù),與行業(yè)標(biāo)準(zhǔn)的80C51和80C52指令集及引腳兼容。這種兼容性使得工程師們能夠輕松地將現(xiàn)有的代碼移植到AT89C51RC上,大大縮短了開(kāi)發(fā)周期。
(一)主要特性
- 內(nèi)存方面:擁有32K字節(jié)的可重編程Flash存儲(chǔ)器,擦寫(xiě)壽命達(dá)1000次,為程序存儲(chǔ)提供了可靠的保障;512 x 8位的內(nèi)部RAM,滿足數(shù)據(jù)處理和存儲(chǔ)的需求。
- 電源與運(yùn)行:工作電壓范圍為4V至5.5V,支持全靜態(tài)操作,頻率范圍從0 Hz到33 MHz,適應(yīng)不同的應(yīng)用場(chǎng)景。
- 功能特性:具備三級(jí)程序存儲(chǔ)器鎖,增強(qiáng)了程序的安全性;32個(gè)可編程I/O線,方便與外部設(shè)備進(jìn)行連接;三個(gè)16位定時(shí)器/計(jì)數(shù)器,可用于精確的定時(shí)和計(jì)數(shù)操作;八個(gè)中斷源,能夠及時(shí)響應(yīng)外部事件;可編程串行通道,實(shí)現(xiàn)數(shù)據(jù)的串行通信;低功耗空閑和掉電模式,有效降低功耗。
二、引腳配置與功能
(一)引腳類(lèi)型
AT89C51RC提供了多種封裝形式,如TQFP、PDIP和PLCC,不同封裝的引腳排列有所不同,但功能基本一致。其引腳主要包括電源引腳(VCC和GND)、I/O端口引腳(P0 - P3)以及一些特殊功能引腳(如RST、ALE/PROG、PSEN、EA/VPP等)。
(二)各引腳功能
- I/O端口
- P0端口:8位開(kāi)漏雙向I/O端口,可作為輸出端口,每個(gè)引腳能吸收八個(gè)TTL輸入;也可配置為多路復(fù)用的低地址/數(shù)據(jù)總線,在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí)使用。
- P1端口:8位雙向I/O端口,帶有內(nèi)部上拉電阻。P1.0和P1.1還可分別配置為定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入和觸發(fā)輸入。
- P2端口:8位雙向I/O端口,帶有內(nèi)部上拉電阻。在訪問(wèn)外部程序存儲(chǔ)器和使用16位地址訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),輸出高地址字節(jié)。
- P3端口:8位雙向I/O端口,帶有內(nèi)部上拉電阻。除了作為普通I/O端口外,還具有多種特殊功能,如串行輸入輸出、外部中斷、定時(shí)器輸入等。
- 特殊功能引腳
- RST:復(fù)位輸入引腳,在振蕩器運(yùn)行時(shí),該引腳高電平持續(xù)兩個(gè)機(jī)器周期可復(fù)位設(shè)備。
- ALE/PROG:地址鎖存使能輸出脈沖,用于在訪問(wèn)外部存儲(chǔ)器時(shí)鎖存低地址字節(jié);在Flash編程時(shí),作為程序脈沖輸入。
- PSEN:程序存儲(chǔ)使能,是外部程序存儲(chǔ)器的讀選通信號(hào)。
- EA/VPP:外部訪問(wèn)使能引腳,連接到GND時(shí),設(shè)備從外部程序存儲(chǔ)器取代碼;連接到VCC時(shí),地址0000H - 7FFFH的程序從內(nèi)部存儲(chǔ)器讀取。在Flash編程時(shí),該引腳接收12V的編程使能電壓。
三、特殊功能寄存器(SFR)
(一)SFR概述
特殊功能寄存器(SFR)是AT89C51RC中重要的組成部分,用于控制和配置微控制器的各種功能。SFR空間的映射表詳細(xì)列出了各個(gè)寄存器的地址和復(fù)位值。
(二)部分重要SFR
- T2CON:定時(shí)器/計(jì)數(shù)器2控制寄存器,包含控制和狀態(tài)位,用于控制定時(shí)器/計(jì)數(shù)器2的操作模式和狀態(tài)。
- AUXR:輔助寄存器,用于控制ALE的操作模式、內(nèi)部/外部RAM的訪問(wèn)方式、WDT的工作狀態(tài)等。
- AUXR1:輔助寄存器1,用于選擇數(shù)據(jù)指針寄存器。
四、內(nèi)存組織
(一)程序存儲(chǔ)器
AT89C51RC的程序存儲(chǔ)器地址空間與數(shù)據(jù)存儲(chǔ)器地址空間是分開(kāi)的。如果EA引腳連接到GND,所有程序取指都指向外部存儲(chǔ)器;如果EA連接到VCC,地址0000H - 7FFFH的程序從內(nèi)部存儲(chǔ)器讀取,地址8000H - FFFFH的程序從外部存儲(chǔ)器讀取。
(二)數(shù)據(jù)存儲(chǔ)器
數(shù)據(jù)存儲(chǔ)器分為四個(gè)獨(dú)立的段:
- 低128字節(jié)RAM(00H - 7FH):可直接和間接尋址。
- 高128字節(jié)RAM(80H - FFH):只能間接尋址。
- 特殊功能寄存器(SFR,80H - FFH):只能直接尋址。
- 256字節(jié)擴(kuò)展RAM(ERAM,00H - FFH):通過(guò)MOVX指令間接訪問(wèn),當(dāng)EXTRAM位清零時(shí)可訪問(wèn)。
五、硬件看門(mén)狗定時(shí)器(WDT)
(一)WDT功能
硬件看門(mén)狗定時(shí)器(WDT)是一種用于恢復(fù)CPU軟件故障的機(jī)制。它由一個(gè)13位計(jì)數(shù)器和看門(mén)狗定時(shí)器復(fù)位(WDTRST)SFR組成。默認(rèn)情況下,WDT在復(fù)位后是禁用的,要啟用WDT,用戶(hù)需要按順序向WDTRST寄存器寫(xiě)入01EH和0E1H。
(二)使用方法
啟用WDT后,它會(huì)在振蕩器運(yùn)行時(shí)每個(gè)機(jī)器周期遞增。用戶(hù)需要定期向WDTRST寫(xiě)入01EH和0E1H,以避免WDT溢出。當(dāng)WDT溢出時(shí),會(huì)在RST引腳輸出一個(gè)復(fù)位脈沖,復(fù)位設(shè)備。在掉電模式下,振蕩器停止,WDT也停止工作;在空閑模式下,可通過(guò)設(shè)置AUXR寄存器中的WDIDLE位來(lái)控制WDT是否繼續(xù)計(jì)數(shù)。
六、定時(shí)器功能
(一)定時(shí)器0和1
定時(shí)器0和1的操作方式與AT89C51和AT89C52中的定時(shí)器0和1相同。
(二)定時(shí)器2
定時(shí)器2是一個(gè)16位的定時(shí)器/計(jì)數(shù)器,可作為定時(shí)器或事件計(jì)數(shù)器使用。它有三種操作模式:捕獲模式、自動(dòng)重載模式(向上或向下計(jì)數(shù))和波特率發(fā)生器模式。
- 捕獲模式:當(dāng)EXEN2 = 0時(shí),定時(shí)器2作為16位定時(shí)器或計(jì)數(shù)器,溢出時(shí)設(shè)置TF2位;當(dāng)EXEN2 = 1時(shí),外部輸入T2EX的下降沿會(huì)將TH2和TL2的值捕獲到RCAP2H和RCAP2L中,并設(shè)置EXF2位。
- 自動(dòng)重載模式:當(dāng)DCEN = 0時(shí),定時(shí)器2默認(rèn)向上計(jì)數(shù);當(dāng)DCEN = 1時(shí),T2EX引腳控制計(jì)數(shù)方向。
- 波特率發(fā)生器模式:通過(guò)設(shè)置T2CON中的TCLK和/或RCLK,可將定時(shí)器2設(shè)置為波特率發(fā)生器。波特率由定時(shí)器2的溢出率決定,計(jì)算公式為:Modes 1 and 3 Baud Rates = Timer 2 Overflow Rate / 16。
七、中斷系統(tǒng)
AT89C51RC共有六個(gè)中斷向量,包括兩個(gè)外部中斷(INT0和INT1)、三個(gè)定時(shí)器中斷(定時(shí)器0、1和2)和串行端口中斷。每個(gè)中斷源可以通過(guò)設(shè)置特殊功能寄存器IE中的相應(yīng)位來(lái)單獨(dú)啟用或禁用。IE寄存器還包含一個(gè)全局禁用位EA,可一次性禁用所有中斷。
八、編程與配置
(一)Flash編程
AT89C51RC的Flash編程接口需要一個(gè)12V的高電壓編程使能信號(hào),與傳統(tǒng)的第三方Flash或EPROM編程器兼容。編程時(shí),需要按照特定的步驟設(shè)置地址、數(shù)據(jù)和控制信號(hào),然后將EA/VPP升高到12V,脈沖ALE/PROG一次來(lái)編程一個(gè)字節(jié)。
(二)芯片擦除
在重新編程之前,需要進(jìn)行芯片擦除操作。擦除步驟包括升高VCC到6.5V,脈沖ALE/PROG,等待一段時(shí)間,然后再次升高VCC并脈沖ALE/PROG。
(三)數(shù)據(jù)查詢(xún)與驗(yàn)證
AT89C51RC支持?jǐn)?shù)據(jù)查詢(xún)功能,通過(guò)讀取最后寫(xiě)入的字節(jié)來(lái)判斷寫(xiě)入周期是否結(jié)束。此外,還可以通過(guò)地址和數(shù)據(jù)線讀取編程的代碼數(shù)據(jù)進(jìn)行驗(yàn)證,以及直接讀取鎖定位的狀態(tài)進(jìn)行驗(yàn)證。
九、電氣特性
(一)絕對(duì)最大額定值
包括工作溫度范圍(-55°C至+125°C)、存儲(chǔ)溫度范圍(-65°C至+150°C)、引腳電壓范圍(-1.0V至+7.0V)、最大工作電壓(6.6V)和直流輸出電流(15.0 mA)等。
(二)直流特性
在特定的溫度和電壓范圍內(nèi),規(guī)定了輸入高電壓、輸出電流等參數(shù)。
(三)交流特性
包括振蕩器頻率、ALE脈沖寬度、地址和數(shù)據(jù)的建立與保持時(shí)間等參數(shù),這些參數(shù)對(duì)于確保微控制器的正常工作至關(guān)重要。
十、總結(jié)
AT89C51RC以其豐富的功能、良好的兼容性和低功耗特性,成為嵌入式系統(tǒng)設(shè)計(jì)中的理想選擇。無(wú)論是在工業(yè)控制、智能家居還是消費(fèi)電子等領(lǐng)域,AT89C51RC都能發(fā)揮出其獨(dú)特的優(yōu)勢(shì)。電子工程師們?cè)谑褂肁T89C51RC時(shí),需要深入了解其引腳配置、內(nèi)存組織、特殊功能寄存器等方面的知識(shí),以便更好地進(jìn)行系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)。同時(shí),在實(shí)際應(yīng)用中,還需要注意其電氣特性和編程要求,確保系統(tǒng)的穩(wěn)定性和可靠性。你在使用AT89C51RC的過(guò)程中遇到過(guò)哪些問(wèn)題呢?歡迎在評(píng)論區(qū)分享你的經(jīng)驗(yàn)和見(jiàn)解。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3796瀏覽量
133810 -
8位微控制器
+關(guān)注
關(guān)注
0文章
44瀏覽量
1334
發(fā)布評(píng)論請(qǐng)先 登錄
深入剖析AT89C51RC:8位微控制器的卓越之選
評(píng)論