MCS-51單片機是美國INTE公司于1980年推出的產(chǎn)品,與MCS-48單片機相比,它的結構更先進,功能更強,在原來的基礎上增加了更多的電路單元和指令,指令數(shù)達111條,MCS-51單片機可以算是相當成功的產(chǎn)品,一直到現(xiàn)在,MCS-51系列或其兼容的單片機仍是應用的主流產(chǎn)品,各高校及專業(yè)學校的培訓教材仍與MCS-51單片機作為代表進行理論基礎學習。我們也以這一代表性的機型進行系統(tǒng)的講解。
內(nèi)部數(shù)據(jù)存儲器(RAM):
MCS-51單片機芯片共有256個RAM單元,其中后128單元被專用寄存器占用(稍后我們詳解),能作為寄存器供用戶使用的只是前128單元,用于存放可讀寫的數(shù)據(jù)。因此通常所說的內(nèi)部數(shù)據(jù)存儲器就是指前128單元,簡稱內(nèi)部RAM。地址范圍為00H~FFH(256B)。是一個多用多功能數(shù)據(jù)存儲器,有數(shù)據(jù)存儲、通用工作寄存器、堆棧、位地址等空間。
內(nèi)部程序存儲器(ROM):
在前面也已講過,MCS-51內(nèi)部有4KB/8KB字節(jié)的ROM(51系列為4KB,51系列為8KB),用于存放程序、原始數(shù)據(jù)或表格。因此稱之為程序存儲器,簡稱內(nèi)部RAM。地址范圍為0000H~FFFFH(64KB)。
定時器/計數(shù)器
51系列共有2個16位的定時器/計數(shù)器(52系列共有3個16位的定時器/計數(shù)器),以實現(xiàn)定時或計數(shù)功能,并以其定時或計數(shù)結果對計算機進行控制。定時時靠內(nèi)部分頻時鐘頻率計數(shù)實現(xiàn),做計數(shù)器時,對P3.4(T0)或P3.5(T1)端口的低電平脈沖計數(shù)。
并行I/O口
MCS-51共有4個8位的I/O口(P0、P1、P2、P3)以實現(xiàn)數(shù)據(jù)的輸入輸出。具體功能在后面章節(jié)中將會詳細論述。
串行口
MCS-51有一個可編程的全雙工的串行口,以實現(xiàn)單片機和其它設備之間的串行數(shù)據(jù)傳送。該串行口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為移位器使用。RXD( P3.0)腳為接收端口,TXD(P3.1)腳為發(fā)送端口。
中斷控制系統(tǒng)
MCS-51單片機的中斷功能較強,以滿足不同控制應用的需要。51系列有5個中斷源(52系列有6個中斷源),即外中斷2個,定時中斷2個,串行中斷1個,全部中斷分為高級和低級共二個優(yōu)先級別,優(yōu)先級別的設置我們也將在后面進行詳細的講解。
定時與控制部件
MCS-51單片機內(nèi)部有一個高增益的反相放大器,基輸入端為XTAL1輸出端為XTAL2。MCS-51芯片的內(nèi)部有時鐘電路,但石英晶體和微調(diào)電容需外接。時鐘電路為單片機產(chǎn)生時鐘脈沖序列。
一個單片機的系統(tǒng)是由以下幾部分組成:(1)一個8位CPU微處理器。(2)靜態(tài)隨機存取存儲器,能夠儲存程序運行過程中產(chǎn)生的數(shù)據(jù)。(3)程序存儲器ROM / EPROM中(4KB/8KB),用來保存程序和一些初始數(shù)據(jù)。但是在一些單片機中不使用ROM / EPROM中,如8031,8032,80c系列等。(4)4個8排的I / O并行接口P0 ~P3,每個口可以用作輸入,也可以用作輸出。(5)2個定時器/計數(shù)器,每個定時器/計數(shù)器可設置計數(shù)用來計數(shù)外部事件,可以設置成常用的定時方式,并可以根據(jù)計算或結果控制單片機的運行。(6)五個中斷源控制系統(tǒng)。(7)1個雙向串行I / O口的UART(通用異步接收器/發(fā)送器UART),用于實現(xiàn)單片機的串行通信。(8)振蕩器和時鐘產(chǎn)生電路,需要外部電源的石英晶體微調(diào)電路,允許接在12v的振蕩頻率上。上述部分通過內(nèi)部數(shù)據(jù)總線連接。其中,CPU是單片機的核心,它是單片機的控制和指揮中心,ALU算數(shù)邏輯運算單元可進行算術運算和邏輯運算,由1個 8暫時存儲器,和2個 8位的累加器組成。Acc累加器是ALU運算結果的存放單元,一般數(shù)據(jù)通過它來傳送。