第1章MCS51單片機(jī)結(jié)構(gòu)_第1頁
第1章MCS51單片機(jī)結(jié)構(gòu)_第2頁
第1章MCS51單片機(jī)結(jié)構(gòu)_第3頁
第1章MCS51單片機(jī)結(jié)構(gòu)_第4頁
第1章MCS51單片機(jī)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

關(guān)新單片機(jī)原理1第1章MCS-51單片機(jī)結(jié)構(gòu)1.1單片機(jī)內(nèi)部結(jié)構(gòu)

1.2存儲(chǔ)器

1.3特殊功能寄存器

1.48031時(shí)鐘電路

1.58031復(fù)位電路

1.68031引腳結(jié)構(gòu)21.1單片機(jī)內(nèi)部結(jié)構(gòu)MCS-51系列單片機(jī)有多種型號(hào)的產(chǎn)品:普通型(51系列):8051、8031、8751、89C51、89S51等。增強(qiáng)型(52系列):8032、8052、8752、89C52、89S52等。它們的結(jié)構(gòu)基本相同,其主要差別反映在存儲(chǔ)器的配置上。8031片內(nèi)沒有程序存儲(chǔ)器;8051內(nèi)部設(shè)有4KB的掩模ROM程序存儲(chǔ)器;8751是將8051片內(nèi)的ROM換成EPROM;89C51則換成4KB的閃速EEPROM;89S51結(jié)構(gòu)同89C51,4KB的閃速EEPROM可在線編程;增強(qiáng)型的存儲(chǔ)容量為普通型的一倍本課以8XX51代表這一系列的單片機(jī)。31.1.1概述51系列單片機(jī)包含下列幾個(gè)部件:一個(gè)8位CPU;一個(gè)片內(nèi)振蕩器及時(shí)鐘電路;4KBROM程序存儲(chǔ)器;128BRAM數(shù)據(jù)存儲(chǔ)器;可尋址64KB外部數(shù)據(jù)存儲(chǔ)器和可尋址64KB外部程序存儲(chǔ)器;32條可編程的I/O線;兩個(gè)16位的定時(shí)/計(jì)數(shù)器;一個(gè)可編程全雙工串行口;5個(gè)中斷源、兩個(gè)優(yōu)先機(jī)級(jí)嵌套中斷結(jié)構(gòu)。4圖1-151系列單片機(jī)內(nèi)部結(jié)構(gòu)P3P1P2可編程串行I/O口P0外部中斷基準(zhǔn)頻率源控制

128/256B數(shù)據(jù)存儲(chǔ)器

4KB/8KB程序存儲(chǔ)器

2/3個(gè)16位定時(shí)/計(jì)數(shù)器

振蕩器及定時(shí)電路

CPU

64KB總線擴(kuò)展控制可編程并行I/O口內(nèi)部中斷計(jì)數(shù)脈沖串行輸出串行輸入5

CPU是單片機(jī)的核心部件。它由運(yùn)算器和控制器等部件組成。1.運(yùn)算器:運(yùn)算器的功能是進(jìn)行算術(shù)運(yùn)算:加、減、乘、除、加1、減1、比較BCD碼十進(jìn)制調(diào)整等;邏輯運(yùn)算:與、或、異或、求反、循環(huán)等邏輯操作;位操作:內(nèi)部有布爾處理器,它以進(jìn)位標(biāo)志位C為位累加器,用來處理位操作。可對(duì)位置“1”、對(duì)位清零、位判斷等;操作結(jié)果的狀態(tài)信息送至狀態(tài)寄存PSW。1.1.2CPU61.2存儲(chǔ)器圖1-2MCS-51單片機(jī)的存儲(chǔ)器邏輯結(jié)構(gòu)FFFFH0000H0FFFH外部

RAM外部ROM內(nèi)部ROM(EA=1)H00008031外部ROM(EA=0)80511000HFFFFH

特殊功能寄存器內(nèi)部數(shù)據(jù)存儲(chǔ)器

內(nèi)部數(shù)據(jù)

RAM7FH80H00HFFH外部數(shù)據(jù)存儲(chǔ)器

(增強(qiáng)型)程序存儲(chǔ)器

地址重疊0FFFHH000071.2.1程序存儲(chǔ)器程序存貯器用于存方編好的程序和表格常數(shù)。程序存貯器是以程序計(jì)數(shù)器PC作地址指針,程序計(jì)數(shù)器為16位,因此可尋址的空間為64K字節(jié)。低4K字節(jié)的程序存貯器可在單片機(jī)的內(nèi)部也可以在單片機(jī)的外部,這是由輸入到引腳EA的電平所確定的。EA應(yīng)接高電平。因?yàn)?9C51內(nèi)部的4K字節(jié)的程序存貯器已完全滿足設(shè)計(jì)的需要了,無需再擴(kuò)展。程序存貯器的傳送指令用MOVCA,@A+PC

MOVCA,@A+DPTR程序存貯器中由7個(gè)單元具有特殊功能。0000H單元:單片機(jī)復(fù)位后程序計(jì)數(shù)器PC的內(nèi)容為0000H,故系統(tǒng)必須從0000H單元開始取指,執(zhí)行程序。它是系統(tǒng)的啟動(dòng)地址,一般在該單元中存放一條絕對(duì)跳轉(zhuǎn)指令,而用戶設(shè)計(jì)的主程序從跳轉(zhuǎn)地址開始存放。8ROM2732實(shí)際圖片9MCS-51的儲(chǔ)存器結(jié)構(gòu)與常見的微型計(jì)算機(jī)的配置方法不同,它將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開,各有自己的尋址方式、控制信號(hào)和功能。程序存儲(chǔ)器用來存放程序和始終要保留的常數(shù)。數(shù)據(jù)存儲(chǔ)器存放程序運(yùn)行中所需要的常數(shù)和變量。從物理空間看,MCS-51有四個(gè)存儲(chǔ)器地址空間:片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器

MCS-51存儲(chǔ)器物理結(jié)構(gòu)見下圖所示:

外部數(shù)據(jù)存儲(chǔ)器

(RAM)外部程序存儲(chǔ)器

(ROM)內(nèi)部程序存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器8XX5110程序存儲(chǔ)器中的幾個(gè)特殊地址的使用:地址用途

0000H復(fù)位操作后的程序入口

0003H外部中斷0服務(wù)程序入口

000BH定時(shí)器0中斷服務(wù)程序入口

0013H外部中斷1服務(wù)程序入口

001BH定時(shí)器1中斷服務(wù)程序入口

0023H串行口中斷服務(wù)程序入口由于兩入口地址之間的存儲(chǔ)空間有限,因此在編程時(shí),通常在這些入口地址開始的兩三個(gè)地址單元中,放入一條轉(zhuǎn)移類指令,已使相應(yīng)的程序轉(zhuǎn)到指定的程序存儲(chǔ)器區(qū)域中執(zhí)行。11例如,外部中斷0對(duì)應(yīng)于0003H,如果使用外部中斷0,則服務(wù)程序必須從0003H開始。如果不使用該中斷,則該地址可用作一般的程序存貯器。各中斷服務(wù)入口地址的間隔為8個(gè)字節(jié)。如果一個(gè)中斷服務(wù)程序足夠短,它可全部位于這8字節(jié)間隔中。長的中斷服務(wù)程序,可在入口地址放一條跳轉(zhuǎn)指令,調(diào)轉(zhuǎn)到真正的服務(wù)程序處。121.2.2數(shù)據(jù)存儲(chǔ)器單片機(jī)內(nèi)部RAM空間為256字節(jié),在物理上又可分為3個(gè)不同的塊:00H~~7FH(0~127):低128字節(jié)RAM塊;80H~~0FFH(128~255):高128字節(jié)RAM塊;80H~~0FFH(128~255):特殊功能寄存器塊(SFR)。13其中高128字節(jié)RAM塊與SFR塊的地址重合的,究竟訪問那一塊使通過不同的尋址方式加以區(qū)分的。訪問高地址RAM時(shí)采用寄存器間接尋址方式,使用指令: MOVA,@Ri

或 MOV@Ri,A;訪問SFR塊時(shí)則只能采用直接尋址方式,使用指令: MOV@Ri,direct

或 MOVdirect,A;訪問低128字節(jié)RAM時(shí),兩種尋址方式都可以采用。內(nèi)部RAM中不同的地址區(qū)域從功能和用途方面來分可分為三個(gè)區(qū)域:工作寄存器區(qū),位尋址區(qū),堆棧和數(shù)據(jù)緩沖器區(qū)。141.3特殊功能寄存器8031有21個(gè)字節(jié)的特殊功能寄存器SFR,起者專用寄存器的作用。21個(gè)特殊功能寄存器不連續(xù)的分布在80H~FFH的128字節(jié)地址空間中,地址為X0H~X8H是可位尋址的寄存器。21個(gè)特殊功能寄存器名稱及主要功能如表1.1所式。(P21)151621個(gè)特殊功能寄存器的名稱及主要功能介紹如下,詳細(xì)的用法見后面各節(jié)的內(nèi)容。A—累加器,自帶有全零標(biāo)志Z,A=0則Z=1;A≠0則Z=0。該標(biāo)志常用于程序分支轉(zhuǎn)移的判斷條件。B—寄存器,常用于乘除法運(yùn)算(見第2章)。PSW—程序狀態(tài)字。主要起著標(biāo)志寄存器的作用,其8位定義見表1-3。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV

-P17其中CY:進(jìn)/借位標(biāo)志:反映最高位的進(jìn)位借位情況,加法為進(jìn)位、減法為借位。

CY=1,有進(jìn)/借位;CY=0,無進(jìn)/借位。AC:輔助進(jìn)/借位標(biāo)志反映高半字節(jié)與低半字節(jié)之間的進(jìn)

/借位,

AC=1有進(jìn)/借位;AC=0無進(jìn)/借位。FO:用戶標(biāo)志位。可由用戶設(shè)定其含義。RS1,RS0:工作寄存器組選擇位。OV:溢出標(biāo)志:反映補(bǔ)碼運(yùn)算的運(yùn)算結(jié)果有無溢出有溢出OV=1,無溢出OV=0。-:無效位。P:奇偶標(biāo)志:運(yùn)算結(jié)果有奇?zhèn)€“1”,P=1;運(yùn)算結(jié)果有偶數(shù)個(gè)“1”,P=0。影響標(biāo)志位的指令及其影響方式見第2章。18SP—堆棧指針:8XX51單片機(jī)的堆棧設(shè)在片內(nèi)RAM,對(duì)堆棧的操作包括壓入(PUSH)和彈出(POP)兩種方式,并且遵循后進(jìn)先出的原則,但在堆棧生成的方向上,與8086正好相反8XX51單片機(jī)的堆棧操作遵循先加后壓,先彈后減的順序,按字節(jié)進(jìn)行操作。DPTR——數(shù)據(jù)指針寄存器:用來存放16位地址值,以便用間接尋址或變址尋址片外存儲(chǔ)器。DPTR可分成DPL和DPH兩個(gè)8位寄存器分別使用。P0、P1、P2、P3——I/O端口寄存器:是四個(gè)并行I/O端口映射入SFR中的寄存器。通過對(duì)該寄存器的讀/寫,可實(shí)現(xiàn)從相應(yīng)I/O端口的輸入/輸出。例如:指令MOVP1,A實(shí)現(xiàn)了把A累加器中的內(nèi)容從P1端口輸出的操作。指令MOVA,P3實(shí)現(xiàn)了把P3端口線上的信息輸入到A中的操作。19此外還有如下寄存器,它們將在后面章節(jié)介紹:IP——中斷優(yōu)先級(jí)控制寄存器;IE——中斷允許控制寄存器;TMOD——定時(shí)器/計(jì)數(shù)器方式控制寄存器;TCON——定時(shí)器/計(jì)數(shù)器控制寄存器;TH0,TL0——定時(shí)器/計(jì)數(shù)器0;TH1,TH1——定時(shí)器/計(jì)數(shù)器1;SCON——串行端口控制寄存器;SBUF——串行數(shù)據(jù)緩沖器;PCON——電源控制寄存器。201.48031時(shí)鐘電路

時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏,MCS-51單片機(jī)內(nèi)有一個(gè)反相放大器組成的振蕩器,引腳XTAL1為反向器的輸入端,XTAL2為反向器的輸出端。

MCS-51的時(shí)鐘可以利用它內(nèi)部的振蕩器產(chǎn)生,只要在XTAL1,XTAL2引腳上外接定時(shí)反饋電路,內(nèi)部振蕩器便自激振蕩,產(chǎn)生時(shí)鐘輸出到內(nèi)部的定時(shí)控制邏輯。定時(shí)反饋電路一般為石英晶振和電容組成的并聯(lián)回路。XTAL1XTAL2GND8XX51C01C02圖1-3內(nèi)部振蕩方式21內(nèi)部振蕩方式:在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)如圖1-3所示。外部振蕩方式:

是把已有的時(shí)鐘信號(hào)引入單片機(jī)。這種方式適宜用于使單片機(jī)的時(shí)鐘與外部信號(hào)保持一致。外部振蕩方式如圖1-4所示。外部時(shí)鐘XTAL1XTAL2GND8XX51懸空外部時(shí)鐘XTAL1XTAL2GND懸空CHMOSHMOS圖1-4外部振蕩方式8XX5122單片機(jī)的時(shí)序單位有:振蕩周期:晶振的振蕩周期,又稱時(shí)鐘周期,為最小的時(shí)序單位。狀態(tài)周期:振蕩頻率經(jīng)單片機(jī)內(nèi)的二分頻器分頻后提供給片內(nèi)CPU的時(shí)鐘周期。因此,一個(gè)狀態(tài)周期包含2個(gè)振蕩周期。機(jī)器周期(MC):1個(gè)機(jī)器周期由6個(gè)狀態(tài)周期及12個(gè)振蕩周期組成。是計(jì)算機(jī)執(zhí)行一種基本操作的時(shí)間單位。指令周期:

執(zhí)行一條指令所需的時(shí)間。一個(gè)指令周期由1~4個(gè)機(jī)器周期組成,依據(jù)指令不同而不同。

4種時(shí)序單位中,振蕩周期和機(jī)器周期是單片機(jī)內(nèi)計(jì)算其他時(shí)間值(例如,波特率、定時(shí)器的定時(shí)時(shí)間等)的基本時(shí)序單位。例:單片機(jī)外接晶振頻率12MHZ時(shí)的各種時(shí)序單位:振蕩周期=1/fosc=1/12MHZ=0.0833μs

狀態(tài)周期=2/fosc=2/12MHZ=0.167μs

機(jī)器周期=12/fosc=12/12MHZ=1μs

指令周期=(1~4)機(jī)器周期=1~4μs231.58031復(fù)位電路計(jì)算機(jī)在起動(dòng)運(yùn)行時(shí)需要復(fù)位,使中央處理器CPU和系統(tǒng)中的其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。HMOS型8031的復(fù)位結(jié)構(gòu)見圖(1-5)所示。復(fù)位引腳RST/VPD通過一個(gè)斯密特觸發(fā)器與復(fù)位電路相連。斯密特觸發(fā)器用來提高系統(tǒng)的抗干擾能力,防止因毛刺噪聲而產(chǎn)生誤動(dòng)。雖然對(duì)于HMOS型單片機(jī),RST復(fù)位端接一個(gè)電容和一個(gè)電阻C和R就能實(shí)現(xiàn)上電自動(dòng)復(fù)位,對(duì)于此設(shè)計(jì)將(一個(gè)200歐姆的限流電阻)、一個(gè)按鈕開關(guān)和電容并聯(lián)。再和決定時(shí)間常數(shù)的電阻R串聯(lián),得到這個(gè)復(fù)位電路,按下開關(guān)就得在RST端出現(xiàn)的約82ms時(shí)間高電平,即8031復(fù)位。在此選用C=10μF,R=8.2K,則τ=RC=8.2×10=82msRST8XX51RCVCC圖1-5復(fù)位電路24單片機(jī)的復(fù)位操作是使SFR寄存器進(jìn)入初始化,不改變片內(nèi)RAM區(qū)中的內(nèi)容。幾個(gè)主要特殊功能寄存器復(fù)位狀態(tài)歸納如下:PC=0000H表明程序計(jì)數(shù)器為零表明單片機(jī)復(fù)位后程序從0000H地址單元開始執(zhí)行。

A=00H表明累加器已被清零。

PSW=00H表明選寄存器0組為工作寄存器組。

SP=07H

表明堆棧指針指向片內(nèi)RAM07H單元,根據(jù)堆棧操作的先加后壓法則,第一個(gè)被壓入的數(shù)據(jù)被寫入08H單元中。P0~P3=FFH表明已向各端口線寫入1,各端口既可用于輸入又可用于輸出。251.68031引腳結(jié)構(gòu)

8031單片機(jī)采用的是40腳雙列直插封裝(DIP)方式。引腳功能右圖(圖3.3.1)是8031單片機(jī)引腳及總線結(jié)構(gòu)圖。在40條引腳中有兩條專用于主電源的引腳,兩條外接晶體引腳,4條控制于其它電源復(fù)用引腳,32條I/O引腳。下面分別敘述這40條引腳的功能:26(一)主電源引腳Vcc和Vss

Vcc(40)—無論是正常操作對(duì)EPROM編程或驗(yàn)證時(shí)都接+5V電源;

Vss(20)—接地。(二)外接晶體引腳XTAL1和XTAL2

XTAL1(19)—

接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部它是一個(gè)反向放大器的輸入端,這個(gè)放大器集成了片內(nèi)振蕩器。

XTAL2(18)—

接外部晶體的另一個(gè)引腳。在單片機(jī)內(nèi)部,接至上述振蕩器的反向放大器的輸出端。在此電路中,晶體選用振動(dòng)頻率為6MHz石英晶體,據(jù)此選擇C3=C4=30PF,這每個(gè)機(jī)器周期為2μs。 27(三)控制或用于其它電源復(fù)用引腳RST/VPD、ALE/PROG、PSEN和EA/VPPRST/VPD(9)上電復(fù)位:當(dāng)振蕩器運(yùn)行時(shí),在此引腳出現(xiàn)兩個(gè)機(jī)器周期的高電平,使單片機(jī)復(fù)位。上電復(fù)位所需的最短時(shí)間是Vcc的上電時(shí)間和起振時(shí)間,再加上兩個(gè)機(jī)器周期。Vcc的上升時(shí)間一般約為10ms,振蕩器的起振時(shí)間和頻率有關(guān),這里我們選用6MHz石英晶體晶振,其起振時(shí)間約為2ms,兩個(gè)機(jī)器周期約為4μs,為了能保證準(zhǔn)確復(fù)位需留有一定裕量。并防止因器件個(gè)體差異帶來不必要的錯(cuò)誤,所以RST的上電時(shí)間應(yīng)保持20ms以上的高電平。時(shí)間常數(shù)τ=RC,RC時(shí)間常數(shù)τ越大,上電時(shí)RST端保持高電平的時(shí)間越長。手動(dòng)復(fù)位:由于受反映速度限制,手動(dòng)時(shí)人的反應(yīng)時(shí)間必然要大20ms,因此,只需選一只限流電阻R=200Ω即可。28ALE/PROG(30)—當(dāng)訪問外部存儲(chǔ)器時(shí),ALE(允許地址鎖存)的輸出用于鎖存地址節(jié),這里,它與74LS373和ALE端

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論