第3章MCS-51單片機的結(jié)構(gòu)與原理_第1頁
第3章MCS-51單片機的結(jié)構(gòu)與原理_第2頁
第3章MCS-51單片機的結(jié)構(gòu)與原理_第3頁
第3章MCS-51單片機的結(jié)構(gòu)與原理_第4頁
第3章MCS-51單片機的結(jié)構(gòu)與原理_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 MCS-51單片機的結(jié)構(gòu)與原理 3.1 MCS-51單片機的內(nèi)部結(jié)構(gòu) 表3-1 MCS-51系列芯片及制造工藝ROM型無ROM型EPROM型片內(nèi)ROM/KB片內(nèi)RAM/B16位定時器制造工藝80518031875141282HMOS8051AH8031AH8751H41282HMOS8052AH8032AH8752BH82562HMOS80C51BH80C31BH87C5141282CHMOS3.1.1 存儲器結(jié)構(gòu) MCS-51的存儲器不僅有ROM和RAM之分,而且有片內(nèi)和片外之分。 存儲器的地址分配有三個地址空間:ROM存儲器地址空間(包括片內(nèi)ROM和片外ROM),地址范圍是0000

2、HFFFFH;片內(nèi)RAM地址空間,地址范圍是00HFFH;片外RAM地址空間,地址范圍是0000HFFFFH,如圖3-2所示。 (a)ROM存儲器地址分配 (b)RAM存儲器地址分配 圖3-2 MCS-51存儲器地址分配外部ROM片內(nèi)ROM (=1)外部ROM(=0)FFFFH1000H0FFFH0000HFFH80HFFH80H高128BRAM區(qū)(8051無)SFR區(qū)低128BRAM區(qū)7FH00H外部RAMFFFFH1000H1ROM 不論是8031還是8051,都可以外接外部ROM,但片內(nèi)和片外之和不能超過64KB。8051和87C51都有64KB ROM的尋址區(qū),其中OOOOHOFFFH

3、的4KB地址區(qū)可以為片內(nèi)ROM和片外ROM公用,但不能為兩者同時占用。為了指示機器的這種占用,器件設計者為用戶提供了一條專用的控制引腳。若接+5V高電平,則機器使用片內(nèi)4KB ROM,而當指令地址超過0FFFH后,就自動地轉(zhuǎn)向片外ROM取指令;若接低電平,則機器自動使用片外ROM,1000HFFFFH的60KB地址區(qū)為片外ROM所專用。由于8031片內(nèi)無ROM,故它的應接地。 2片內(nèi)RAM 8051的片內(nèi)RAM雖然字節(jié)數(shù)并不很多,但卻起著十分重要的作用。256個字節(jié)被劃分為兩個區(qū)域:OOH7FH為片內(nèi)RAM的低128字節(jié)區(qū),是真正的RAM區(qū),可以讀寫各種數(shù)據(jù); 80HFFH為片內(nèi)RAM的高12

4、8字節(jié)區(qū),專門用作特殊功能寄存器(SFR)的區(qū)域。符號物理地址名 稱*ACCE0H 累加器 *BF0H B寄存器*PSWD0H 程序狀態(tài)字 SP81H 堆棧指針DPL82H 數(shù)據(jù)寄存器指針(低8位)DPH83H 數(shù)據(jù)寄存器指針(高8位) *P080H 通道0*P190H 通道1*P2A0H 通道2*P3B0H 通道3*IPB8H 中斷優(yōu)先級控制器*IEA8H 中斷允許控制器TMOD89H 定時器方式選擇 PCON87H 電源控制器 表3-2 特殊功能寄存器一覽表 *TCON88H 定時器控制器 *+T2CONC8H 定時器2控制器TH08CH 定時器0高8位TL0 8AH 定時器0低8位TH1

5、 8DH 定時器1高8位TL1 8BH 定時器1低8位+TH2CDH 定時器2高8位+TL2CCH 定時器2低8位 +RCAP2HCBH定時器2捕捉寄存器高8位 +RCAP2LCAH定時器2捕捉寄存器低8位 *SCON98H 串行控制器 SBUF99H 串行數(shù)據(jù)緩沖器 在OOH7FH這個低128字節(jié)區(qū)內(nèi),根據(jù)不同的功能又可劃分為工作寄存器區(qū)、位尋址區(qū)和便箋區(qū)三個子區(qū)域 。(1)工作寄存器區(qū)(OOH1FH) 這32個RAM單元共分4組,每組占8個RAM單元,分別用代號ROR7表示。(2)位尋址區(qū)(20H2FH) 既可以像普通RAM單元一樣按字節(jié)存取,也可以對每個RAM單元中的任何一位單獨存取,這

6、就是位尋址。 20H2FH用作位尋址時,每位都分配了一個特定地址,即OOH7FH,這些地址稱為位地址,如圖3-3所示。 位地址可以直接使用位尋址區(qū)的物理地址表示,也可以采用字節(jié)地址和位數(shù)相結(jié)合的表示方法 在21個特殊功能寄存器中,也有相當一部分是可以進行位尋址的。進行位尋址時,可用“寄存器名.位”來表示位地址(3)便箋區(qū)(30H7FH) 便箋區(qū)共有80個RAM單元,用于存放用戶數(shù)據(jù)或作堆棧區(qū)使用。MCS-51對便箋區(qū)中每個RAM單元是按字節(jié)存取的。 3片外RAM 如果片內(nèi)RAM容量太小,不能滿足控制需要,也可以外接片外RAM。但片外RAM的最大容量不能超過64KB,地址范圍為OOOOHFFFF

7、H,在地址上是和片外ROM重疊的。8051通過不同的控制信號來選通片外ROM或片外RAM 3.1.2 CPU結(jié)構(gòu) 8051內(nèi)部CPU是一個字長為二進制8位的中央處理單元。1. 算術(shù)邏輯部件(ALU) 性能極強的運算器,它既可以進行加、減、乘、除四則運算,也可以進行與、或、非、異或等邏輯運算,還具有數(shù)據(jù)傳送、移位、判斷和程序轉(zhuǎn)移等功能。 由一個加法器ACC、兩個8位暫存器(TMP1與TMP2)和一個性能卓著的布爾處理器(在圖3-1中未畫出)組成。 2定時控制部件 定時控制部件起著控制器的作用,由定時控制邏輯、指令寄存器IR和振蕩器OSC等電路組成。 圖3-4 HMOS型單片機內(nèi)部振蕩器 3專用寄

8、存器組(1)程序計數(shù)器PC(Program Counter) 程序計數(shù)器PC是一個二進制16位的程序地址寄存器,專門用來存放下一條將要執(zhí)行指令的內(nèi)存地址,能自動加1。 CPU執(zhí)行指令時,它是先根據(jù)PC中的地址從存儲器中取出當前需要執(zhí)行的指令碼 。 (2)累加器A( Accumulator) 累加器A又記作ACC,是一個具有特殊用途的二進制8位寄存器,專門用來存放操作數(shù)或運算結(jié)果。 (3)通用寄存器B(General-Purpose Register) 通用寄存器B是專門為乘法和除法設置的寄存器,也是一個二進制8位寄存器。 (4)程序狀態(tài)字PSW(Program Status Word) PSW

9、是一個8位標志寄存器,用來存放指令執(zhí)行后的有關(guān)狀態(tài)。PSW中各位狀態(tài)通常是在指令執(zhí)行過程中自動形成的,但也可以由用戶根據(jù)需要采用傳送指令加以改變。它的各標志位定義如下:PSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0CyACF0RS1RS0OV-P進位標志位Cy(Carry):用于表示加減運算過程中最高位A7(累加器最高位)有無進位或借位。輔助進位位AC( Auxiliary Carry):用于表示加減運算時低4位(即A3)有無向高1位(即A4)進位或借位。用戶標志位FO( Flag zero):FO標志位的狀態(tài)由用戶根據(jù)程序執(zhí)行的需要通過傳送指令確定的。寄存器選擇位RS1和R

10、SO:用戶通過改變RS1和RSO的狀態(tài)可以方便地決定ROR7的實際物理地址。RS1、RS0R0R7的組號R0R7的物理地址00000H07H01108H0FH10210H17H11318H1FH溢出標志位OV(OVerflow):可以指示運算過程中是否發(fā)生了溢出,由機器執(zhí)行指令過程中自動形成。奇偶標志位P(Parity):用于指示運算結(jié)果中1的個數(shù)的奇偶性。若P=1,則累加器A中1的個數(shù)為奇數(shù);若P=O,則累加器A中1的個數(shù)為偶數(shù)。(5)堆棧指針SP(Stack Pointor) 堆棧指針SP是一個8位寄存器,能自動加1或減1,專門用來存放堆棧的棧頂?shù)刂贰6褩^(qū)按“先進后出”或“后進先出”規(guī)律

11、存取數(shù)據(jù)的RAM區(qū)域(8051片內(nèi)RAM共有128B,地址范圍為OOH7FH,可用作堆棧) 。 8051的堆棧屬于向上生長型,在數(shù)據(jù)壓入堆棧時,SP的內(nèi)容自動加1,作為本次進棧的地址指針,然后再存入信息。 8051單片機復位后,堆棧指針SP總是初始化到內(nèi)部RAM地址07H。從08H開始就是8051的堆棧。 (6)數(shù)據(jù)指針DPTR(Data Pointer) 數(shù)據(jù)指針DPTR是一個16位的寄存器,由兩個8位寄存器DPH和DPL組成。其中,DPH為DPTR的高8位,DPL為DPTR的低8位。 3.1.3 I/O端口 I/O端口又稱為I/O接口,也叫做I/O通道或I/O通路。I/O端口是MCS-51

12、單片機對外部實現(xiàn)控制和信息交換的必經(jīng)之路,是一個過渡的集成電路,用于信息傳送過程中的速度匹配和增強它的負載能力。 1并行I/O端口 8051有4個并行I/O端口,分別命名為PO、Pl、P2和P3,在這4個并行I/O端口中,每個端口都有雙向I/O功能。 4個端口在進行I/O方式時,特性基本相同,共有寫端口、讀端口和讀引腳三種操作方式: 作為輸出口用時,內(nèi)部帶鎖存器,故可以直接和外設相連,不必外加鎖存器。 作為輸入口用時,都有兩種工作方式,即“讀端口”和“讀引腳”。 讀端口時實際上并不是從外部讀入數(shù)據(jù),而只是把端口鎖存器中的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運算和變換后,再寫回到端口鎖存器。屬于這種方式

13、的指令稱為“讀-改-寫”指令。 讀引腳時才真正地把從外部加到引腳上的輸入數(shù)據(jù)讀入到內(nèi)部總線。 注意,在從外部讀入數(shù)據(jù)時,也就是讀引腳時,要先通過指令,將端口鎖存器置1,然后再進行讀引腳操作,否則就可能讀入出錯。 PO口、P2口和P3口除可用作通用的I/O外,還具有特殊的功能。例如,當向外部存儲器讀寫信號時,PO口就分時地作為低8位地址線和數(shù)據(jù)總線使用,P2口可用作高8位地址線使用,等等。P3口除可以作為通用I/O口使用外,每位都有各自的第二功能。P3口的位第二功能注釋P3.0RXD串行數(shù)據(jù)接收口P3.1TXD串行數(shù)據(jù)發(fā)送口P3.2外中斷0輸入P3.3外中斷1輸入P3.4T0 計數(shù)器0計數(shù)輸入P

14、3.5T1 計數(shù)器1計數(shù)輸入P3.6外部RAM寫選通信號P3.7外部RAM讀選通信號 2串行I/O端口 8051內(nèi)部有一個全雙工的可編程串行I/O端口。 3.1.4 定時/計數(shù)器 8051內(nèi)部有兩個16位可編程定時計數(shù)器,記為T0和T1。T0由兩個8位寄存器THO和TLO拼裝而成,其中THO為高8位,TLO為低8位。 可編程是指它們的工作方式可以由指令來設定:或者當計數(shù)器用,或者當定時器用,并且計數(shù)(定時)的范圍也可以由指令來設置。對TO和T1的控制由兩個8位特殊功能寄存器完成:一個稱為定時器方式選擇寄存器TMOD,用于確定是定時器還是計數(shù)器工作模式;另一個叫做定時器控制寄存器TCON,可以決

15、定定時器或計數(shù)器的啟動、停止以及進行中斷控制。 3.1.5 中斷系統(tǒng) 計算機中的中斷是指CPU暫停原程序執(zhí)行轉(zhuǎn)而為外部設備服務(執(zhí)行中斷服務程序),并在服務完后回到原程序執(zhí)行的過程。中斷系統(tǒng)是指能夠處理上述中斷過程所需要的那部分電路。 中斷源是指能產(chǎn)生中斷請求信號的源泉。8051的中斷系統(tǒng)允許接受5個獨立的中斷源:外部中斷源有兩個,通常指外部設備;內(nèi)部中斷源有三個,兩個定時計數(shù)器中斷源和一個串行口中斷源。 8051的中斷系統(tǒng)主要由中斷允許控制寄存器IE (Interrupt Enable)和中斷優(yōu)先級控制器IP等電路組成。 3.2 MCS-51單片機的引腳及其功能 8051有40條引腳,共分為

16、端口線、電源線和控制線三類。 1端口線(48=32條)P0.7PO.0:這組引腳共有8條,為PO口所專用。這8條引腳共有兩種不同的功能,第一種作為通用I/O口使用,用于傳送CPU的輸入輸出數(shù)據(jù)。第二種在CPU訪問片外存儲器時先是用于傳送片外存儲器的低8位地址,然后傳送CPU對片外存儲器的讀寫數(shù)據(jù)。 Pl.7P1.O:當Pl口作為通用I/O使用時,Pl.7P1.O的功能和PO口的第一功能相同,也用于傳送用戶的輸入輸出數(shù)據(jù)。 P2.7P2.0:這組引腳的第一功能和上述引腳相同,即它可以作為通用I/O使用。它的第二功能用于輸出片外存儲器的高8位地址。 P3.7P3.0:這組引腳的第一功能和其余三個端

17、口的第一功能相同。第二功能作控制用,每個引腳并不完全相同,如表3-4所示。 2電源線(2條) VCC為+5V電源線,VSS為接地線。 3控制線(6條) ALE/ :地址鎖存允許編程線,配合P0口引腳的第二功能使用。即在訪問片外存儲器時其下降沿用于把這個片外存儲器低8位地址鎖存到外部專用地址鎖存器。/EA/VPP:允許訪問片外存儲器編程電源線。它可以控制8051使用片內(nèi)ROM還是使用片外ROM。若/EA =1,則允許使用片內(nèi)ROM;若/EA =0,則允許使用片外ROM。 /PSEN:片外ROM選通線。在執(zhí)行訪問片外ROM的指令MOVC時,8051自動在 /PSEN線上產(chǎn)生一個負脈沖,用于為片外R

18、OM芯片的選通。 RSTVPD:復位備用電源線,可以使8051處于復位(即初始化)工作狀態(tài)。 RSTVPD的第二功能是作為備用電源輸入端。當主電源VCC發(fā)生故障而降低到規(guī)定低電平時,RSTVPD線上的備用電源自動投入,以保證片內(nèi)RAM中信息不丟失。XTAL1和XTAL2:在使用單片機內(nèi)部振蕩電路時,這兩個引腳用來外接石英晶體和微調(diào)電容(圖3-9)。在使用外部時鐘時,則用來輸入時鐘脈沖,常用的幾種電路結(jié)構(gòu)如圖3-10所示。3.3 MCS-51單片機的工作方式 3.3.1 復位方式 條件:RST引腳是高電平,并且持續(xù)時間要有24個時鐘周期以上。 中央處理器CPU以及其他功能部件都處于一個確定的初始

19、狀態(tài),并從這個狀態(tài)開始工作。 寄存器名內(nèi) 容寄存器名內(nèi) 容 PC 0000H TCON 00H ACC 00H TH0 00H B 00H TL0 00H PSW 00H TH1 00H SP 07H TL1 00H DPTR 0000H TH2(8052) 00H P0P3 FFH TL2(8052) 00HIP(8051)00000BRCAP2H(8052) 00HIP(8052) 000000BRCAP2L(8052) 00HIE(8051)000000B SCON 00HIE(8052) 0000000B PCON(HMOS)0B SBUF 不定PCON(CHMOS) 00000B T

20、MOD 00H3.3.2 程序執(zhí)行方式 程序執(zhí)行方式是單片機的基本工作方式,通??梢苑譃閱尾綀?zhí)行和連續(xù)執(zhí)行兩種工作方式。1單步執(zhí)行方式 單步執(zhí)行方式是指單片機在控制面板上的某個按鈕(即單步執(zhí)行鍵)控制下逐條執(zhí)行用戶程序中指令的方式,即按一次鍵,執(zhí)行一條指令。單步執(zhí)行方式常常用于用戶程序的調(diào)試。LOOPl:JNB P3.2,LOOP1;若/INT0=0,則不往下執(zhí)行LOOP2:JB P3.2,LOOP2;若/INT0=1,則不往下執(zhí)行RETI并返回用戶程序中執(zhí)行一條用戶指令,這條用戶指令執(zhí)行完后,單片機又自動回到上述中斷服務程序執(zhí)行,并等待用戶再次按下單步執(zhí)行鍵。 2連續(xù)執(zhí)行方式 由于單片機復位

21、后PC= OOOOH,因此機器在加電或按鈕復位后總是轉(zhuǎn)到OOOOH處執(zhí)行程序,這就可以預先在OOOOH處放一條轉(zhuǎn)移指令,以便跳轉(zhuǎn)到真正的程序入口地址處。3.3.3 節(jié)電工作方式 節(jié)電方式是一種能減少單片機功耗的工作方式,通常可以分為空閑(等待)方式和掉電(停機)方式兩種,只有CHMOS型器件才有這種工作方式。 CHMOS型單片機的節(jié)電方式是由特殊功能寄存器PCON控制的,PCON各位定義為:PCON.7PCON.6PCON.5PCON.4PCON.3PCON.2PCON.1PCON.0SMOD-GF1GF0PDIDL 1掉電方式 80C31執(zhí)行如下指令便可進入掉電方式: MOV PCON,#0

22、2H ;PD1 片內(nèi)所有功能部件停止工作,但片內(nèi)RAM和特殊功能寄存器中的內(nèi)容保持不變 在掉電期間,VCC電源可以降為2V 80C31從掉電狀態(tài)退出的唯一方法是硬件復位 ,復位以后SFR被重新初始化,但RAM中的內(nèi)容保持不變 2空閑方式 80C31執(zhí)行如下指令可以進入空閑方式: MOV PCON,#O1H ;IDL1 CPU進入空閑狀態(tài)后是不工作的,但各功能部件保持了進入空閑狀態(tài)前的內(nèi)容,且消耗功耗很少。 CHMOS型器件退出空閑狀態(tài)有兩種方法。一種是讓被允許中斷的中斷源發(fā)出中斷請求;另一種使CPU退出空閑狀態(tài)的方法是硬件復位,圖3-12 80C31系統(tǒng)供電框圖3.3.4 編程和校驗方式 編程

23、是指利用特殊手段對單片機片內(nèi)EPROM進行寫操作的過程,校驗則是對剛剛寫入的程序代碼進行讀出驗證的過程。因此,單片機的編程和校驗方式只有EPROM型器件才有,如8751這樣的器件。 8751和8051類似,只是8751片內(nèi)的4KB程序存儲器是EPROM型的,不像8051那樣是ROM型的。8751片內(nèi)EPROM有編程、校驗和保密編程三種工作方式。3.4 MCS-51單片機的時序 單片機時序就是CPU在執(zhí)行指令時所需控制信號的時間順序。3.4.1 機器周期和指令周期 1時鐘周期 時鐘周期T又稱為振蕩周期,由單片機片內(nèi)振蕩電路OSC產(chǎn)生,常定義為時鐘脈沖頻率的倒數(shù),是時序中最小的時間單位。 2機器周期 機器周期定義為實現(xiàn)特定功能所需的時間,通常由若干時鐘周期T構(gòu)成。因此,微型計算機的機器周期常常按其功能來命名,且不同機器周期所包含的時鐘周期的個數(shù)也不相同。 MCS-51的機器周期沒有采用上述方案,它的機器周期時間是固定不變的,均由12個時鐘周期T組成,分為6個狀態(tài)(S1S6),每個狀態(tài)又分為Pl和P2兩拍。 3指令周期 指令周期是時序中的最大時間單位,定義為執(zhí)行一條指令所需的時間。由于機器

溫馨提示

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

評論

0/150

提交評論