MC51單片機的硬件結(jié)構(gòu)ppt課件_第1頁
MC51單片機的硬件結(jié)構(gòu)ppt課件_第2頁
MC51單片機的硬件結(jié)構(gòu)ppt課件_第3頁
MC51單片機的硬件結(jié)構(gòu)ppt課件_第4頁
MC51單片機的硬件結(jié)構(gòu)ppt課件_第5頁
已閱讀5頁,還剩90頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章 MCS-51單片機 的硬件結(jié)構(gòu),任務(wù)一 單燈受控閃爍,2.1 MCS-51系列單片機概述 2.2 中央處理器CPU 2.3 存儲器 2.4 并行輸入/輸出口 2.5 單片機的時序、引腳及其功能,習 題,1,任務(wù)一 單燈受控閃爍 學習目標:過學習任務(wù)一的完成方法,熟悉mcs-51單片機的內(nèi)部結(jié)構(gòu),掌握mcs-51單片機各組成部分的功能和特點 。 任務(wù)描述: 單片機上電工作時,發(fā)光二極管間隔1S閃爍。,2,硬件電路與工作原理,硬件電路,3,由該任務(wù)引出: 1.單片機如何運行程序? 2.單片機的軟件及數(shù)據(jù)如何存放? 3.單片機程序運行的結(jié)果如何送給發(fā)光二極管? 4.怎樣保證CPU工作 ? 5

2、.發(fā)光二極管為何按一定頻率閃爍?,4,相關(guān)知識,2.1 MCS-51系列單片機概述,2.1 MCS - 51系列單片機的基本結(jié)構(gòu) 1.單片機如何運行程序? 單片機和其他微機一樣,也擁有一個中央處理器(CPU)。 (單片機通過I/O口與外設(shè)打交道,單片機的程序與數(shù)據(jù)保存在存儲器中。),5,它通過單片機的內(nèi)部總線,將單片機內(nèi)部的各個部分:程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等聯(lián)系在一起 。,內(nèi)部總線有三種,數(shù)據(jù)總線:專門用來傳送數(shù)據(jù)信息 。,地址總線:專門用來傳送地址信息,選中各操作單元。,控制總線:專門用來傳送CPU各種控制命令,以便CPU統(tǒng)一指

3、揮協(xié)調(diào)工作。完成程序所要執(zhí)行的各種功能。,6,CPU執(zhí)行程序一般包括兩個主要過程,第一,就是從程序存儲器中取出指令,指令的地址由PC指針提供。,第二,就是執(zhí)指過程,取出的指令代碼首先被送到CPU中控制器中的指令寄存器,再通過指令譯碼器譯碼變成各種電信號,從而實現(xiàn)指令的各種功能。,執(zhí)行,取指令,分析,7,2.1 MCS - 51系列單片機的基本結(jié)構(gòu),單片機是一個大規(guī)模集成電路芯片,其上集成有CPU、存儲器、I/O口(串行口、并行口)、其它輔助電路(如中斷系統(tǒng),定時/計數(shù)器,振蕩電路及時鐘電路等)。 其基本結(jié)構(gòu)框圖如下:,8,ALU,由定時和控制部件構(gòu)成的控制器,包括定時控制邏輯、指令寄存器、指令

4、譯碼器、數(shù)據(jù)地址指針DPTR、程序計數(shù)器PC、堆棧指針SP、RAM地址寄存器以及16位地址緩沖器等。,運算器(ALU、專用寄存器),9,MCS - 51系列單片機的基本結(jié)構(gòu)圖,CPU,RAM,ROM,中斷系統(tǒng),串行口,并行口,定時計數(shù)器,振蕩電路,X1 X2 P0 P1 P2 P3 TXD RXD INT0 INT1,T0 T1,計算機,微機,10,MCS - 51系列單片機的基本結(jié)構(gòu)圖,X1 X2 P0 P1 P2 P3 TXD RXD INT0 INT1,返回,CPU,RAM,ROM,中斷系統(tǒng),串行口,并行口,定時計數(shù)器,振蕩電路,X1 X2 P0 P1 P2 P3 TXD RXD INT

5、0 INT1,T0 T1,1、RAM被稱為隨機讀寫存儲器。 2、用于存放數(shù)據(jù) 。 3、具有易失性:芯片掉電后,其內(nèi)的信息消失。,11,MCS - 51系列單片機的基本結(jié)構(gòu)圖,T0 T1,CPU,RAM,ROM,中斷系統(tǒng),串行口,并行口,定時計數(shù)器,振蕩電路,X1 X2 P0 P1 P2 P3 TXD RXD INT0 INT1,T0 T1,1、 ROM被稱為只讀存儲器。 2、用于存放程序。 3、具有非易失性:掉電后其內(nèi)的信息依然存在。,返回,12,運算器,最終結(jié)果 數(shù) 中間結(jié)果/ 據(jù) 最后結(jié)果 原始數(shù)據(jù) 與程序 最后 結(jié)果 程 序 計算機系統(tǒng)的硬件組成框圖,存儲器,控制器,輸出設(shè)備,輸入設(shè)備,

6、單片機,微機,返回,13,DB CPU AB CB 存儲器 I/O口 微機的結(jié)構(gòu)框圖,單片機,計算機,返回,14,80C51單片機的內(nèi)部結(jié)構(gòu),A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,ALU,2.2 中央處理器CPU,15,80C51單片機的內(nèi)部結(jié)構(gòu),返回,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,

7、P0 P1 P2 P3,ALU,算術(shù)邏輯運算部件主要用來完成數(shù)據(jù)的算術(shù)和邏輯運算。ALU有2個輸入端和2個輸出端,其中一端接至累加器,接收由累加器送來的一個操作數(shù);另一端接收TMP的第二個操作數(shù)。參加運算的操作數(shù)在ALU中進行規(guī)定的操作運算,運算結(jié)束后,一方面將結(jié)果送至累加器,同時將操作結(jié)果的特征狀態(tài)送標志寄存器。,16,89C51單片機的內(nèi)部結(jié)構(gòu),A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,ALU,1、16位寄存器 2、存放下一條將要

8、執(zhí)行的指令地址.程序中的指令是按照順序存放在存儲器中的某個連續(xù)區(qū)域.每條指令都有自己的地址,CPU根據(jù)PC中的指令地址從存儲器中取出將要執(zhí)行的指令. 3、具有自動加1功能,從而指向下一條將要執(zhí)行的指令地址. 4、PC的值可以修改,一般程序是按順序執(zhí)行指令的.若改變了的PC的值,則程序?qū)⒉辉侔错樞驁?zhí)行。,返回,17,80C51單片機的內(nèi)部結(jié)構(gòu),A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,IR:用來存放當前正在執(zhí)行的指令代碼 。 ID:用來

9、對指令代碼進行分析、譯碼,根據(jù)指令譯碼的結(jié)果,輸出相應(yīng)的控制信號。 PLA:產(chǎn)生出各種操作電位、不同節(jié)拍的信號、時序脈沖等執(zhí)行此條命令所需的全部控制信號 。,返回,18,80C51單片機的內(nèi)部結(jié)構(gòu),X1 X2,PSEN RST ALE EA,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、8位寄存器 2、累加器是一個特殊的寄存器,它的字長和微處理器的字長相同,累加器具有輸入輸出和移位功能,微處理器采用累加器結(jié)構(gòu)可以簡化某些邏輯運算。 3

10、、由于所有運算的數(shù)據(jù)都要通過累加器,故累加器在微處理器中占有很重要的位置。,ALU,返回,19,80C51單片機的內(nèi)部結(jié)構(gòu),X1 X2,PSEN RST ALE EA,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,ALU,1、8位寄存器 2、在進行乘除法運算時,存放參與運算的一個操作數(shù) 3、除此之外,作為一般工作寄存器使用,返回,20,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,

11、IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、PSW稱為程序狀態(tài)字寄存器,是一個8位寄存器。 2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov - P,ALU,返回,21,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、程序狀態(tài)字寄存器。8位寄存器。 2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 O

12、v - P,ALU,返回,Cy(PSW.7)進位標志位。 當運算結(jié)果產(chǎn)生進位時, Cy =1; 當運算結(jié)果沒有產(chǎn)生進位時, Cy =0。,22,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、程序狀態(tài)字寄存器。8位寄存器。 2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov - P,ALU,AC(PSW.6)輔助進位(或稱半進位)標志。 當運算結(jié)果的D3向D4產(chǎn)生進位時, AC =1; 當運算結(jié)果

13、的D3向D4沒有產(chǎn)生進位時, AC =0。,返回,23,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、程序狀態(tài)字寄存器。8位寄存器。 2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov - P,ALU,OV(PSW.2)溢出標志位。 當運算結(jié)果產(chǎn)生溢出時, OV =1; 當運算結(jié)果沒有產(chǎn)生溢出時, OV =0。,返回,24,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2

14、,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、程序狀態(tài)字寄存器。8位寄存器。 2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov - P,ALU,P(PSW.0)奇偶標志位。 當A中1的個數(shù)為奇數(shù)時, P =1; 當A中1的個數(shù)為偶數(shù)時, P =0。,返回,25,80C51單片機的內(nèi)部結(jié)構(gòu),X1 X2,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST

15、ALE EA,P0 P1 P2 P3,1、SP稱為堆棧指針,8位寄存器 2、 SP用來存放堆棧棧頂?shù)牡刂贰?返回,26,先加(SP+1)后壓(數(shù)據(jù)),先彈(數(shù)據(jù))后減(SP-1)。,89H,入棧過程 PUSH ACC,出棧過程 POP ACC,89H,27,80C51單片機的內(nèi)部結(jié)構(gòu),X1 X2,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、8位寄存器 2、 SP用來存放堆棧棧頂?shù)牡刂贰?返回,1、堆棧是在內(nèi)RAM區(qū)專門開辟出來的按照

16、“先進后出”原則進行數(shù)據(jù)存取的一塊連續(xù)的存儲區(qū)域。 2、堆棧有棧頂和棧底,堆棧中沒有數(shù)據(jù)時,二者重疊,SP指向最下端(棧底),向堆棧推入數(shù)據(jù)后,棧頂向上生長,SP也向上生長。 3、堆棧棧頂:最后推入堆棧的數(shù)據(jù)所在的存儲單元 4、SP用來指示堆棧所處的位置, 在進行操作之前, 先用指令給SP賦值, 以規(guī)定棧區(qū)在RAM區(qū)的起始地址(棧底層)。當數(shù)據(jù)推入棧區(qū)后, SP的值也自動隨之變化。,63H,64H,65H,66H,67H,棧底,演示,28,80C51單片機的內(nèi)部結(jié)構(gòu),X1 X2,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L

17、 A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、8位寄存器 2、 SP用來存放堆棧棧頂?shù)牡刂贰?返回,1、堆棧是在內(nèi)RAM區(qū)專門開辟出來的按照“先進后出”原則進行數(shù)據(jù)存取的一塊連續(xù)的存儲區(qū)域。 2、堆棧有棧頂和棧底,堆棧中沒有數(shù)據(jù)時,二者重疊,SP指向最下端(棧底),向堆棧推入數(shù)據(jù)后,棧頂向上生長,SP也向上生長。 3、堆棧棧頂:最后推入堆棧的數(shù)據(jù)所在的存儲單元 4、SP用來指示堆棧所處的位置, 在進行操作之前, 先用指令給SP賦值, 以規(guī)定棧區(qū)在RAM區(qū)的起始地址(棧底層)。當數(shù)據(jù)推入棧區(qū)后, SP的值也自動隨之變化。,63H,64H,65H,66

18、H,67H,棧底,12H,46H,73H,SP=63H,SP=64H,SP=66H,SP=65H,入棧,29,80C51單片機的內(nèi)部結(jié)構(gòu),X1 X2,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、8位寄存器 2、 SP用來存放堆棧棧頂?shù)牡刂贰?返回,1、堆棧是在內(nèi)RAM區(qū)專門開辟出來的按照“先進后出”原則進行數(shù)據(jù)存取的一塊連續(xù)的存儲區(qū)域。 2、堆棧有棧頂和棧底,堆棧中沒有數(shù)據(jù)時,二者重疊,SP指向最下端(棧底),向堆棧推入數(shù)據(jù)后,棧頂

19、向上生長,SP也向上生長。 3、堆棧棧頂:最后推入堆棧的數(shù)據(jù)所在的存儲單元 4、SP用來指示堆棧所處的位置, 在進行操作之前, 先用指令給SP賦值, 以規(guī)定棧區(qū)在RAM區(qū)的起始地址(棧底層)。當數(shù)據(jù)推入棧區(qū)后, SP的值也自動隨之變化。,63H,64H,65H,66H,67H,棧底,12H,SP=64H,SP=66H,SP=65H,出棧,73H,73H,46H,46H,30,80C51單片機的內(nèi)部結(jié)構(gòu),X1 X2,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P

20、0 P1 P2 P3,1、8位寄存器 2、 SP用來存放堆棧棧頂?shù)牡刂贰?返回,1、堆棧是在內(nèi)RAM區(qū)專門開辟出來的按照“先進后出”原則進行數(shù)據(jù)存取的一塊連續(xù)的存儲區(qū)域。 2、堆棧有棧頂和棧底,堆棧中沒有數(shù)據(jù)時,二者重疊,SP指向最下端(棧底),向堆棧推入數(shù)據(jù)后,棧頂向上生長,SP也向上生長。 3、堆棧棧頂:最后推入堆棧的數(shù)據(jù)所在的存儲單元 4、SP用來指示堆棧所處的位置, 在進行操作之前, 先用指令給SP賦值, 以規(guī)定棧區(qū)在RAM區(qū)的起始地址(棧底層)。當數(shù)據(jù)推入棧區(qū)后, SP的值也自動隨之變化。,63H,64H,65H,66H,67H,棧底,SP=64H,SP=66H,SP=65H,73H

21、,73H,46H,46H,12H,31,80C51單片機的內(nèi)部結(jié)構(gòu),PSEN RST ALE EA,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、數(shù)據(jù)指針DPTR是一個 16 位的專用寄存器, 其高位字節(jié)寄存器用DPH表示,低位字節(jié)寄存器用DPL表示。 2、既可作為一個 16 位寄存器DPTR來處理, 也可作為兩個獨立的 8 位寄存器DPH和DPL來處理。 3、 DPTR 主要用來存放 16位地址,當對 64 KB外部數(shù)據(jù)存儲器空間尋

22、址時, 作為間址寄存器用。在訪問程序存儲器時, 用作基址寄存器。,返回,演示,32,DPTR 0003H,34H A,TMP,PSW,B,SP,DPTR 0003H,RAM,PC,ROM,定時,中斷,串口,返回,ALU,讀寫控制,輸 入 輸 出 電 路,地 址 譯 碼 器,RAM 芯片,單片機,DB,CB,AB,0003H,DPTR 0003H,WR,34H,33,80C51單片機的內(nèi)部結(jié)構(gòu),PSEN RST ALE EA,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定時,中斷,串口,IR,P L A,ID,振 蕩,X1 X2,PSEN RST ALE

23、 EA,P0 P1 P2 P3,80C51內(nèi)有的4K的ROM; 不夠用時可以外擴ROM; 內(nèi)ROM+外ROM 64K,返回,34,2.單片機的軟件及數(shù)據(jù)如何存放?,從前面的任務(wù)中,我們還看到要控制燈閃爍,必須編制程序,還必須將控制燈的相關(guān)數(shù)據(jù)預(yù)先存儲,那么,在單片機中的程序和數(shù)據(jù)是怎樣保存的? 原來,在單片機內(nèi)部有程序存儲器和數(shù)據(jù)存儲器,如果內(nèi)部程序存儲器和數(shù)據(jù)存儲器的容量不夠的話,還可以在單片機外部為它擴展,最大我們可以將程序存儲器空間總?cè)萘繑U大到64K,將數(shù)據(jù)存儲器在片外再單獨擴展64K,這樣,以89S51為例,數(shù)據(jù)存儲器的總?cè)萘靠蛇_64K(片外)128字節(jié)(片內(nèi))。,MCS-51單片機的

24、存儲器組織結(jié)構(gòu),采用典型的哈佛結(jié)構(gòu),即程序存儲器和數(shù)據(jù)存儲器完全獨立,擁有各自的尋址系統(tǒng),包括片內(nèi)數(shù)據(jù)存儲器與片外數(shù)據(jù)存儲器都擁有自己獨立的尋址系統(tǒng)。,2.3 存儲器,35,MCS-51單片機存儲器組織結(jié)構(gòu),返回,36,2.3.1 程序存儲器2.3.2 內(nèi)部數(shù)據(jù)存儲器2.2.3 特殊功能寄存器,2.3 存儲器,返回,37,2.3.1 程序存儲器,用途: 存放程序及程序運行時所需的常數(shù)。,尋址范圍:0000H FFFFH 容量64KB,即地址長度:16位,,尋址內(nèi)部ROM;,說明:當PC值超過片內(nèi)ROM容量時會自動轉(zhuǎn)向 外部存儲器 空間。,,尋址外部ROM。,1),返回,38,2)程序存儲器的分

25、類,(1)Mask ROM 型:掩膜ROM,如8051ROM (2)OTPROM型:一次可編程ROM (3)EPROM型:可擦除可編程ROM,如8751ROM (4)E2PROM型:電可擦除可編程ROM (5)Flash ROM型:閃速只讀存儲器,如ATMEL公司的AT89系列(89C51),返回,39,MCS - 51系列單片機的分類,常用的MCS51系列單片機有2種類型的產(chǎn)品:8051/8751/89C51和8031。它們的結(jié)構(gòu)基本相同,其主要差別反映在存儲器的配置上的不同:8051內(nèi)設(shè)有4KB的掩膜ROM;8751內(nèi)設(shè)有4KB的EPROM;89C51內(nèi)設(shè)有4KB的Flash ROM ;8

26、031內(nèi)沒有ROM。 MCS - 51 系列單片機配置一覽表,40,3)程序存儲器中6個具有特殊含義的單元,0000H 系統(tǒng)復(fù)位,PC指向此處; 0003H 外部中斷0入口 000BH T0溢出中斷入口 0013H 外中斷1入口 001BH T1溢出中斷入口 0023H 串口中斷入口,返回,41,2.3.2 數(shù)據(jù)存儲器,用途:存放程序執(zhí)行的中間結(jié)果和過程數(shù)據(jù)的 。,物理上分為兩大區(qū)域: 00H 7FH即128B用戶RAM區(qū)。 80H FFH即特殊功能寄存器區(qū)。,返回,42,7FH 真正RAM區(qū) 00H,MCS-51 單片機片內(nèi)RAM的配置圖,FFH SFR區(qū) 80H,MCS-51內(nèi)有256B的

27、RAM單元,其地址范圍為00HFFH,分為兩大部分: 低 128 字節(jié)(00H7FH)為真正的RAM區(qū); 高 128 字節(jié)(80HFFH)為特殊功能寄存器區(qū)SFR。,返回,43,7FH 真正RAM區(qū) 00H,MCS-51 單片機片內(nèi)RAM的配置圖,FFH SFR區(qū) 80H,返回,89C51內(nèi)有256B的RAM單元,其地址范圍為00HFFH,分為兩大部分: 低 128 字節(jié)(00H7FH)為真正的RAM區(qū); 高 128 字節(jié)(80HFFH)為特殊功能寄存器區(qū)SFR。,7FH 普通RAM區(qū) 30H,2FH 位尋址區(qū) 20H,1FH 工作寄存器區(qū) 00H,44,7FH 真正RAM區(qū) 00H,MCS-

28、51 單片機片內(nèi)RAM的配置圖,FFH SFR區(qū) 80H,89C51內(nèi)有256B的RAM單元,其地址范圍為00HFFH,分為兩大部分: 低 128 字節(jié)(00H7FH)為真正的RAM區(qū); 高 128 字節(jié)(80HFFH)為特殊功能寄存器區(qū)SFR。,7FH 普通RAM區(qū) 30H,2FH 位尋址區(qū) 20H,1FH 工作寄存器區(qū) 00H,返回,07H 0組 00H,0FH 1組 08H,17H 2組 10H,1FH 3組 18H,1、工作寄存器區(qū) 是指00H1FH區(qū), 共分4個組, 每組有8個單元, 共32個內(nèi)部RAM單元。 2、每次只能有1組作為工作寄存器使用, 其它各組可以作為一般的數(shù)據(jù)緩沖區(qū)使

29、用。 3、作為工作寄存器使用的8個單元,又稱為R0R7 4、程序狀態(tài)字PSW中的PSW.3(RS0)和PSW.4(RS1)兩位來選擇哪一組作為工作寄存器使用。CPU通過軟件修改PSW中RS0和RS1兩位的狀態(tài), 就可任選一個工作寄存器工作。,45,RS1、 RS0與片內(nèi)工作寄存器組的對應(yīng)關(guān)系,返回,46,工作寄存器和RAM地址對照表,返回,47,7FH 真正RAM區(qū) 00H,MCS-51 單片機片內(nèi)RAM的配置下圖 所示:,FFH SFR區(qū) 80H,7FH 普通RAM區(qū) 30H,2FH 位尋址區(qū) 20H,1FH 工作寄存器區(qū) 00H,20H,21H,22H,23H,24H,25H,26H,27

30、H,2FH,1、位尋址區(qū)是指 20H2FH單元,共16個單元。 2、位尋址區(qū)的每1位都可當作軟件觸發(fā)器, 由程序直接進行位處理。 3、 位尋址區(qū)的 16個單元(共計128位)的每1位都有一個8位表示的位地址, 位地址范圍為00H1FH。 如表所示。 4、 同樣, 位尋址的RAM單元也可以按字節(jié)操作作為一般的數(shù)據(jù)緩沖 區(qū)。,返回,48,內(nèi)部RAM中位地址表,返回,49,7FH 真正RAM區(qū) 00H,MCS-51 單片機片內(nèi)RAM的配置圖,FFH SFR區(qū) 80H,返回,89C51內(nèi)有256B的RAM單元,其地址范圍為00HFFH,分為兩大部分: 低 128 字節(jié)(00H7FH)為真正的RAM區(qū);

31、 高 128 字節(jié)(80HFFH)為特殊功能寄存器區(qū)SFR。,1、高128B的RAM單元中有21個單元可用,稱為SFR。這21個SFR分散在高128B的地址空間內(nèi),分別是A,B,PSW,SP,DPH,DPL,P0,P1,P2,P3,IP,IE,TCON,TMOD,TH0,TL0,TH1,TL1,SCON,SBUF,PCON。 2、有些可以按位尋址。 3、特殊功能寄存器名稱、 標識符、 地址見表,50,特殊功能寄存器名稱、 標識符、 地址一覽表,返回,51,返回,52,2.3.3 特殊功能寄存器,返回,53,返回,54,1)累加器ACC(Accumulator),2)寄存器B,3)程序狀態(tài)字(P

32、rogram Status Word),CY 進位/借位標志;位累加器。 AC 輔助進/借位標志;用于十進制調(diào)整。 F0 用戶定義標志位;軟件置位/清零。 OV 溢出標志; 硬件置位/清零。 P 奇偶標志;A中1的個數(shù)為奇數(shù) P = 1;否則 P = 0。,返回,55,4)數(shù)據(jù)指針(DPTR),數(shù)據(jù)指針為16位寄存器,編程時,既可以按16位寄存器來使用,也可以按兩個8位寄存器來使用,即高位字節(jié)寄存器DPH和低位字節(jié)DPL。,DPTR主要是用來保存16位地址,當對64kB外部數(shù)據(jù)存儲器尋址時,可作為間址寄存器使用,此時,使用如下兩條指令: MOVXA,DPTR MOVXDPTR,A,在訪問程序存

33、儲器時,DPTR可用來作基址寄存器,采用基址+變址尋址方式訪問程序存儲器,這條指令常用于讀取程序存儲器內(nèi)的表格數(shù)據(jù)。 MOVCA,A+DPTR,返回,56,5)堆棧指針SP(Stack Pointer),指明棧頂元素的地址,8位,可軟件設(shè)置初值,復(fù)位時SP = 07H。,返回,57,6)I/O口專用寄存器(P0、P1、P2、P3),I/O口寄存器P0、P1、P2和P3分別是MCS-51單片機的四組I/O口鎖存器。,7)定時/計數(shù)器(TL0、TH0、TL1和TH1),MCS-51單片機中有兩個16位的定時/計數(shù)器T0和T1,它們由四個8位寄存器組成的,兩個16位定時/計數(shù)器卻是完全獨立的。我們可

34、以單獨對這四個寄存器進行尋址,但不能把T0和T1當作16位寄存來使用。,8)定時/計數(shù)器方式選擇寄存器(TMOD),TMOD寄存器是一個專用寄存器,用于控制兩個定時計數(shù)器的工作方式,TMOD可以用字節(jié)傳送指令設(shè)置其內(nèi)容,但不能位尋址 。,返回,58,3.單片機程序運行的結(jié)果如何送給發(fā)光二極管?,從剛才的任務(wù)中,我們看到發(fā)光二極管隨著程序的運行,有規(guī)律的閃動,那么,現(xiàn)在我們來看看單片機是怎樣將程序中運行的結(jié)果送給發(fā)光二極管的。 原來,MCS-51單片機上有4組8位I/O口:P0、P1、P2和P3口,共有4個8位雙向I/O口,共32口線。每位均有自己的鎖存器(SFR),輸出驅(qū)動器和輸入緩沖器。 他

35、們在單片機中,主要承擔了和單片機外部設(shè)備打交道的任務(wù),下面我們分別介紹這幾個I/O口:,2.4 并行輸入/輸出口,59,多路開關(guān) 功能:用于控制選通I/O方式還是地址/數(shù)據(jù)輸出方式 方式控制:由內(nèi)部控制信號產(chǎn)生,輸入鎖存器,兩個輸入緩沖器(BUF1和BUF2),推拉式I/O驅(qū)動器,P0口位圖內(nèi)部結(jié)構(gòu),說明: 1、當控制信號為0時,P0口做雙向I/O口,為漏極開路(三態(tài)) 2、控制信號為1時,P0口為地址/數(shù)據(jù)復(fù)用總線(用于口擴展),1,0,(1)P0和P2口,60,一、P0口作I/O口(寫Output): CP 有效,控制信號為0時,V1管截止,P0是對V2漏極開路輸出,需要外接上拉電阻。 D

36、=1,V2截止,P0.X1;D=0,V2導(dǎo)通, P0.X0。,61,二、P0口作I/O口(讀Input):1、讀引腳(MOV C,P0.0) 讀引腳信號使三態(tài)緩沖器打開,數(shù)據(jù)輸入 (注:P0口做I/O輸入時,必須先向電路中的鎖存器寫入“1”,使FET截止,否則FET導(dǎo)通,P0.X為0,無法讀入高電平)。,62,2、讀鎖存器(ANL P0.0,C) 凡屬于讀-修改-寫方式的指令,從鎖存器讀入信號,其 它指令則從端引腳線上讀入信號。 讀-修改-寫指令的特點是,從端口輸入(讀)信號,在單片 機內(nèi)加以運算(修改)后,再輸出(寫)到該端口上。,63,三、輸出“地址/數(shù)據(jù)”,V1、V2管交替導(dǎo)通,負載能力

37、很強。 1、P0口作為地址總線:控制信號為1 地址信號為1,V1管導(dǎo)通,V2管截止,P0.X為高電平; 地址信號為0,V1管截止,V2管導(dǎo)通, P0.X為低電平。,64,2、P0口作數(shù)據(jù)總線:訪問外部ROM時,P0口輸出低8位地址后,將變?yōu)閿?shù)據(jù)總線,以便取指令。 期間, “控制信號”為“0” ,V1管截止,多路開關(guān)轉(zhuǎn)向Q; CPU自動將向鎖存器 寫“1” ,使V2管截止,讀引腳。,65,P0口鎖存器和緩沖器結(jié)構(gòu),P0口除了作普通的I/O口,直接和外部設(shè)備打交道外;還用作片外總線的地址總線AB0-AB7的低八位、數(shù)據(jù)總線。,66,P2口內(nèi)部結(jié)構(gòu),2、當控制信號為1時 P2口輸出地址信息, 此時單

38、片機完成外部的取指操作或?qū)ν獠繑?shù)據(jù)存儲器16位地址的讀寫操作。 3、當P2口作為普通I/O口使用時 用法和P1口類似。,說明: 1、P2可以作為通用的I/O,也可以作為高8位地址輸出。,67,P2口鎖存器和緩沖器結(jié)構(gòu),P2口除了作普通的I/O口,直接和外部設(shè)備打交道外;還用作片外總線的地址總線的高八位地址線AB8-AB15,注意:P0口在作輸出入口使用時,由于它無內(nèi)部上拉電阻,為了在口線上輸出高電平并具有一定的驅(qū)動能力,必須外接上拉電阻。作輸入口使用時,為了防止口鎖存器對輸入口線的輸入信號造成影響,必須先往口鎖存器寫1。同理,P2口作輸入時,也必須先往口鎖存器寫1。,68,MCS-51片外總線

39、結(jié)構(gòu)示意圖,MCS-51單片機片外總線,P0.4,69,6264,WE,單片機 8031,P2.0,:,.,A8,. .,ALE,RD,74LS 373,G,A7 . . A0,P0.0 : P0.7,OE,CE,Q0 . . Q7,D0 . . D7,A12,P2.4,WR,D7 . . D0,70,P1口內(nèi)部結(jié)構(gòu),P1口內(nèi)部結(jié)構(gòu)如圖2所示 輸出部分有內(nèi)部上拉電阻R*約為20K。 其他部分與P0端口使用相類似(讀引腳時先寫入1)。,寫數(shù)據(jù),讀端口,(2)P1口,71,P1口鎖存器和緩沖器結(jié)構(gòu),P1口只用作普通輸入輸出口,注意:和P0、P2口一樣,為防止口鎖存器對輸入口線造成影響,P1口作輸入

40、時,也必須先往口鎖存器寫1。,72,2.5.4 P3口內(nèi)部結(jié)構(gòu),說明: 1、做普通端口使用時,第二功能應(yīng)為“1”。,2、使用第二功能時,輸出端口鎖存器應(yīng)為“1”。 3、變異功能(第二功能),P3.0串行輸入口(RXD) P3.1串行輸出口(TXD) P3.2外中斷0(INT0) P3.3外中斷1(INT1) P3.4定時/計數(shù)器0的外部輸入口(T0) P3.5定時/計數(shù)器1的外部輸入口(T1) P3.6外部數(shù)據(jù)存儲器寫選通(WR) P3.7外部數(shù)據(jù)存儲器讀選通(RD),73,(3)P3口,P3口鎖存器和緩沖器結(jié)構(gòu),P3口除了作普通的I/O口(功能和P1口一樣)直接和外部設(shè)備打交道外;還具有第二

41、功能。,74,2.5.5 P0P3端口功能總結(jié) 使用中應(yīng)注意的問題: P0P3口都是并行I/O口,但P0口和P2口還可用來構(gòu)建數(shù)據(jù)總線和地址總線,所以電路中有一個MUX,進行轉(zhuǎn)換。 而P1口和P3口無構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線的功能,因此,無需轉(zhuǎn)接開關(guān)MUX。 只有P0口是一個真正的雙向口,P1P3口都是準雙向口。 原因:P0口作數(shù)據(jù)總線使用時,為保證數(shù)據(jù)正確傳送,需解決芯片內(nèi)外的隔離問題,即只有在數(shù)據(jù)傳送時芯片內(nèi)外才接通;否則應(yīng)處于隔離狀態(tài)。為此,P0口的輸出緩沖器應(yīng)為三態(tài)門。 P3口具有第二功能。因此在P3口電路增加了第二功能控制邏輯。這是P3口與其它各口的不同之處。,75,4.怎樣保證

42、CPU工作 ?,現(xiàn)在我們知道了單片機怎樣取指、執(zhí)指,即怎樣運行程序了。那么怎樣才能保證CPU有序的工作?這就必須提到單片機的兩個非常重要的外圍電路:單片機的時鐘電路和復(fù)位電路。,Pin19: 時鐘XTAL1腳,片內(nèi)振蕩電路的輸入端。 Pin18: 時鐘XTAL2腳,片內(nèi)振蕩電路的輸出端。,時鐘電路如下,2.5 單片機的時序、引腳及其它,76,【振蕩周期】:單片機外接石英晶體振蕩器的周期。如外接石英晶體的頻率若為12MHz,這其振蕩周期就是1/12微秒。 【狀態(tài)周期】:單片機完成一個最基本的動作所需的時間周期。如掃描一次定時器T0引腳狀態(tài)所需要的時間。一個狀態(tài)周期2個振蕩周期。 【機器周期】:單

43、片機完成一次完整的具有一定功能的動作所需的時間周期。如一次完整的讀操作或?qū)懖僮鲗?yīng)的時間。一個機器周期6個狀態(tài)周期。 【指令周期】: 執(zhí)行完某條指令所需要的時間周期,一般需要14個機器周期,如MUL AB指令是四機器周期指令。一個指令周期14個機器周期。,77,若外接晶振為12MHz時,則單片機的四個周期的具體值為: 時鐘周期1/12MHz1/12s0.0833s 狀態(tài)周期1/6s0.167s 機器周期1s 指令周期14s 可用于計算指令、程序的執(zhí)行時間,以及定時器的定時時間,78,單周期單字節(jié)指令時序,79,單字節(jié)單周期指令 例:INC A,雙字節(jié)單周期指令 例:ADD A,DATA,單字節(jié)

44、雙周期指令例:INC DPTR,CPU取指/執(zhí)行時序,80,P1 P2,P1 P2,讀操作碼(丟棄),MOVX類指令(單字節(jié)雙周期指令),無取指(無ALE),地址,數(shù)據(jù),訪問外部存儲器,雙字節(jié)雙周期指令 例:MOV Rn,direct,讀第二字節(jié)操作碼,當CPU對外部RAM讀寫時,ALE不是周期信號,無取指,81,復(fù)位電路如下,單片機工作時,除了需要時鐘支持外,還必須有一個初始狀態(tài),即單片機的復(fù)位狀態(tài)。復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)如下表:,Pin9: RESET復(fù)位信號腳,當8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平

45、,系統(tǒng)即初始復(fù)位。,當VCC接通電源時,即可實現(xiàn)單片機的上電復(fù)位,82,83,5.發(fā)光二極管為何按一定頻率閃爍?,在前面的任務(wù)中,燈有規(guī)律的間隔1S閃爍,離不開時間的控制。那么,這個時間我們在前面的程序中是怎樣得到的?原來,在MSC-51單片機中有兩個定時器T0、T1,我們在前面也已經(jīng)提到了,它在單片機中能夠利用中斷實現(xiàn)定時或計數(shù)功能。詳細的用法,在單元五、六進行講解。,84,6.單片機的其他資源,通過本次任務(wù)的分析,我們基本上知道MCS-51單片機的結(jié)構(gòu),它由CPU、程序存儲器、數(shù)據(jù)存儲器、并行輸入輸出口、定時計數(shù)器、中斷系統(tǒng)等構(gòu)成,當然除了本次任務(wù)用到的以上資源外,51單片機還有一個串行通

46、訊口。,單片機的引腳除了我們前面介紹的4個并I/O口,兩根時鐘引腳(18、19腳),一根復(fù)位引腳(9腳),兩根電源腳(40、20腳)外,還有以下一些引腳。,85,外部程序存儲器讀選通信號,地址鎖存信號輸出端1/6fosc,86,程序運行工作方式,MCS-51單片機的程序運行方式包括連續(xù)執(zhí)行方式和單步執(zhí)行方式兩種。 其中連續(xù)執(zhí)行方式是程序最基本的執(zhí)行方式,即從PC指針開始,連續(xù)不斷地執(zhí)行程序,直到遇到結(jié)束或暫停標志。在系統(tǒng)復(fù)位時,PC總是指向0000H地址單元,而實際的程序應(yīng)允許從程序存儲器的任意位置開始,可通過執(zhí)行若干種指令使PC指向程序的實際起始地址。,87,節(jié)電工作方式,MCS-51單片機的CHMOS器件具有兩種降低功耗的工作方式:空閑方式和掉電方式。 MOS器件不具有這種功能。通過置位特殊功能寄存器PCON(電源控制寄存器

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論