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