MCS-51單片機的內(nèi)部結(jié)構(gòu).ppt
《MCS-51單片機的內(nèi)部結(jié)構(gòu).ppt》由會員分享,可在線閱讀,更多相關(guān)《MCS-51單片機的內(nèi)部結(jié)構(gòu).ppt(46頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第二章MCS-51單片機的內(nèi)部結(jié)構(gòu),MCS-51單片機結(jié)構(gòu)及工作原理MCS-51單片機引腳及外部總線結(jié)構(gòu)CPU時序及輔助電路MCS-51單片機存儲器結(jié)構(gòu),,MCS-51的總體結(jié)構(gòu),,,,MCS-51系列單片機是高性能的8位單片機,該系列中有8051、8031、8751等,這三種單片機除內(nèi)置程序存儲器有區(qū)別外,內(nèi)部結(jié)構(gòu)和引腳相同。其中8051是最早最典型的產(chǎn)品,該系列其它單片機都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而來的,所以人們習(xí)慣于用8051來稱呼MCS51系列單片機。8031:內(nèi)部無程序存儲器ROM,須外接EPROM。8051:ROM型單片機,內(nèi)含4K字節(jié)ROM。8751:EPROM型單片機,內(nèi)含4K字節(jié)EPROM。,MCS-51基本構(gòu)成CPU:8位存儲器:128字節(jié)RAM21個專用寄存器4K字節(jié)ROM存儲器并行口:4個8位并行口串行口:1個全雙工的串行口定時器/計數(shù)器:2個16位的定時器/計數(shù)器中斷系統(tǒng):5個中斷源,兩個中斷優(yōu)先級尋址范圍:64K字節(jié)(程序存儲區(qū)和外部數(shù)據(jù)存儲區(qū)各64K),,MCS-51的總體結(jié)構(gòu),,,,,MCS-51的內(nèi)部結(jié)構(gòu),,,,,,,,,,MCS-51的CPU,,,,CPU:單片機的核心部分,是單片機的指揮和執(zhí)行部件。包含兩個基本部分:運算器和控制器。,運算器:進(jìn)行算術(shù)和邏輯運算,存儲運算結(jié)果并作相應(yīng)標(biāo)記??刂破鳎嚎刂朴嬎銠C各部分協(xié)調(diào)工作。,,MCS-51的CPU:運算器,,,,1.算術(shù)邏輯運算部件ALU:完成各種算術(shù)運算和邏輯運算2.寄存器:CPU內(nèi)部沒有單獨的存儲器,而是設(shè)置了一些工作寄存器,暫存數(shù)據(jù)和狀態(tài)等(1)累加器ACC:可存放操作數(shù)和運算的中間結(jié)果;(2)寄存器B:主要用于乘、除運算。寄存器B也可作為一般的寄存器用。,,MCS-51的CPU:運算器,,,,2.寄存器(3)程序狀態(tài)字PSW程序狀態(tài)字是8位寄存器,用于指示程序運行狀態(tài)信息。其中有些位是根據(jù)程序執(zhí)行結(jié)果由硬件自動設(shè)置的,而有些位可由用戶通過指令方法設(shè)定。,PSW中各標(biāo)志位名稱及定義如下:,,,,,程序狀態(tài)字PSW,C:也表示為CY進(jìn)(借)位標(biāo)志位在加減運算中,若操作結(jié)果的最高位有進(jìn)位或有借位時,CY由硬件自動置1,否則就清0。在位操作中,CY作為位累加器使用,參于進(jìn)行位傳送、位與、位或等位操作。另外某些控制轉(zhuǎn)移類指令也會影響CY位狀態(tài)。,,,,,程序狀態(tài)字PSW,AC:輔助進(jìn)(借)位標(biāo)志位。在加減運算中,當(dāng)?shù)退奈幌蚋咚奈贿M(jìn)位或借位時此標(biāo)志位由硬件自動置1,否則就清0。F0:用戶標(biāo)志位,由用戶通過軟件設(shè)定,用以控制程序轉(zhuǎn)向。,,,,,程序狀態(tài)字PSW,RS1,RS0:寄存器組選擇位用于設(shè)定當(dāng)前通用寄存器組的組號。通用寄存器組共有4組,其對應(yīng)關(guān)系如下,程序狀態(tài)字PSW,,,,,OV:溢出標(biāo)志位在帶符號數(shù)(補碼數(shù))的加減中,OV=1表示運算的結(jié)果超出了累加器A的八位符號數(shù)表示范圍(-128~+127),產(chǎn)生溢出,因此運算結(jié)果是錯誤的。OV=0,表示未超出表示范圍,運算結(jié)果正確。乘法時,OV=1,表示結(jié)果大于255,結(jié)果分別存在A,B寄存器中。OV=0,表示結(jié)果未超出255,結(jié)果只存在A中。除法時,OV=1,表示除數(shù)為0。OV=0,表示除數(shù)不為0。,程序狀態(tài)字PSW,,,,,D1位未定義。可用偽指令將它定義為F1,如同F(xiàn)0一樣,作為用戶設(shè)定的軟件標(biāo)志位。P:奇偶標(biāo)志位。表示累加器A中數(shù)的奇偶性;在每個指令周期由硬件根據(jù)A的內(nèi)容的奇偶性,對P自動置位或復(fù)位。P=1,表示A中內(nèi)容有奇數(shù)個1。,,MCS-51的CPU,,,,CPU:運算器、控制器,控制計算機各部分協(xié)調(diào)工作。,,MCS-51的CPU:控制器,,,,程序計數(shù)器PC(ProgramCounter)PC是一個16位計數(shù)器,其內(nèi)容為單片機將要執(zhí)行的指令機器碼所在存儲單元的地址。PC具有自動加1的功能,從而實現(xiàn)程序的順序執(zhí)行。由于PC不可尋址的,因此用戶無法對它直接進(jìn)行讀寫操作,但可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉(zhuǎn)移。PC的尋址范圍為64KB,即地址空間為0000~0FFFFH。,,MCS-51的CPU:控制器,,,,數(shù)據(jù)指針DPTR數(shù)據(jù)指針DPTR為16位寄存器,它是MCS—51中唯一的一個16位寄存器。DPTR通常在訪問外部數(shù)據(jù)存儲器時作為地址指針使用,尋址范圍為64KB。編程時,既可按16位寄存器使用,也可作為兩個8位寄存器分開使用。DPH為DPTR的高八位寄存器,DPL為DPTR的低八位寄存器。,,MCS-51的CPU:控制器,,,,堆棧指針SPSP為8位寄存器,用于指示棧頂單元地址。堆棧是一種數(shù)據(jù)結(jié)構(gòu),只允許在其一端進(jìn)行數(shù)據(jù)刪除和數(shù)據(jù)插入操作的線性表。數(shù)據(jù)寫入堆棧叫入棧(PUSH),數(shù)據(jù)讀出堆棧叫出棧(POP)。堆棧的最大特點是“后進(jìn)先出”的數(shù)據(jù)操作原則。,,進(jìn)棧:使SP的內(nèi)容增1后作數(shù)據(jù)壓入操作;出棧:先把棧頂?shù)臄?shù)據(jù)彈出,然后使SP的內(nèi)容減1。,堆棧的功用堆棧的主要功用是保護(hù)斷點和保護(hù)現(xiàn)場。因為計算機無論是執(zhí)行中斷程序還是子程序,最終要返回主程序,在轉(zhuǎn)去執(zhí)行中斷或子程序時,要把主程序的斷點保護(hù)起來,以便能正確的返回。同時,在執(zhí)行中斷或子程序時,可能要用到一些寄存器,需把這些寄存器的內(nèi)容保護(hù)起來,即保護(hù)現(xiàn)場。堆棧的設(shè)置MCS—51系列單片機的堆棧通常設(shè)置在內(nèi)部RAM的30H~7FH之間。堆棧指示器SPSP為8位寄存器,用于指示棧頂單元地址。由于SP的內(nèi)容就是堆?!皸m敗钡拇尜A單元地址,因此可以用改變SP內(nèi)容的方法來設(shè)置堆棧的初始位置。當(dāng)系統(tǒng)復(fù)位后,SP的內(nèi)容為07H,但為防止數(shù)據(jù)沖突現(xiàn)象發(fā)生,堆棧最好設(shè)置在內(nèi)部RAM的30H~7FH單元之間,例如使(SP)=30H。,,MCS-51的CPU:控制器,,,,,MCS-51的CPU:控制器,,,,指令寄存器、譯碼器、定時指令寄存器(IR):存放所取出的指令指令譯碼器(ID):對指令進(jìn)行譯碼定時和控制電路:根據(jù)指令發(fā)出時序控制信號。,指令執(zhí)行過程基本概念指令:是計算機執(zhí)行某種操作的命令。指令通常由操作碼和操作數(shù)兩部分組成。操作碼:表示計算機執(zhí)行什么具體操作。操作數(shù):表示參加操作的數(shù)或操作數(shù)所在的地址。程序:為完成某項工作,將一系列指令有序地組合。,,MCS-51的CPU:控制器,,,,例:LDA,2;把數(shù)2送入A累加器中ADDA,6;累加器A和數(shù)6相加,結(jié)果存入A中上面程序轉(zhuǎn)化為計算機可識別的機器語言00111110LDA,2的操作碼00000010LDA,2的操作數(shù)211000110ADDA,6的操作碼00000110ADDA,6的操作數(shù)6,執(zhí)行指令:第一階段:取指令,并在取得指令操作碼后進(jìn)行譯碼;第二階段:執(zhí)行指令,即取操作數(shù),然后按操作碼的性質(zhì)對操作數(shù)進(jìn)行操作。,,MCS-51的CPU:控制器,,,,MCS-51單片機結(jié)構(gòu)及工作原理MCS-51單片機引腳及外部總線結(jié)構(gòu)CPU時序及輔助電路MCS-51單片機存儲器結(jié)構(gòu),第二章MCS-51單片機的內(nèi)部結(jié)構(gòu),,MCS-51的引腳,,,,,MCS—51系列單片機的芯片一般都采用40個引腳的雙列直插式封裝(DIP)方式。其中有些CHMOS制造工藝的單片機芯片還采用44個引腳的方形封裝(LCC或QFP)方式,44個引腳中標(biāo)識有NC的4個引腳為空引腳。,,MCS-51的引腳,,,,,主電源及地引腳VCC(40腳):電源(接+5V)VSS(20腳):地線。外接晶振引腳(時鐘電路引腳)XTAL1(19腳):接外部晶振的一個引腳(內(nèi)部反相放大器的輸入端)XTAL2(18腳):接外部晶振的一個引腳(內(nèi)部反相放大器的輸出端),,,,,MCS-51的引腳,,,,,并行輸入/輸出(I/O)引腳P0.0~P0.7(39~32腳):P0口是8位雙向I/O口,分時提供低8位地址和作8位雙向數(shù)據(jù)總線;P1.0~P1.7(1~8腳):P1口是8位準(zhǔn)雙向I/O口;P2.0~P2.7(21~28腳):P2口是8位準(zhǔn)雙向I/O口。當(dāng)CPU訪問外部存儲器時,它輸出高8位地址;P3.0~P3.7(10~17腳):P3口是8位準(zhǔn)雙向I/O口。它是一個復(fù)用功能口。,,,,,,,,MCS-51的引腳,,P3.0~P3.7(10~17腳):它是一個復(fù)用功能口。作為第一功能使用時,為普通I/O口,與P1口相同。作為第二功能使用是,各腳的定義如下表。,/VPP(31腳):訪問程序存貯器選擇信號輸入線。當(dāng)為低電平時,CPU只能訪問外部程序存儲器;當(dāng)為高電平時,CPU可訪問內(nèi)部程序存儲器(當(dāng)8051單片機的PC值小于等于0FFFH時),也可訪問外部程序存儲器(當(dāng)PC值大于0FFFH時)。,,MCS-51的引腳,,,,,RST/VPD(RESET,9腳)復(fù)位信號輸入引腳,高電平有效。在該引腳上輸入持續(xù)2個機器周期以上的高電平時,單片機系統(tǒng)復(fù)位。,,,,,,,MCS-51的引腳,(29腳):外部程序存儲器的讀選通輸出信號,低電平有效。在讀外部程序存儲器時CPU會送出有效的低電平信號。,,ALE/PROG(30腳):地址鎖存允許信號輸出端,高電平有效。在訪問外部存儲器時,該信號將控制P0口送出的低8位地址鎖存到外部地址鎖存器中。,MCS-51的片外總線結(jié)構(gòu),總線:是用來傳送信息的一組導(dǎo)線,它為CPU和其他部件之間提供數(shù)據(jù)、地址、和控制信息的傳輸通道。一般包括:地址總線AB:用來傳送地址信息。地址總線是由CPU出發(fā)的,因而是單向的。地址總線的位數(shù)決定了CPU可直接尋址的內(nèi)存范圍。數(shù)據(jù)總線DB:用于傳送數(shù)據(jù)信息。數(shù)據(jù)既可以從CPU傳送到存儲器或輸入輸出接口,也可以從存儲器或輸入輸出接口傳送到CPU,因而是雙向的。控制總線CB:用于傳送控制信號。一種是有CPU發(fā)出到存儲器或輸入輸出接口,一種是有輸入輸出接口發(fā)送到CPU的控制信號。,MCS-51的片外總線結(jié)構(gòu),外部總線1.地址總線AB2.數(shù)據(jù)總線DB3.控制總線CB,MCS-51的片外總線結(jié)構(gòu),地址總線AB:寬度為16位;因此,外部存儲器直接尋址為64k字節(jié)。16位地址總線中,有P0口經(jīng)地址鎖存器提供低8為地址A0-A7,P2口直接提供高8位地址A8-A15。數(shù)據(jù)總線DB:寬度為8位,由P0口提供??刂瓶偩€CB:由P3口的第二功能狀態(tài)和4根獨立控制線組成,第二章MCS-51單片機的內(nèi)部結(jié)構(gòu),MCS-51單片機結(jié)構(gòu)及工作原理MCS-51單片機引腳及外部總線結(jié)構(gòu)CPU時序及輔助電路MCS-51單片機存儲器結(jié)構(gòu),MCS-51的時序:CPU的時序,,時序的基本概念計算機的工作過程就是不斷執(zhí)行指令的過程。CPU每執(zhí)行一條指令,都要進(jìn)行取指令、譯碼、執(zhí)行指令。這些操作都必須按照時間節(jié)拍一步步地順序完成。人們把CPU執(zhí)行一條指令的各個操作所對應(yīng)的脈沖信號遵循的時間順序稱為時序。時序嚴(yán)格地規(guī)定了單片機內(nèi)部以及與外部各功能部件相互配合協(xié)調(diào)工作的時空關(guān)系。時序圖:直觀展現(xiàn)CPU的時序。把執(zhí)行一條指令時對應(yīng)信號線上有關(guān)信息的變化按時間序列以特定的波形表示出來。,MCS-51的時序:CPU的時序,,按指令的執(zhí)行過程,定義了四種周期:振蕩周期:為單片機提供定時信號的振蕩源的周期;時鐘周期:振蕩脈沖二分頻,又稱為狀態(tài)周期S;機器周期:完成一個基本操作(如取指令、讀存儲器等)所需要的時間稱為機器周期。機器周期由6個狀態(tài)周期(12個振蕩周期)組成。指令周期:CPU執(zhí)行一條指令所需要的時間,可包含1~4個機器周期。,MCS-51的復(fù)位和復(fù)位電路,,復(fù)位計算機在啟動運行時都需要復(fù)位,使CPU和系統(tǒng)中的其他部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。只要在MCS-51單片機的RST引腳輸入24個振蕩周期(即2個機器周期)以上的高電平,單片機即被復(fù)位。復(fù)位是單片機系統(tǒng)的初始化操作,系統(tǒng)復(fù)位后會對專用寄存器和單片機的個別引腳信號有影響,復(fù)位后對一些專用寄存器的影響情況如下:,(PC)=0000H:系統(tǒng)復(fù)位后,使單片機從0000H單元開始執(zhí)行程序。(SP)=07H:單片機自動把堆棧的棧底設(shè)置在內(nèi)部RAM07H單元,從08H單元開始存儲數(shù)據(jù)。其余的專用寄存器在復(fù)位后都全部清“0”。此外,復(fù)位操作還對單片機的個別引腳信號有影響,如把ALE和PSEN信號變?yōu)闊o效狀態(tài),即ALE=1,PSEN=1。復(fù)位操作對內(nèi)部RAM不產(chǎn)生影響。,MCS-51的復(fù)位和復(fù)位電路,,第二章MCS-51單片機的內(nèi)部結(jié)構(gòu),MCS-51單片機結(jié)構(gòu)及工作原理MCS-51單片機引腳及外部總線結(jié)構(gòu)CPU時序及輔助電路MCS-51單片機存儲器結(jié)構(gòu),存儲器:儲存二進(jìn)制信息的數(shù)字電路器件。存儲器包括主存儲器和外存儲器。外存儲器(外存)指各種大容量的磁盤存儲器、光盤等。存儲器(內(nèi)存)指能與CPU直接進(jìn)行數(shù)據(jù)交換的半導(dǎo)體存儲器。半導(dǎo)體存儲器:按讀、寫功能可以分為隨機讀/寫存儲器RAM和只讀存儲器ROM。隨機讀/寫存儲器RAM在斷電后再通電時,原存的信息全部丟失。它主要用來存放臨時的數(shù)據(jù)和程序。只讀存儲器ROM在使用時,只能讀出信息,而不能寫入,且在斷電后ROM中的信息仍然保留。它主要用來存放固定不變的程序和數(shù)據(jù)。,,Intel單片機系列,,,,MCS-51的存儲器結(jié)構(gòu),,ROM按生產(chǎn)工藝分,又可以分為以下幾種:掩膜ROM:其存儲的信息在制造過程中采用光刻工藝生成,一旦出廠,信息就不可改變。可編程只讀存儲器PROM:其存儲的信息可由用戶通過特殊手段一次性寫入,但只能寫入一次??刹脸蛔x存儲器:其存儲的信息用戶可以多次擦除,并可用專用的編程器重新寫入新的信息??刹脸蛔x存儲器又可分為紫外線擦除的EPROM、電擦除的EEPROM和FlashROM。,只讀存儲器ROM,MCS-51的存儲器結(jié)構(gòu),,物理結(jié)構(gòu)上,8051有四個存儲空間:,程序存儲器存放編好的程序和常數(shù)表格。它應(yīng)該是ROM還是RAM?,數(shù)據(jù)存儲器存放運算的中間結(jié)果、數(shù)據(jù)暫存和緩沖以及標(biāo)志位等。它應(yīng)該是ROM還是RAM?,MCS-51的存儲器結(jié)構(gòu),,物理結(jié)構(gòu)上,8051有四個存儲空間:,邏輯上,即從用戶編程的角度看,8051只有三個存儲空間:,當(dāng)單片機的EA引腳為1:同時使用片內(nèi)外的ROM若程序計數(shù)器PC的值在4KB(0000H~0FFFH)范圍內(nèi),CPU訪問片內(nèi)ROM,執(zhí)行片內(nèi)ROM中的程序;若PC的值大于0FFFH(0FFFH~FFEFH),CPU將自動訪問片外ROM。單片機的EA引腳為0:只使用片外ROM,丟棄片內(nèi)ROMCPU的所有取指令操作均訪問片外ROM,這是片外ROM從0000H開始編址。,MCS-51的存儲器結(jié)構(gòu):程序存儲器,,8051內(nèi)共有4KB掩膜ROM,片外可接60KB的EPROM,片內(nèi)外統(tǒng)一編址,程序存儲器的兩種配置,MCS-51的存儲器結(jié)構(gòu):程序存儲器,,問題:單片機復(fù)位后,程序計數(shù)器PC的內(nèi)容為0000H,即系統(tǒng)從0000H單元開始執(zhí)行程序。然而,由于0003H單元被保留,不能存放用戶程序。我們怎么存放大量的程序?解決的方法:所以,一般在0000H~0002H單元,存放一條無條件轉(zhuǎn)移指令(類似goto),從而程序可從轉(zhuǎn)移后的地址開始存放。這樣,CPU復(fù)位后,PC可以從0000H起始地址跳轉(zhuǎn)到用戶程序去執(zhí)行。,在程序存儲器中,有6個地址單元被保留用于某些特定地址,MCS-51的存儲器結(jié)構(gòu):數(shù)據(jù)存儲器,,數(shù)據(jù)存儲器(RAM):用于存放數(shù)據(jù)、運算的中間結(jié)果和標(biāo)志等,片內(nèi)數(shù)據(jù)存儲器:8位地址,共256個字節(jié)存儲單元。對片內(nèi)RAM使用MOV指令訪問;片外數(shù)據(jù)存儲器:16位地址,最大可擴展至64K字節(jié);對片外RAM使用MOVX指令訪問;,,,MCS-51的存儲器結(jié)構(gòu):數(shù)據(jù)存儲器,,,片內(nèi)數(shù)據(jù)存儲器的低128字節(jié),00H~1FH為通用工作寄存器區(qū),分為4組,每組8個工作寄存器R0~R7,每個寄存器一個字節(jié)。在任一時刻,CPU只能使用其中一組通用寄存器,稱為當(dāng)前通用寄存器組。由程序狀態(tài)寄存器PSW中RS1,RS0位的狀態(tài)組合來確定。通用寄存器為CPU提供了就近存取數(shù)據(jù)的便利,提高了工作速度,也為編程提供了方便。,片內(nèi)數(shù)據(jù)存儲器,,MCS-51的存儲器結(jié)構(gòu):數(shù)據(jù)存儲器,,,片內(nèi)數(shù)據(jù)存儲器的低128字節(jié),20H~2FH為位尋址區(qū)。16個字節(jié)共128位,每一位都分配一個8位地址,稱為位地址,其范圍是00H~7FH。位尋址區(qū)既可作為一般的RAM區(qū)進(jìn)行字節(jié)操作;也可對單元的每一位進(jìn)行位操作,因此稱為位尋址區(qū),是存儲空間的一部分。30H~7FH為數(shù)據(jù)緩沖區(qū),用來存放數(shù)據(jù)。用戶堆棧一般設(shè)在這個區(qū)間。,片內(nèi)數(shù)據(jù)存儲器,,,MCS-51的存儲器結(jié)構(gòu):數(shù)據(jù)存儲器,,,片內(nèi)數(shù)據(jù)存儲器的高128字節(jié),片內(nèi)數(shù)據(jù)存儲器,內(nèi)部RAM高128單元是供給專用寄存器使用的,因此稱之為專用寄存器區(qū)(也稱為特殊功能寄存器區(qū)(SFR)區(qū)),單元地址為80H~0FFH。這些特殊功能寄存器中,A、B、PSW、SP、DPTR等已在前面介紹過,其他的留在后面的有關(guān)章節(jié)介紹。,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- MCS 51 單片機 內(nèi)部結(jié)構(gòu)
鏈接地址:http://www.820124.com/p-11497470.html