AT89S51單片機(jī)的硬件組成
AT89S51單片機(jī)的片內(nèi)硬件組成結(jié)構(gòu)如圖2-1所示。它把那些作為控制應(yīng)用所必需的基本功能部件都集成在一個(gè)尺寸有限的集成電路芯片上,具有如下功能部件和特性:
(1)8位微處理器(CPU)。
(2)數(shù)據(jù)存儲(chǔ)器(128B RAM)。
(3)程序存儲(chǔ)器(4KBFLASH ROM)。
(4)4個(gè)8位可編程并行I/O口(PO口、Pl口、P2口和P3口)。
(5)1個(gè)全雙工的異步串行口。
(6)2個(gè)可編程的16位定時(shí)器/計(jì)數(shù)器。
(7)1個(gè)看門狗定時(shí)器。
(8)中斷系統(tǒng)具有5個(gè)中斷源、5個(gè)中斷向量。
(9)特殊功能寄存器(SFR) 26個(gè)。
(10)低功耗節(jié)電模式有空閑模式和掉電模式,且具有掉電模式下的中斷恢復(fù)模式。
(11)3個(gè)程序加密鎖定位。
與AT89C51相比,AT89S51具有更突出的優(yōu)點(diǎn):
(1)增加了在線可編程功能(ISP,In System Program),靈活的在線編程方式(字節(jié)和頁編程)使得現(xiàn)場(chǎng)程序調(diào)試和修改更加方便靈活。
(2)數(shù)據(jù)指針增加到兩個(gè),方便了對(duì)片外RAM的訪問過程。
(3)新增加了看門狗定時(shí)器,提高了系統(tǒng)的抗干擾能力。
(4)增加了掉電標(biāo)志。
(5)增加了掉電狀態(tài)下的中斷恢復(fù)模式。
AT89S51片內(nèi)的各功能部件通過片內(nèi)單一總線連接而成(如圖2-1所示),其基本結(jié)構(gòu)仍然是CPU加上外圍芯片的傳統(tǒng)微型計(jì)算機(jī)結(jié)構(gòu)模式。但CPU對(duì)各種功能部件的控制是采用特殊功能寄存器(SFR,Special Function Register)的集中控制方式。
下面對(duì)圖2-1中的片內(nèi)各功能部件進(jìn)行簡(jiǎn)單介紹。
(1)CPU(微處理器)AT89S51單片機(jī)中有1個(gè)8位的CPU,與通用的CPU基本相同,同樣包括了運(yùn)算器和控制器兩大部分,此外還有面向控制的位處理功能。
(2)數(shù)據(jù)存儲(chǔ)器(RAM) 片內(nèi)為128B(增強(qiáng)型的52子系列為256B),片外最多可外擴(kuò)64KB。片內(nèi)128B的RAM以高速RAM的形式集成在單片機(jī)內(nèi),可以加快單片機(jī)運(yùn)行的速度,而且這種結(jié)構(gòu)的RAM還可以降低功耗。
(3)程序存儲(chǔ)器(Flash ROM) 它用來存儲(chǔ)程序。AT89S51片內(nèi)集成4KB的Flash存儲(chǔ)器(AT89S52片內(nèi)則集成了8KB的Flash存儲(chǔ)器,AT89C55片內(nèi)集成了20KB的Flash存儲(chǔ)器),如果片內(nèi)程序存儲(chǔ)器容量不夠,片外最多可外擴(kuò)至64KB。
(4)中斷系統(tǒng)具有6個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán)。
(5)定時(shí)器/計(jì)數(shù)器片內(nèi)有2個(gè)16位的定時(shí)器/計(jì)數(shù)器(增強(qiáng)型的52子系列有3個(gè)16位的定時(shí)器/計(jì)數(shù)器),具有4種工作方式。
(6)1個(gè)看門狗定時(shí)器WDT,WDT提供了當(dāng)CPU由于干擾使程序陷入死循環(huán)或跑飛狀態(tài)時(shí)而使程序恢復(fù)正常運(yùn)行的有效手段。
(7)串行口 1個(gè)全雙工的異步串行口,具有4種工作方式??蛇M(jìn)行串行通信,擴(kuò)展并行I/O口,還可與多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng)。
(8) Pl口、P2口、P3口和PO口 4個(gè)8位并行I/O口。
(9)特殊功能寄存器(SFR) 共有26個(gè)特殊功能寄存器,用于CPU對(duì)片內(nèi)各功能部件進(jìn)行管理、控制和監(jiān)視。特殊功能寄存器實(shí)際上是片內(nèi)各個(gè)功能部件的控制寄存器和狀態(tài)寄存器,這些特殊功能寄存器映射在片內(nèi)RAM區(qū)80H~FFH的地址區(qū)間內(nèi)。
AT89S51完全兼容AT89C51單片機(jī)。使用AT89C51單片機(jī)的系統(tǒng)在充分保留原來軟、硬件的條件下,完全可以用AT89S51直接代換。