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