MCS-51是Intel公司生產(chǎn)的一個(gè)單片機(jī)系列名稱,該系列生產(chǎn)工藝有HMOS和CHMOS這兩種,CHMOS是CMOS和HMOS的結(jié)合,既保持了HMOS的高密度和高速度,還具有CMOS低功耗的特點(diǎn)。
在產(chǎn)品型號(hào)中,帶有字母C的即為CHMOS芯片,如80C51,該類型芯片的電平既與TTL兼容,又與CMOS電平兼容。
在片內(nèi)程序存儲(chǔ)器的配置上,該系列單片機(jī)有3種形式,即掩模ROM、EPROM或Flash和ROM Less(無片內(nèi)程序存儲(chǔ)器)。
80C51是MCS-51系列中采用CHMOS工藝的一個(gè)典型品種,各廠商以80C51為基核(內(nèi)核)開發(fā)出的CHMOS工藝單片機(jī)產(chǎn)品統(tǒng)稱為80C51系列。
當(dāng)前常用的80C51系列單片機(jī)主要產(chǎn)品有:
1)Intel產(chǎn)品:80C31、80C51、87C51、80C32、80C52、87C52等;
2)Ateml產(chǎn)品:89C51、89C52、89C2051等;
3)Philips,華邦,Siemens等公司以80C51為基核的許多產(chǎn)品。
80C51按總線結(jié)構(gòu)可分為總線型和非總線型。
如常見到的89C51單片機(jī)就是總線結(jié)構(gòu),89C51單片機(jī)內(nèi)部有數(shù)據(jù)總線,地址總線和控制總線。
但單片機(jī)由于芯片引腳數(shù)量的限制,數(shù)據(jù)總線和地址總線經(jīng)常采用復(fù)用方式,且許多引腳還要與并行I/O口引腳復(fù)用。
20引腳的89S2051單片機(jī)就是一種非總線型的。其外部引腳很少,可使成本大大降低。
總線型單片機(jī)應(yīng)用模式
1)如下左圖為總線型單片機(jī)的總線應(yīng)用模式,可以方便地將單片機(jī)配置成典型的三總線結(jié)構(gòu)。
這種應(yīng)用模式在擴(kuò)展外圍器件比較多的時(shí)候接線會(huì)比較復(fù)雜,系統(tǒng)的可靠性會(huì)降低。因此,在設(shè)計(jì)系統(tǒng)時(shí),應(yīng)盡量減少擴(kuò)展器件的數(shù)量。
2)如下右圖為總線型單片機(jī)的非總線應(yīng)用模式,適用于大量I/O口需求的應(yīng)用系統(tǒng)。
非總線型單片機(jī)應(yīng)用模式
該模式已經(jīng)將外部總線擴(kuò)展用的I/O口線和控制功能線去掉,從而使單片機(jī)的引腳數(shù)減少,體積減少。對(duì)于不需進(jìn)行并行外圍擴(kuò)展,裝置體積要求苛刻且程序量不大的系統(tǒng)及其適用。
80C51典型成品的資源配置和引腳
由上表可見增強(qiáng)型與基本型有以下不同:
1)片內(nèi)ROM字節(jié)數(shù)從4KB增加到8KB;
2)片內(nèi)RAM字節(jié)數(shù)從128B增加到256B;
3)定時(shí)/計(jì)數(shù)器從2個(gè)增加到3個(gè);
4)中斷源由5個(gè)增加到6個(gè)。
下圖為80C51系列單片機(jī)引腳圖和邏輯符號(hào),為標(biāo)準(zhǔn)的40腳DIP封裝。
這些引腳的功能描述如下:
1)電源引腳Vcc和VssVcc
是電源端,接+5V;Vss接地端。通常在Vcc和Vss引腳之間接0.1uF高頻濾波電容。
2)時(shí)鐘電路引腳XTAL1和XTAL2
XTAL1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,若使用外部TTL時(shí)鐘,則該引腳必須接地。
XTAL2:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸出,若使用外部TTL時(shí)鐘,則該引腳為外部時(shí)鐘的輸入。
3)地址鎖存允許ALE
在系統(tǒng)擴(kuò)展時(shí),ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實(shí)現(xiàn)數(shù)據(jù)與低位地址的復(fù)用。
當(dāng)單片機(jī)上電正常工作以后,ALE端通常以時(shí)鐘頻率的1/6的固定頻率向外輸出正脈沖信號(hào),ALE的負(fù)載能力為8個(gè)LS TTL器件。
ale(address lock enable)作用是在訪問外部存儲(chǔ)器時(shí),p0口做為地址/數(shù)據(jù)復(fù)用口,ale信號(hào)用于鎖存低8位地址。當(dāng)ale信號(hào)為高電平時(shí),p0口上的信息為低8位地址,在ale信號(hào)的下降沿時(shí)將p0口上的低8位地址送到地址鎖存器鎖存起來。 在ale為低電平期間p0口上的信息為指令或數(shù)據(jù)信息。在ale為低電平期間p0口上的信息為指令或數(shù)據(jù)信息,以實(shí)現(xiàn)低位地址與數(shù)據(jù)的分離。ale是自動(dòng)運(yùn)行的。
4)外部程序存儲(chǔ)器讀選通信號(hào) ~PSEN
是讀外部程序存儲(chǔ)器的選通信號(hào),低電平有效。CPU從外部存儲(chǔ)器取指令時(shí),它在每個(gè)機(jī)器周期中兩次有效。因此,在一個(gè)機(jī)器周期內(nèi),CPU可以從程序存儲(chǔ)器中讀取兩個(gè)字節(jié)的指令碼。
5)程序存儲(chǔ)器地址允許輸入端 ~EA
當(dāng)該引腳為高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器指令,但當(dāng)PC中的值超過0FFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器指令。
當(dāng)該引腳為低電平時(shí),CPU只執(zhí)行片外程序存儲(chǔ)器指令。對(duì)于8031,由于其無片內(nèi)ROM,故該引腳必須接低電平。
6)復(fù)位信號(hào)RST
該信號(hào)高電平有效,在輸入端保持兩個(gè)機(jī)器周期的高電平后,就可以完成復(fù)位操作。
此外,該引腳還有掉電保護(hù)功能,若在該引腳接+5V備用電源,在使用中若Vcc掉電,可保護(hù)片內(nèi)RAM中信息不丟失。
7)輸入/輸出口引腳P0、P1、P2和P3
P0口(P0.0~P0.7):該端口為漏極開路的8位準(zhǔn)雙向口,內(nèi)部沒有上拉電阻,該口在做I/O口使用時(shí)務(wù)必要外接上拉電阻,驅(qū)動(dòng)能力為8個(gè)LS TTL負(fù)載,它是低8位地址線和8位數(shù)據(jù)線的復(fù)用端口。
P1口(P1.0~P1.7):它是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P1的驅(qū)動(dòng)能力為4個(gè)LS TTL負(fù)載。
P2口(P2.0~P2.7):它是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P1的驅(qū)動(dòng)能力為4個(gè)LS TTL負(fù)載。在訪問外部程序存儲(chǔ)器時(shí),它作為存儲(chǔ)器的高8位地址線。
P3口(P3.0~P3.7):它是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P3口除了作為一般的I/O口外,還具有特殊功能。
80C51單片機(jī)的邏輯結(jié)構(gòu)
80C51單片機(jī)采用的是馮·諾依曼提出的經(jīng)典計(jì)算機(jī)體系結(jié)構(gòu)框架,即一臺(tái)計(jì)算機(jī)由運(yùn)算器,控制器,存儲(chǔ)器,輸入設(shè)備和輸出設(shè)備5個(gè)基本部分組成。
80C51單片機(jī)在一塊芯片上集成了CPU,RAM,ROM,定時(shí)/計(jì)數(shù)器和多功能I/O口等。80C51單片機(jī)的系統(tǒng)結(jié)構(gòu)框圖如下所示。
由上圖可以看出,單片機(jī)內(nèi)部主要包含下列幾個(gè)部件:
1)一個(gè)8位CPU
2)一個(gè)時(shí)鐘電路
3)4KB程序存儲(chǔ)器
4)128B數(shù)據(jù)存儲(chǔ)器
5)兩個(gè)16位定時(shí)/計(jì)數(shù)器
6)4個(gè)8位并行I/O端口
8)5個(gè)中斷源,其中包括兩個(gè)優(yōu)先級(jí)嵌套中斷
80C51單片機(jī)的內(nèi)部結(jié)構(gòu)
80C51單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如下所示。
1.CPU
CPU即中央處理器的簡(jiǎn)稱,是單片機(jī)的核心部件,它完成各種運(yùn)算和控制操作,CPU由運(yùn)算器和控制器兩部分電路組成。
1)運(yùn)算器電路
運(yùn)算器電路包括ALU算術(shù)邏輯單元,ACC累加器,B寄存器,狀態(tài)寄存器,暫存器1和暫存器2等部件。
運(yùn)算器的功能是進(jìn)行算術(shù)運(yùn)算,邏輯運(yùn)算,位變量處理和數(shù)據(jù)傳送。
運(yùn)算電路以ALU為核心單元,可以完成半字節(jié)、單字節(jié)及多字節(jié)數(shù)據(jù)的運(yùn)算操作,其中包括加減乘除,十進(jìn)制調(diào)整等算術(shù)運(yùn)算以及與,或,異或,求補(bǔ)和循環(huán)等邏輯操作,同時(shí)還具有一般微處理器所不具備的位處理功能,運(yùn)算結(jié)果的狀態(tài)由狀態(tài)寄存器保存。
2)控制器電路
控制器電路包括程序計(jì)數(shù)器PC,PC加1寄存器,指令寄存器,指令譯碼器,數(shù)據(jù)指針DPTR,堆棧指針SP,緩沖器以及定時(shí)與控制電路等??刂齐娐吠瓿芍笓]控制工作,協(xié)調(diào)單片機(jī)各部分正常工作。
程序計(jì)數(shù)器PC用來存放即將要執(zhí)行的指令地址。數(shù)據(jù)指針DPTR為16位數(shù)據(jù)指針,它可以對(duì)外部數(shù)據(jù)存儲(chǔ)器和I/O口進(jìn)行尋址,它的低8位為DPL(地址為82H),高8位為DPH(地址為83H),堆棧指針SP隨時(shí)跟蹤棧頂?shù)刂?,按先進(jìn)后出的原則存取數(shù)據(jù)。
2.定時(shí)/計(jì)數(shù)器
80C51單片機(jī)片內(nèi)有兩個(gè)16位的定時(shí)/計(jì)數(shù)器,可以用于定時(shí)控制,延時(shí)以及對(duì)外部事件的計(jì)數(shù)和檢測(cè)等。
3.存儲(chǔ)器
80C51系列單片機(jī)的存儲(chǔ)器包括數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的地址空間是相互獨(dú)立的,物理結(jié)構(gòu)也不相同。
4.并行I/O口
80C51單片機(jī)共有4個(gè)8位的I/O口,每條I/O線都能獨(dú)立地用作輸入或輸出。
5.串行I/O口
80C51單片機(jī)有一個(gè)采用通用異步工作方式的全雙工串行通信接口。
6.中斷控制系統(tǒng)
80C51共有5個(gè)中斷源,分為高級(jí)和低級(jí)兩個(gè)中斷優(yōu)先級(jí)。
7.時(shí)鐘電路
80C51芯片內(nèi)部有時(shí)鐘電路,但晶體振蕩器和微調(diào)電容必須外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。
8.總線
以上所有組成部分都是通過總線連接起來的,系統(tǒng)的地址信號(hào),數(shù)據(jù)信號(hào)和控制信號(hào)都是通過總線傳送的,總線結(jié)構(gòu)減少了單片機(jī)的連線和引腳,提高了集成度和可靠性。
評(píng)論