在單片機領(lǐng)域,AT89C 系列單片機憑借其獨特的優(yōu)勢占據(jù)著重要的地位。AT89C 系列單片機是 Atmel 公司于 1993 年開始研制生產(chǎn)的 8 位單片機,因其優(yōu)越的性能價格比,成為了頗受市場歡迎的產(chǎn)品。與 MCS - 51 系列單片機相比,AT89C 系列具有兩大顯著優(yōu)勢。其一,片內(nèi)程序存儲器采用閃速存儲器,這使得程序的寫入過程更加便捷高效;其二,該系列提供了更小尺寸的芯片,如 AT89C2051/1051,能夠有效減小整個硬件電路的體積,滿足一些對空間要求較高的應(yīng)用場景。
AT89C 系列單片機包含 4 種型號,分別是 AT89C51、AT89C52、AT89C1051 和 AT90C2051。其中,AT89C2051/1051 以其較小的體積和良好的性能價格比,在家電產(chǎn)品、工業(yè)控制、計算機產(chǎn)品、醫(yī)療器械、汽車工業(yè)、智能儀器等眾多應(yīng)用領(lǐng)域中,成為用戶降低成本的器件。接下來,我們將以 AT89C2051 為代表,對 AT89C 系列單片機進行詳細(xì)闡述。
AT89C2051 是 Atmel 公司生產(chǎn)的帶 2KB 閃速可編程可擦除只讀存儲器(EPROM)的 8 位單片機,它具備以下主要特性:
- 與 MCS - 51 兼容,這意味著開發(fā)者可以在熟悉的開發(fā)環(huán)境下進行編程,降低了開發(fā)難度。
- 內(nèi)部帶 2KB 可編程閃速存儲器,方便存儲程序代碼。
- 具有 1000 次擦 / 寫循環(huán)的壽命,保證了存儲器的耐用性。
- 數(shù)據(jù)保留時間長達(dá) 10 年,確保數(shù)據(jù)的長期穩(wěn)定性。
- 工作電壓范圍為 2.7~6V,具有較寬的電壓適應(yīng)能力。
- 全靜態(tài)工作頻率為 0~24Hz,可根據(jù)不同的應(yīng)用需求靈活調(diào)整。
- 具備兩級程序存儲器鎖定,增強了程序的安全性。
- 擁有 128×8 位內(nèi)部 RAM,為數(shù)據(jù)處理提供了一定的存儲空間。
- 配備 15 條可編程 I/O 線,方便與外部設(shè)備進行連接和通信。
- 有 2 個 16 位定時器 / 計數(shù)器,可用于定時和計數(shù)功能。
- 包含 5 個兩級中斷源,能夠及時響應(yīng)外部事件。
- 具有可編程全雙工串行 UART 通道,便于進行串行通信。
- 可以直接對 LED 驅(qū)動輸出,簡化了 LED 驅(qū)動電路的設(shè)計。
- 片內(nèi)集成了的模擬比較器,可用于模擬信號的比較和處理。
- 片內(nèi)設(shè)有振蕩器和時鐘電路,無需外部額外配置。
- 支持低功耗的休眠和掉電模式,有助于降低功耗,延長設(shè)備的續(xù)航時間。
AT89C2051 單片機的內(nèi)部結(jié)構(gòu)與 8051 單片機基本一致,但增加了一個模擬比較器,同時減少了兩個對外的端口(P0、P2 口),輸出端口 P1、P3 具有獨特的功能。其內(nèi)部結(jié)構(gòu)如圖所示:

由于減少了兩個外部端口,AT89C2051 芯片的外部引腳大大減少,芯片尺寸也更小。它是一個有 20 個引腳的雙列直插式芯片,引腳配置如圖所示:

下面對其引腳進行詳細(xì)描述:
- VCC:電源電壓,為芯片提供工作所需的電能。
- GND:接地,是電路的參考電位。
- RST:復(fù)位輸入。當(dāng) RST 變?yōu)楦唠娖讲⒈3?2 個機器周期時,所有 I/O 引腳復(fù)位至高阻狀態(tài),使芯片恢復(fù)到初始狀態(tài)。
- XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入,用于連接外部晶振,為芯片提供時鐘信號。
- XTAL2:來自反向振蕩放大器的輸出。
- P1 口:8 位雙向 I/O 口,引腳 P1.2 和 P1.1 需要外部上拉,可用作片內(nèi)模擬比較器的正向輸入(AIN0)和反向輸入(AIN1)。P1 口輸出緩沖器能接收 20mA 電流,并能直接驅(qū)動 LED 顯示器;P1 口引腳寫入 “1” 后,可用作輸入。在閃速編程和編程校驗期間,P1 口也可接收編碼數(shù)據(jù)。
- P3 口:引腳 P3.0~P3.5 與 P3.7 為 7 個帶內(nèi)部上拉的雙向 I/O 引腳。P3.6 在內(nèi)部已與片內(nèi)比較器輸出相連,不能作為通用 I/O 引腳訪問。P3 口的輸出緩沖器能接收 20 mA 電流;P3 口寫入 “1” 后,內(nèi)部上拉,可用作輸入。P3 口也可用作特殊功能口,其功能見下表:

從上述引腳說明可以看出,AT89C2051 沒有提供外部擴展存儲器與 I/O 設(shè)備所需的地址、數(shù)據(jù)、控制信號,因此利用 AT89C2051 構(gòu)成的單片機應(yīng)用系統(tǒng)不能在其之外擴展存儲器或 I/O 設(shè)備,它本身即構(gòu)成了的單片機系統(tǒng)。
與 8051 單片機特殊功能寄存器相對應(yīng),AT89C2051 片內(nèi)設(shè)置了 19 個特殊功能寄存器,統(tǒng)稱為特殊功能寄存器塊(SFR),它們的地址散布在 80H~0F0H 區(qū)域內(nèi)。具體信息如下表所示:

AT89C2051 片內(nèi)有兩個鎖定位,可以編程(P),也可以不編程(U),從而得到 3 種鎖定位保護模式,如下表所示:

程序存儲器加密后,CPU 仍可執(zhí)行其內(nèi)部指令,但不能從外部讀出它,鎖定位只能由芯片擦除操作來實現(xiàn)其擦除,這有效地保護了程序的安全性。
AT89C2051 有兩種低功耗工作方式:待機方式與掉電方式。
- 待機方式(休眠方式):當(dāng)利用軟件使待機方式位 IDL(PCON.0)= 0 時,單片機進入空閑方式。此時,CPU 處于休眠狀態(tài),而片內(nèi)所有其它外圍設(shè)備都保持工作狀態(tài),片內(nèi) RAM 和所有特殊功能寄存器內(nèi)容保持不變。在待機方式下,當(dāng)晶振 fOSC = 12 MHz,電源電壓 VCC = 6V 時,電源電流 ICC 從 20mA 降至 5mA;而 VCC = 3V 時,ICC 由 5.5mA 降至 1mA。中斷或硬件復(fù)位可以終止待機方式。當(dāng)待機方式由硬件復(fù)位終止時,CPU 要從休眠處恢復(fù)程序的執(zhí)行,執(zhí)行 2 個機器周期后,內(nèi)部復(fù)位電路才起作用。此時,硬件禁止訪問內(nèi)部 RAM,但允許訪問端口引腳。為了防止休眠被復(fù)位終止時對端口引腳意外寫入的可能性,在生成待機方式的指令后不應(yīng)緊跟對端口引腳的寫指令。如果不采用外部上拉,P1.0 和 P1.1 應(yīng)置為 “0”;如果采用外部上拉,則應(yīng)置為 “1”。
- 掉電方式:掉電方式由掉電方式位 PD(PCON.1)= 1 設(shè)置。此時,振蕩器停止工作,設(shè)置掉電方式的指令成為執(zhí)行的一條指令,片內(nèi) RAM 和特殊功能寄存器內(nèi)容保持不變。在掉電方式下,VCCmin = 2 V。當(dāng) VCC = 6 V 時,ICCmax = 100μA;當(dāng) VCC = 3 V 時,ICCmax = 20μA。退出掉電方式的方式是硬件復(fù)位。硬件復(fù)位將重新定義特殊功能寄存器,但不影響片內(nèi) RAM。復(fù)位的保持時間應(yīng)足夠長,以便振蕩器能重新開始工作并穩(wěn)定下來。在 VCC 沒有恢復(fù)到正常工作電壓之前,不應(yīng)進行復(fù)位。如果不采用外部上拉,P1.0 和 P1.1 應(yīng)置 “0”,否則置 “1”。
關(guān)鍵詞:AT89C 系列單片機