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

下載本文檔

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

文檔簡介

1、第2章 單片機的結(jié)構(gòu)及原理 1本 章 重 點 單片機的結(jié)構(gòu)特點單片機的結(jié)構(gòu)特點 單片機的存儲器特點單片機的存儲器特點 I/O端口的特點端口的特點 CPU時序時序課時安排:課時安排:3個課時個課時第2章 單片機的結(jié)構(gòu)及原理 2第二章第二章 單片機芯片的硬件結(jié)構(gòu)單片機芯片的硬件結(jié)構(gòu) 2.1 80C51單片機的結(jié)構(gòu)單片機的結(jié)構(gòu)2.2 單片機的工作原理單片機的工作原理2.3 80C51的存儲器的存儲器2.4 I/O端口結(jié)構(gòu)端口結(jié)構(gòu)2.5 CPU時序及時鐘電路時序及時鐘電路2.6 MCS-51單片機工作方式單片機工作方式思考題思考題第2章 單片機的結(jié)構(gòu)及原理 32.1 80C51單片機的結(jié)構(gòu)單片機的結(jié)構(gòu)

2、第2章 單片機的結(jié)構(gòu)及原理 4MCS-51MCS-51系列單片機是因特公司系列單片機是因特公司19801980推出的高檔推出的高檔8 8位機位機/8KB8052/803252子系子系列列4KB/8751/4KB8051/803151子系子系列列MCS-51 EPROM掩膜掩膜MOS 存儲器類型存儲器類型單片機系列單片機系列第2章 單片機的結(jié)構(gòu)及原理 5表表2-1 MCS-51系列單片機配置一覽表系列單片機配置一覽表 第2章 單片機的結(jié)構(gòu)及原理 6 MCS-51系列單片機的內(nèi)部結(jié)構(gòu)框圖如圖系列單片機的內(nèi)部結(jié)構(gòu)框圖如圖2-3所示。所示。MCS-51系列單片機是由系列單片機是由8大部分組成:大部分組

3、成:(下面以下面以80C51為例為例) (1) 中央處理機中央處理機CPU(8位字長)位字長) (2) 片內(nèi)數(shù)據(jù)存儲器片內(nèi)數(shù)據(jù)存儲器RAM(256個單元)個單元) (3) 片內(nèi)程序存儲器片內(nèi)程序存儲器ROM(4KB的的ROM) (4) 定時器定時器/計數(shù)器(計數(shù)器(2個個16位的)位的) (5) 并行并行I/O口(口(4個個8位的)位的) (6) 串行口(串行口(1個全雙工的)個全雙工的) (7) 時鐘電路時鐘電路 (8) 中斷系統(tǒng)(中斷系統(tǒng)(5個中斷源)個中斷源)第2章 單片機的結(jié)構(gòu)及原理 7圖圖2-2 2-2 單片機結(jié)構(gòu)框圖單片機結(jié)構(gòu)框圖時鐘時鐘OSC程序存儲器程序存儲器ROM數(shù)據(jù)存儲器數(shù)

4、據(jù)存儲器RAM中央處理器中央處理器(運算部件)(運算部件)并行接口并行接口定時器定時器/計數(shù)器計數(shù)器CTC內(nèi)部總線內(nèi)部總線P0 P1 P2 P3串行接口串行接口中斷系統(tǒng)中斷系統(tǒng)TXD RXDINT0 INT1(控制部件)(控制部件)XTAL1XTAL2PSENEAALERESET第2章 單片機的結(jié)構(gòu)及原理 8圖圖2-3 MCS-51系列單片機內(nèi)部結(jié)構(gòu)框圖系列單片機內(nèi)部結(jié)構(gòu)框圖 第2章 單片機的結(jié)構(gòu)及原理 9 MCS-51系列單片機芯片為系列單片機芯片為40個引腳個引腳, HMOS工藝制造的芯片采用雙列直插(工藝制造的芯片采用雙列直插(DIP)方式封裝,)方式封裝,其引腳示意及功能分類如圖其引腳

5、示意及功能分類如圖2-3所示。所示。 CMOS工藝工藝制造的低功耗芯片也有采用方型封裝的,但為制造的低功耗芯片也有采用方型封裝的,但為44個引腳,其中個引腳,其中4個引腳是不使用的。個引腳是不使用的。 第2章 單片機的結(jié)構(gòu)及原理 10圖圖2-4 MCS51系列單片機引腳系列單片機引腳01p .71p .SSV1XTAL2XTALRD73p/.WR63p/.1T53p/.0T43p/.1INT33p/.0INT23p/.TXD13p/.RXD03p/.RST02p .72p .CCV00p .70p .PSENPROGALE /EAVpp /182018191716151413121110921

6、284039322930318051第2章 單片機的結(jié)構(gòu)及原理 11 1. 主電源引腳主電源引腳Vcc和和Vss (1)VCC(40腳):接腳):接+5 V電源正端;電源正端; (2)VSS(20腳):接腳):接+5 V電源地端。電源地端。 2. 時鐘電路引腳時鐘電路引腳XTAL1和和XTAL2 (1)XTAL1(19腳):接外部石英晶體的一腳):接外部石英晶體的一端。在片內(nèi)它是一個反相放大器的輸入端,這個放端。在片內(nèi)它是一個反相放大器的輸入端,這個放大器構(gòu)成了片內(nèi)振蕩器。大器構(gòu)成了片內(nèi)振蕩器。 (2)XTAL2(18腳):接外部晶體的另一端。腳):接外部晶體的另一端。 在片內(nèi)接至片內(nèi)振蕩器的

7、反相放大器的輸出端。在片內(nèi)接至片內(nèi)振蕩器的反相放大器的輸出端。第2章 單片機的結(jié)構(gòu)及原理 12主電源引腳主電源引腳 VssVss、VccVcc外接晶振引腳外接晶振引腳 XTAL1XTAL1、XTAL2XTAL2第2章 單片機的結(jié)構(gòu)及原理 133. 控制信號及電源復(fù)用引腳控制信號及電源復(fù)用引腳 (1) RST/VPD(9腳):腳):RST即為即為RESET, VPD為備用電為備用電源,所以該引腳為單片機的上電源,所以該引腳為單片機的上電復(fù)位或掉電保護端。復(fù)位或掉電保護端。 當(dāng)出現(xiàn)兩個機器周期高電平時,單片機復(fù)位當(dāng)出現(xiàn)兩個機器周期高電平時,單片機復(fù)位 。復(fù)位后,。復(fù)位后,P0 P3 輸出高電平;輸

8、出高電平;SP寄存器為寄存器為07H;其它寄存器全部清;其它寄存器全部清0;不影響不影響RAM狀態(tài)。狀態(tài)。 (2) (30腳腳):當(dāng)訪問外部存儲器時:當(dāng)訪問外部存儲器時, ALE(允允許地址鎖存信號)做鎖存擴展地址低位字節(jié)的控制信號許地址鎖存信號)做鎖存擴展地址低位字節(jié)的控制信號。P0口先送出地址的低口先送出地址的低8位,通過位,通過ALE信號將低信號將低8位地址信號瑣存位地址信號瑣存到外部地址專用瑣存器中,再去傳送數(shù)據(jù)信息。到外部地址專用瑣存器中,再去傳送數(shù)據(jù)信息。ALE PROG/第2章 單片機的結(jié)構(gòu)及原理 14 (3) (29腳腳):當(dāng)訪問片外:當(dāng)訪問片外ROM時(即執(zhí)行時(即執(zhí)行MOV

9、C指指令時),此端輸出負脈沖信號作為存儲器讀選通信號。令時),此端輸出負脈沖信號作為存儲器讀選通信號。PSEN (4) (31腳腳):內(nèi):內(nèi)外外ROM選擇端選擇端 。 1時,訪問內(nèi)部程序存儲器,即內(nèi)部時,訪問內(nèi)部程序存儲器,即內(nèi)部ROM 。 0時,只訪問外部程序存儲器,即外部時,只訪問外部程序存儲器,即外部ROM。 注:對于本身沒有片內(nèi)注:對于本身沒有片內(nèi)ROM的單片機,如的單片機,如8031單片機,單片機,設(shè)計電路時,必須使設(shè)計電路時,必須使 0。EA/VPPEAEAEA第2章 單片機的結(jié)構(gòu)及原理 15 4. 輸入輸入/輸出(輸出(I/O)引腳)引腳 (1)P0口口(39腳腳32腳):腳):

10、P0.0P0.7統(tǒng)稱為統(tǒng)稱為P0口。在口。在訪問片外存儲器時,訪問片外存儲器時,它分時輸出它分時輸出低低8位地址和數(shù)據(jù)位地址和數(shù)據(jù),故這些,故這些I/O線有地址線線有地址線/數(shù)據(jù)線之稱數(shù)據(jù)線之稱, 簡寫為簡寫為AD0AD7 (2)P1口口(1腳腳8腳):腳):P1.0P1.7統(tǒng)稱為統(tǒng)稱為P1口,可作口,可作為準雙向為準雙向I/O接口使用。接口使用。 (3) P2口口(21腳腳28腳):腳):P2.0P2.7統(tǒng)稱為統(tǒng)稱為P2口,一口,一般可作為準雙向般可作為準雙向I/O接口。在訪問片外存儲器時,它接口。在訪問片外存儲器時,它輸出輸出高高8位地址。位地址。 (4) P3口口(10腳腳17腳):腳)

11、:P3.0P3.7統(tǒng)稱為統(tǒng)稱為P3口。這口。這8個引腳還具有專門的第二功能。(表個引腳還具有專門的第二功能。(表2-2)第2章 單片機的結(jié)構(gòu)及原理 16表表2-2 P3口各位的第二功能口各位的第二功能 第2章 單片機的結(jié)構(gòu)及原理 1751系列單片機是總線結(jié)構(gòu)的單片機,所謂總線就是指一組公共的信號線,51單片機的總線分為數(shù)據(jù)總線、地址總線和控制總線。 1數(shù)據(jù)總線(DB):數(shù)據(jù)總線寬度為8位,有P0口提供。 2地址總線(AB):地址總線寬度為16位,因此外部存儲器直接尋址范圍為64K,16位地址總線由P0口經(jīng)地址鎖存器提供低8位地址(A0A7),P2口直接提供高8位地址(A8A15)。 3控制總線

12、(CB):由P3口的第二功能狀態(tài)和4根獨立控制線RESET、EA、PSEN、ALE組成。第2章 單片機的結(jié)構(gòu)及原理 182.2.3 2.2.3 單片機程序執(zhí)行的過程單片機程序執(zhí)行的過程2.2.2 CPU2.2.2 CPU的工作原理的工作原理第2章 單片機的結(jié)構(gòu)及原理 19 1. 指令指令 是控制計算機進行某種操作的命令,指令是由二進制是控制計算機進行某種操作的命令,指令是由二進制代碼表示的。代碼表示的。CPU就是根據(jù)指令來指揮和控制計算機各部就是根據(jù)指令來指揮和控制計算機各部分協(xié)調(diào)工作的。通常指令分為操作碼和操作數(shù)兩部分:操分協(xié)調(diào)工作的。通常指令分為操作碼和操作數(shù)兩部分:操作碼規(guī)定操作的類型,

13、操作數(shù)給出參加操作的數(shù)據(jù)或數(shù)據(jù)作碼規(guī)定操作的類型,操作數(shù)給出參加操作的數(shù)據(jù)或數(shù)據(jù)存放的地址。存放的地址。 2. 程序程序 為完成某項規(guī)定任務(wù),把計算機指令按一定次序進行為完成某項規(guī)定任務(wù),把計算機指令按一定次序進行編排組合所形成的指令集稱為程序。編排組合所形成的指令集稱為程序。第2章 單片機的結(jié)構(gòu)及原理 202.2.2 CPU的工作原理的工作原理 中央處理器中央處理器CPU是單片機內(nèi)部的核心部件,它是單片機內(nèi)部的核心部件,它決定了單片機的主要功能特性。決定了單片機的主要功能特性。 CPU控制器控制器指令部件指令部件時序部件時序部件 操作控制部件操作控制部件 等等運算器運算器算術(shù)算術(shù)/邏輯部件邏

14、輯部件ALU暫存器暫存器 等等第2章 單片機的結(jié)構(gòu)及原理 21 控制器是單片機的神經(jīng)中樞,即統(tǒng)一指揮和控控制器是單片機的神經(jīng)中樞,即統(tǒng)一指揮和控制計算機工作的部件。制計算機工作的部件。1. 1. 控制器控制器 (1)指令部件)指令部件:用來分析、處理指令,并產(chǎn)生:用來分析、處理指令,并產(chǎn)生控制信號。主要由下面幾個部件組成:控制信號。主要由下面幾個部件組成: 程序計數(shù)器程序計數(shù)器PC(16位)位) 用來存放下一條將用來存放下一條將要從程序存儲器中取出的指令地址。要從程序存儲器中取出的指令地址。PC不能被訪不能被訪問,它變化的軌跡決定了程序的流程,它的寬度決問,它變化的軌跡決定了程序的流程,它的寬

15、度決定了定了ROM可以直接尋址的范圍??梢灾苯訉ぶ返姆秶?。第2章 單片機的結(jié)構(gòu)及原理 22 指令寄存器指令寄存器IR(8位)位):用于暫時存放指令,等:用于暫時存放指令,等待譯碼。待譯碼。 指令譯碼器指令譯碼器ID:譯碼就是把指令轉(zhuǎn)變成執(zhí)行指令:譯碼就是把指令轉(zhuǎn)變成執(zhí)行指令需要的電信號。需要的電信號。(2)時序部件:)時序部件:由時鐘電路和脈沖分配器組成。由時鐘電路和脈沖分配器組成。 (3)操作控制部件:)操作控制部件:可以為指令譯碼器地輸出信可以為指令譯碼器地輸出信號配上節(jié)拍電位和節(jié)拍脈沖,也可和外部輸入的控號配上節(jié)拍電位和節(jié)拍脈沖,也可和外部輸入的控制制信號組合,共同形成相應(yīng)地微操作控制序

16、列,以完信號組合,共同形成相應(yīng)地微操作控制序列,以完成規(guī)定地操作。成規(guī)定地操作。第2章 單片機的結(jié)構(gòu)及原理 23 2. 運算器運算器 運算器是以算術(shù)邏輯單元運算器是以算術(shù)邏輯單元ALU為核心,加上累為核心,加上累加器加器A、寄存器、寄存器B、暫存器、暫存器TMP1和和TMP2、程序狀、程序狀態(tài)寄存器態(tài)寄存器PSW及專門用于位操作的布爾處理機組及專門用于位操作的布爾處理機組成。它能實現(xiàn)數(shù)成。它能實現(xiàn)數(shù)據(jù)的算術(shù)邏輯運算,位變量處理和據(jù)的算術(shù)邏輯運算,位變量處理和數(shù)據(jù)傳送操作。數(shù)據(jù)傳送操作。 (1)算術(shù))算術(shù)/邏輯單元邏輯單元ALU ALU能完成能完成8位二進制數(shù)的加(帶進位)、減位二進制數(shù)的加(帶

17、進位)、減(帶借位減(帶借位減)、乘、除、加)、乘、除、加1、減、減1、BCD加法的十加法的十進制調(diào)整等算術(shù)運算;以及進制調(diào)整等算術(shù)運算;以及“與與”、 “或或”、 “異異或或”、 求補、求補、 清零等邏輯運算。清零等邏輯運算。 第2章 單片機的結(jié)構(gòu)及原理 24 (2)累加器)累加器ACC、寄存器、寄存器B 累加器累加器ACC簡稱累加器簡稱累加器A,是一個,是一個8位寄存器,位寄存器,它是它是CPU中使用最頻繁的寄存器。進入中使用最頻繁的寄存器。進入ALU作算術(shù)作算術(shù)和邏輯運算的操作數(shù)多來自于和邏輯運算的操作數(shù)多來自于A,運算結(jié)果也常送回,運算結(jié)果也常送回A保存。保存。 寄存器寄存器B是為是為

18、ALU進行乘除法進行乘除法設(shè)置的。設(shè)置的。 (3)程序狀態(tài)寄存器)程序狀態(tài)寄存器PSW PSW是一個是一個8位的標(biāo)志寄存器,它保存指令執(zhí)行位的標(biāo)志寄存器,它保存指令執(zhí)行結(jié)果的特征信息,以供程結(jié)果的特征信息,以供程序查詢和判別。其格式如序查詢和判別。其格式如下:下: 第2章 單片機的結(jié)構(gòu)及原理 25CY 進位標(biāo)志位。進位標(biāo)志位。 AC 半進位標(biāo)志。半進位標(biāo)志。 F0 由用戶定義的標(biāo)志位。由用戶定義的標(biāo)志位。 RS1、RS0工作寄存器組選擇位。工作寄存器組選擇位。 OV溢出標(biāo)志位。由硬件置位或清零。溢出標(biāo)志位。由硬件置位或清零。P奇偶標(biāo)志位。奇偶標(biāo)志位。 CY AC F0 RS1 RS0 OV P

19、PSW.7PSW.0RS1 RS0寄存器組片內(nèi)RAM地址0 00 11 01 1第 0 組第 1 組第 2 組第 3 組00H 07H08H 0FH10H 17H18H 1FH表表2-3 RS0、RS1對工作寄存器組的選擇對工作寄存器組的選擇第2章 單片機的結(jié)構(gòu)及原理 26 (4)布爾處理機)布爾處理機 布爾處理(即位處理)是布爾處理(即位處理)是MCS-51單片機單片機ALU所具有的一種功能。單片機指令系統(tǒng)中的布爾指所具有的一種功能。單片機指令系統(tǒng)中的布爾指令集(令集(17條位操作指令),存儲器中的位地址空條位操作指令),存儲器中的位地址空間,間, 以及借用程序狀態(tài)標(biāo)志寄存器以及借用程序狀態(tài)

20、標(biāo)志寄存器PSW中的中的進位進位標(biāo)志標(biāo)志CY作為位操作作為位操作“累加器累加器”,構(gòu)成了單片機內(nèi),構(gòu)成了單片機內(nèi)的布爾處理機。的布爾處理機。 第2章 單片機的結(jié)構(gòu)及原理 272.2.3 2.2.3 單片機程序執(zhí)行的過程單片機程序執(zhí)行的過程 程序在計算機中的執(zhí)行過程實質(zhì)就是執(zhí)行人們程序在計算機中的執(zhí)行過程實質(zhì)就是執(zhí)行人們所編制程序的過程。計算機每執(zhí)行一條指令都可分所編制程序的過程。計算機每執(zhí)行一條指令都可分為三個階段:取指令、分析指令、執(zhí)行指令。為三個階段:取指令、分析指令、執(zhí)行指令。 取指令取指令 分析分析 執(zhí)行執(zhí)行 第2章 單片機的結(jié)構(gòu)及原理 28 (1)取指令階段取指令階段:根據(jù)程序計數(shù)器

21、:根據(jù)程序計數(shù)器PC中的值中的值從程序存儲器讀出現(xiàn)行指令,送到指令寄存器。從程序存儲器讀出現(xiàn)行指令,送到指令寄存器。 (2)分析指令階段分析指令階段:將指令寄存器中的指令操:將指令寄存器中的指令操作碼取出后譯碼,分析其指令性質(zhì)。如指令要求操作碼取出后譯碼,分析其指令性質(zhì)。如指令要求操作數(shù),則尋址操作數(shù)地址。作數(shù),則尋址操作數(shù)地址。 (3)執(zhí)行指令階段執(zhí)行指令階段:取出操作數(shù),然后按操作:取出操作數(shù),然后按操作碼的性質(zhì)對操作數(shù)進行操作,即執(zhí)行指令。碼的性質(zhì)對操作數(shù)進行操作,即執(zhí)行指令。第2章 單片機的結(jié)構(gòu)及原理 29一般一般CPU指令執(zhí)行的實際過程指令執(zhí)行的實際過程第2章 單片機的結(jié)構(gòu)及原理 3

22、02.3 80C512.3 80C51的存儲器的存儲器 2.3.12.3.1 MCS-51MCS-51單片機的存儲結(jié)構(gòu)單片機的存儲結(jié)構(gòu) 2.3.2 2.3.2 程序存儲器程序存儲器 2.3.3 2.3.3 內(nèi)部數(shù)據(jù)內(nèi)部數(shù)據(jù)儲器儲器 2.2.4 2.2.4 外部數(shù)據(jù)外部數(shù)據(jù)儲器儲器第2章 單片機的結(jié)構(gòu)及原理 312.3.1 2.3.1 MCS-51MCS-51單片機的單片機的存儲存儲結(jié)構(gòu)結(jié)構(gòu)圖圖2-6 80C51存儲器空間分布圖存儲器空間分布圖64KB64KBROMRAM(EA=0)FFFF00000000FFFF片外擴展存儲器片外擴展存儲器ROM(EA=1)0FFF0000SFRRAMFF80

23、7F0080C51片內(nèi)存儲器片內(nèi)存儲器256B4KB第2章 單片機的結(jié)構(gòu)及原理 32物理上分為物理上分為4 4個空間個空間: 片內(nèi)片內(nèi)ROM、片外、片外ROM 片內(nèi)片內(nèi)RAM、片外、片外RAM邏輯上分為邏輯上分為3 3個空間:個空間: 程序存儲器(片內(nèi)、外)統(tǒng)一編址程序存儲器(片內(nèi)、外)統(tǒng)一編址 MOVC 數(shù)據(jù)存儲器(片內(nèi))數(shù)據(jù)存儲器(片內(nèi)) MOV 數(shù)據(jù)存儲器(片外)數(shù)據(jù)存儲器(片外) MOVX第2章 單片機的結(jié)構(gòu)及原理 33尋址范圍:尋址范圍:0000H FFFFH 容量容量64KB,即即地址長度地址長度16位。位。 作作 用:用: 存放程序及程序運行時所需的常數(shù)。存放程序及程序運行時所需

24、的常數(shù)。2.3.2 2.3.2 程序存儲器程序存儲器1EA ,尋址內(nèi)部,尋址內(nèi)部ROM;當(dāng)當(dāng)PC值超過片內(nèi)值超過片內(nèi)ROM容量時會自動轉(zhuǎn)向外部存儲器空間容量時會自動轉(zhuǎn)向外部存儲器空間0EA ,尋址外部,尋址外部ROM。 EA8031單片機單片機接低電平。接低電平。第2章 單片機的結(jié)構(gòu)及原理 34七個具有特殊含義的單元:七個具有特殊含義的單元:第2章 單片機的結(jié)構(gòu)及原理 35 MCS-51的片外最多能擴展的片外最多能擴展64 KB程序存儲器,程序存儲器,片內(nèi)外的片內(nèi)外的ROM是統(tǒng)一編址的是統(tǒng)一編址的。如。如EA/VPP端保持高電平,端保持高電平,8051的程序的程序計數(shù)器計數(shù)器PC在在0000H

25、0FFFH地址范圍內(nèi)地址范圍內(nèi) (即前即前4 KB地址地址) 是是執(zhí)行片內(nèi)執(zhí)行片內(nèi)ROM中的程序,當(dāng)中的程序,當(dāng)PC在在1000HFFFFH地址范圍地址范圍時,自動執(zhí)行片外程序存儲器中的程序;當(dāng)保持低電平時,時,自動執(zhí)行片外程序存儲器中的程序;當(dāng)保持低電平時,只能尋址外部程序存儲器,片外存儲器可以從只能尋址外部程序存儲器,片外存儲器可以從0000H開始編開始編址。址。 其中一組特殊單元是其中一組特殊單元是0000H0002H。系統(tǒng)復(fù)位后,。系統(tǒng)復(fù)位后,(PC)=0000H,單片機從,單片機從0000H單元開始取指令執(zhí)行程序。如單元開始取指令執(zhí)行程序。如果程序不從果程序不從0000H單元開始,應(yīng)

26、在這三個單元中存放一條無單元開始,應(yīng)在這三個單元中存放一條無條件轉(zhuǎn)移指令,以便直接轉(zhuǎn)去執(zhí)行指定的程序。條件轉(zhuǎn)移指令,以便直接轉(zhuǎn)去執(zhí)行指定的程序。第2章 單片機的結(jié)構(gòu)及原理 36 中斷響應(yīng)后,按中斷種類,自動轉(zhuǎn)到各中斷區(qū)的首地中斷響應(yīng)后,按中斷種類,自動轉(zhuǎn)到各中斷區(qū)的首地址去執(zhí)行程序,因此在中斷地址區(qū)中理應(yīng)存放中斷服務(wù)程址去執(zhí)行程序,因此在中斷地址區(qū)中理應(yīng)存放中斷服務(wù)程序。但通常情況下,序。但通常情況下,8個單元難以存下一個完整的中斷服務(wù)個單元難以存下一個完整的中斷服務(wù)程序,因此通常也是從程序,因此通常也是從中斷地址區(qū)首地址開始存放一條無中斷地址區(qū)首地址開始存放一條無條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令,以

27、便中斷響應(yīng)后,通過中斷地址區(qū),再轉(zhuǎn),以便中斷響應(yīng)后,通過中斷地址區(qū),再轉(zhuǎn)到中斷服務(wù)程序的實際入口地址。到中斷服務(wù)程序的實際入口地址。第2章 單片機的結(jié)構(gòu)及原理 37一般在0000H地址只寫一條跳轉(zhuǎn)指令,從0030H開始寫主程序,如: ORG 0000H LJMP MAIN ORG 0030H MAIN: ;開始寫主程序)第2章 單片機的結(jié)構(gòu)及原理 38物理上分兩區(qū)域:物理上分兩區(qū)域:00H 7FH的內(nèi)的內(nèi)RAM區(qū),區(qū),80H FFH的的SFR區(qū)。區(qū)。 2.3.3 2.3.3 內(nèi)部數(shù)據(jù)存儲器內(nèi)部數(shù)據(jù)存儲器用戶RAM區(qū)(堆棧、數(shù)據(jù)緩沖)位尋址區(qū)(位地址00H7FH) 第3組工作寄存器 第2組工作寄

28、存器 第1組工作寄存器 第0組工作寄存器17H7FH30H2FH20H1FH18H10H0FH08H07H00HR7R0R7R0R7R0R7R0 專 用 寄 存 器 區(qū) SFRFFHF0HE0HD0HB8HB0HA8HA0H99H98H90H8DH8CH8BH8AH89H88H87H83H82H81H80HB ACC PSW IP P3 IE P2 SBUF SCON P1 TH1 TH0 TL1 TL0 TMODTCON PCON DPH DPL SP P0 圖圖2|7片片內(nèi)內(nèi)數(shù)數(shù)據(jù)據(jù)存存儲儲器器的的配配置置第2章 單片機的結(jié)構(gòu)及原理 39 1 1、工作寄存器區(qū)(、工作寄存器區(qū)(00H00H

29、1FH1FH) 工作寄存器區(qū)分為工作寄存器區(qū)分為4組,每組有組,每組有8個工作寄存器個工作寄存器R0R7,共共32個個RAM單元。寄存器和單元。寄存器和RAM地址對應(yīng)關(guān)系如下表所示。地址對應(yīng)關(guān)系如下表所示。(思考:這里的思考:這里的RAM到底是寄存器還是內(nèi)存?到底是寄存器還是內(nèi)存?)表表2-5 工作寄存器和工作寄存器和RAM地址對照表地址對照表 組R0R1R2R2R4R5R6R7RS1 RS001230 00 11 01 100H08H10H18H01H09H11H19H02H0AH12H1AH03H0BH13H1BH04H0CH14H1CH05H0DH15H1DH06H0EH16H1EH07

30、H0FH17H1FH一、內(nèi)部數(shù)據(jù)存儲器一、內(nèi)部數(shù)據(jù)存儲器低低128128字節(jié)字節(jié)第2章 單片機的結(jié)構(gòu)及原理 40寄存器常用于存放操作數(shù)中間結(jié)果等。由于它們的功寄存器常用于存放操作數(shù)中間結(jié)果等。由于它們的功能及使用不作預(yù)先規(guī)定,因此能及使用不作預(yù)先規(guī)定,因此稱之為通用寄存器稱之為通用寄存器,有,有時也叫工作寄存器。時也叫工作寄存器。在任一時刻,在任一時刻,CPU只能使用其中的一組寄存器只能使用其中的一組寄存器,并且,并且把正在使用的那組寄存器稱之為當(dāng)前寄存器組。把正在使用的那組寄存器稱之為當(dāng)前寄存器組。CPU通過軟件修改通過軟件修改PSW中中 RS0 和和 RS1 兩位的狀態(tài)就可兩位的狀態(tài)就可任

31、選一組工作寄存器工作任選一組工作寄存器工作。通用寄存器為通用寄存器為CPU提供了就近存儲數(shù)據(jù)的便利,有利提供了就近存儲數(shù)據(jù)的便利,有利于提高單片機的運算速度。此外,使用通用寄存器還于提高單片機的運算速度。此外,使用通用寄存器還能提高程序編制的靈活性。能提高程序編制的靈活性。第2章 單片機的結(jié)構(gòu)及原理 412 2、位尋址區(qū)(、位尋址區(qū)(20H20H2FH2FH)內(nèi)部內(nèi)部RAM的的20H2FH單元,既可作為一般單元,既可作為一般RAM單元單元使用,進行字節(jié)操作,也可以對單元中每一位進行位使用,進行字節(jié)操作,也可以對單元中每一位進行位操作,因此把該區(qū)稱之為位尋址區(qū)。操作,因此把該區(qū)稱之為位尋址區(qū)。

32、位尋址位尋址空間一部分在內(nèi)部空間一部分在內(nèi)部RAM的的20H2FH的的16個字個字節(jié)內(nèi),共節(jié)內(nèi),共128位位; 另一部分在另一部分在SFR的空間內(nèi)。的空間內(nèi)。位尋址區(qū)的每位尋址區(qū)的每1位都可當(dāng)作軟件觸發(fā)器,由程序直接進位都可當(dāng)作軟件觸發(fā)器,由程序直接進行位處理。行位處理。通??梢园迅鞣N程序狀態(tài)標(biāo)志,位控制變通??梢园迅鞣N程序狀態(tài)標(biāo)志,位控制變量存量存于位尋址區(qū)內(nèi)于位尋址區(qū)內(nèi)。同樣,位尋址的同樣,位尋址的RAM單元也可以單元也可以按字節(jié)操作作為一般的數(shù)據(jù)緩沖。按字節(jié)操作作為一般的數(shù)據(jù)緩沖。 MCS-51具有布爾處理機功能,這個位尋址區(qū)可以構(gòu)成具有布爾處理機功能,這個位尋址區(qū)可以構(gòu)成布爾處理機的存

33、儲空間。這種位尋址能力是布爾處理機的存儲空間。這種位尋址能力是MCS-51的的一個重要特點。一個重要特點。 第2章 單片機的結(jié)構(gòu)及原理 42 表表2-6 內(nèi)部內(nèi)部RAM中位地址表中位地址表 第2章 單片機的結(jié)構(gòu)及原理 43 3 3、用戶、用戶RAMRAM區(qū)(區(qū)(30H30H7FH7FH) 用戶用戶RAM區(qū)包括堆棧和數(shù)據(jù)緩沖區(qū)區(qū)包括堆棧和數(shù)據(jù)緩沖區(qū)。圖圖2-8 MCS-51單片機堆棧單片機堆棧 堆棧是個特殊的存儲器堆棧是個特殊的存儲器,主要功能是暫時存放數(shù)據(jù)和地主要功能是暫時存放數(shù)據(jù)和地址,用來址,用來在子程序調(diào)用、中斷在子程序調(diào)用、中斷服務(wù)處理等場合保護服務(wù)處理等場合保護CPU現(xiàn)現(xiàn)場(場(為什

34、么要保護?為什么要保護?)。)。 它的特點它的特點是先進后出、后是先進后出、后進先出進先出,這里的,這里的“進進”與與“出出”是是指進棧與出棧。指進棧與出棧。第2章 單片機的結(jié)構(gòu)及原理 44 堆棧指針(堆棧指針(SP):):SP是一個是一個8位寄存器,用于存放棧頂?shù)刂贰C课患拇嫫?,用于存放棧頂?shù)刂贰C看嫒耄ɑ蛉〕觯┮粋€字節(jié)的數(shù)據(jù),存入(或取出)一個字節(jié)的數(shù)據(jù),SP就自動加就自動加1(或減(或減1)。)。SP始終指始終指向新的棧頂。堆棧操作有兩種方式:向新的棧頂。堆棧操作有兩種方式:圖圖2-9 堆棧指針示意圖堆棧指針示意圖4BA0.棧頂棧區(qū)棧底473130.SP (1)指令方式指令方式:即使用堆

35、棧操:即使用堆棧操作指令進行作指令進行“進棧進棧/出棧出棧”操作;操作; (2)自動方式自動方式:即在調(diào)用子程:即在調(diào)用子程序或產(chǎn)生中斷時,返回地址(斷點)序或產(chǎn)生中斷時,返回地址(斷點)自動進棧;程序返回時,斷點地址自動進棧;程序返回時,斷點地址再自動彈回再自動彈回 PC。這種方式是硬件自。這種方式是硬件自動完成的。動完成的。 第2章 單片機的結(jié)構(gòu)及原理 45二、內(nèi)部數(shù)據(jù)存儲器二、內(nèi)部數(shù)據(jù)存儲器高高128128字節(jié)字節(jié) 內(nèi)部內(nèi)部RAM的高的高128單元是供給專用寄存器單元是供給專用寄存器使用的,其單元地址為使用的,其單元地址為80HFFH。因這些寄存。因這些寄存器的功能已作專門規(guī)定,故稱之為

36、專用寄存器器的功能已作專門規(guī)定,故稱之為專用寄存器SFR(Special Function Register),也可稱為特),也可稱為特殊功能寄存器。殊功能寄存器。第2章 單片機的結(jié)構(gòu)及原理 46ACC 累加器累加器AB B寄存器寄存器PSW 程序狀態(tài)字程序狀態(tài)字SP 堆棧指針堆棧指針DPH 數(shù)據(jù)指針高數(shù)據(jù)指針高8位位DPL 數(shù)據(jù)指針低數(shù)據(jù)指針低8位位P0P3 并行端口并行端口IP 中斷優(yōu)先級中斷優(yōu)先級IE 中斷允許中斷允許TMOD 定時器定時器/計數(shù)器方式計數(shù)器方式TCON 定時器定時器/計數(shù)器控制計數(shù)器控制TH0 TC0計數(shù)初值高計數(shù)初值高8位位TL0 TC0計數(shù)初值低計數(shù)初值低8位位TH

37、1 TC1計數(shù)初值高計數(shù)初值高8位位TL1 TC1計數(shù)初值低計數(shù)初值低8位位SCON 串行控制串行控制SBUF 串行數(shù)據(jù)緩沖器串行數(shù)據(jù)緩沖器PCON 電源控制電源控制第2章 單片機的結(jié)構(gòu)及原理 47 1 1、專用寄存器簡介、專用寄存器簡介 8051共有共有21個專用寄存器,簡單介紹其中部分寄存器:個專用寄存器,簡單介紹其中部分寄存器:PCProgram Counter,我們已經(jīng)知道,我們已經(jīng)知道PC是一個是一個16位位的的計數(shù)器,它的作用是控制程序的執(zhí)行順序。其內(nèi)容為將計數(shù)器,它的作用是控制程序的執(zhí)行順序。其內(nèi)容為將要執(zhí)行指令的地址,尋址范圍達要執(zhí)行指令的地址,尋址范圍達64 KB。 (1 1

38、) 程序計數(shù)器程序計數(shù)器PCPC PC 有有自動加自動加“1”的功能的功能,從而實現(xiàn)程序的順序執(zhí)行。,從而實現(xiàn)程序的順序執(zhí)行。PC沒有地址,是沒有地址,是不可尋址不可尋址的,因此用戶無法對它進行讀的,因此用戶無法對它進行讀寫,但可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,寫,但可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉(zhuǎn)移。以實現(xiàn)程序的轉(zhuǎn)移。第2章 單片機的結(jié)構(gòu)及原理 48 (2 2) 累加器累加器ACCACC ACCAccumulator,累加器是,累加器是8位位寄存器,是最常用的寄存器,是最常用的專用寄存器,功能較多,專用寄存器,功能較多,地位重要地位重要。它既可用于存放操。它既

39、可用于存放操作數(shù),也可用來存放運算的中間結(jié)果。作數(shù),也可用來存放運算的中間結(jié)果。MCS-51單片機中單片機中大部分單操作數(shù)指令的操作數(shù)就取自累加器,許多雙操大部分單操作數(shù)指令的操作數(shù)就取自累加器,許多雙操作數(shù)指令中的一個操作數(shù)也取自累加器。作數(shù)指令中的一個操作數(shù)也取自累加器。 (3 3) B B寄存器寄存器 B寄存器是一個寄存器是一個8位位寄存器,寄存器,主要用于乘除運算主要用于乘除運算。乘法運。乘法運算時,算時,B存乘數(shù)。乘法操作后,乘積的高存乘數(shù)。乘法操作后,乘積的高8位存于位存于B中,中,除法運算時,除法運算時,B存除數(shù)。除法操作后,余數(shù)存于存除數(shù)。除法操作后,余數(shù)存于B中。此中。此外,

40、外,B寄存器也可作為一般數(shù)據(jù)寄存器使用。寄存器也可作為一般數(shù)據(jù)寄存器使用。 第2章 單片機的結(jié)構(gòu)及原理 49 (4 4) 程序狀態(tài)字程序狀態(tài)字PSWPSW PSWProgram Status Word 。程序狀態(tài)字是一個。程序狀態(tài)字是一個8位位寄寄存器,用于存放程序運行中的各種狀態(tài)信息。其中有些存器,用于存放程序運行中的各種狀態(tài)信息。其中有些位的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自動設(shè)置的,而位的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自動設(shè)置的,而有些位的狀態(tài)則使用軟件方法設(shè)定。有些位的狀態(tài)則使用軟件方法設(shè)定。 PSW的位狀態(tài)可以用專門指令進行測試,也可以用指令的位狀態(tài)可以用專門指令進行測試,也可以用指令

41、讀出。一些條件轉(zhuǎn)移指令將根據(jù)讀出。一些條件轉(zhuǎn)移指令將根據(jù)PSW有些位的狀態(tài),進有些位的狀態(tài),進行程序轉(zhuǎn)移。行程序轉(zhuǎn)移。PSW的各位定義如下:的各位定義如下: P OV RS0 RS1 F0 AC CYPSW.7PSW.0第2章 單片機的結(jié)構(gòu)及原理 50 (5 5) 數(shù)據(jù)指針數(shù)據(jù)指針DPTRDPTR 數(shù)據(jù)指針為數(shù)據(jù)指針為16位位寄存器。編程時,寄存器。編程時,DPTR既可以按既可以按16位位寄存器使用,也可以按兩個寄存器使用,也可以按兩個8位寄存器分開使用,即:位寄存器分開使用,即: DPH:DPTR高位字節(jié)高位字節(jié) DPL:DPTR低位字節(jié)低位字節(jié)DPTR通常在通常在訪問外部數(shù)據(jù)存儲器時作地址

42、指針使用訪問外部數(shù)據(jù)存儲器時作地址指針使用。由于外部數(shù)據(jù)存儲器的尋址范圍為由于外部數(shù)據(jù)存儲器的尋址范圍為64 KB,故把,故把DPTR設(shè)設(shè)計為計為16位。位。第2章 單片機的結(jié)構(gòu)及原理 51 (6 6) 堆棧指針堆棧指針SPSP SPStack Pointer。SP是一個是一個8位位寄存器。系統(tǒng)復(fù)位后,寄存器。系統(tǒng)復(fù)位后,SP的內(nèi)容為的內(nèi)容為07H,從而復(fù)位后堆棧實際上是從,從而復(fù)位后堆棧實際上是從08H單元開單元開始的。但始的。但08H1FH單元分別屬于工作寄存器單元分別屬于工作寄存器13區(qū),如區(qū),如程序要用到這些區(qū),程序要用到這些區(qū),最好把最好把SP值改為值改為1FH或更大的值或更大的值。

43、一般在內(nèi)部一般在內(nèi)部RAM的的30H7FH單元中開辟堆棧單元中開辟堆棧。SP的內(nèi)的內(nèi)容一經(jīng)確定,堆棧的位置也就跟著確定下來,由于容一經(jīng)確定,堆棧的位置也就跟著確定下來,由于SP可初可初始化為不同值,因此堆棧位置是浮動的。始化為不同值,因此堆棧位置是浮動的。第2章 單片機的結(jié)構(gòu)及原理 52 2 2、專用寄存器的字節(jié)尋址和位地址、專用寄存器的字節(jié)尋址和位地址 MCS-51系列單片機有系列單片機有21個可尋址的專用寄個可尋址的專用寄存器,其中有存器,其中有11個專用寄存器是可以位尋址的。個專用寄存器是可以位尋址的。下面表格列出各寄存器的字節(jié)地址及位地址:下面表格列出各寄存器的字節(jié)地址及位地址: 寄存

44、器寄存器 位地址位地址 / /位定義位定義 地址地址 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F0F0 B B F0HF0H E7E7 E6E6 E5E5 E4E4 E3E3 E2E2 E1E1 E0E0 ACCACC E0E0 D7D7 D6D6 D5D5 D4D4 D3D3 D2D2 D1D1 D0D0 PSWPSW CYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV / / P P D0HD0H BFBF BEBE BDBD BCBC BBBB BABA B9B9 B8B8 IPIP B8HB8H B7B7 B6B6 B5B5 B4B4 B3

45、B3 B2B2 B1B1 B0B0 P3P3 P3.7P3.7 P3.6P3.6 P3.5P3.5 P3.P3.4 4 P3.3P3.3 P3.2P3.2 P3.1P3.1 P3.0P3.0 B0HB0H IEIE A8HA8H A7A7 A6A6 A5A5 A4A4 A3A3 A2A2 A1A1 A0A0 P2P2 P2.7P2.7 P2.6P2.6 P2.5P2.5 P2.4P2.4 P2.3P2.3 P2.2P2.2 P2.1P2.1 P2.0P2.0 A0HA0H SBUFSBUF 99H99H + SCON 98H 97 96 95 94 93 92 91 90 P1 P1.7 P1

46、.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 90H TH1 8DH TH0 8CH TL1 8BH TL0 8AH TMOD GATE C/T M1 M0 GATE C/T M1 M0 89H 8F 8E 8D 8C 8B 8A 89 88 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88H PCON SMOD / / / GF1 GF0 PD IDL 87H DPH 83H DPL 82H SP 81H 87 86 85 84 83 82 81 80 P0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 80

47、H 第2章 單片機的結(jié)構(gòu)及原理 55 對專用寄存器的字節(jié)尋址問題作如下幾點說明:對專用寄存器的字節(jié)尋址問題作如下幾點說明: (1) 21個可字節(jié)尋址的專用寄存器是不連續(xù)地分散在內(nèi)個可字節(jié)尋址的專用寄存器是不連續(xù)地分散在內(nèi)部部RAM高高128單元之中,盡管還余有許多空閑地址,但用戶單元之中,盡管還余有許多空閑地址,但用戶并不能使用(為什么要分散?)。并不能使用(為什么要分散?)。 (2)程序計數(shù)器)程序計數(shù)器PC不占據(jù)不占據(jù)RAM單元,它在物理上是獨立單元,它在物理上是獨立的,因此是不可尋址的寄存器(能不能更改?)。的,因此是不可尋址的寄存器(能不能更改?)。 (3)對專用寄存器只能使用直接尋址

48、方式,書寫時既可)對專用寄存器只能使用直接尋址方式,書寫時既可使用寄存器符號,也可使用寄存器。使用寄存器符號,也可使用寄存器。 第2章 單片機的結(jié)構(gòu)及原理 56(1)容量最大擴展到)容量最大擴展到64KB。(2)尋址范圍:)尋址范圍:0000H FFFFH。(3)尋址方式:間接尋址可用)尋址方式:間接尋址可用R0,R1,DPTR 。 單片機訪問外部數(shù)據(jù)存儲器可用單片機訪問外部數(shù)據(jù)存儲器可用DPTR、R0、R1 作為間址寄存器。作為間址寄存器。DPTR是是1616位地址指針,尋址范圍是位地址指針,尋址范圍是 64KB;R0、R1都是都是8 8位地址指針,尋址范圍是位地址指針,尋址范圍是256B。

49、(4 4)訪問片內(nèi)數(shù)據(jù)存儲區(qū)用)訪問片內(nèi)數(shù)據(jù)存儲區(qū)用“MOV”指令;訪問片外數(shù)據(jù)指令;訪問片外數(shù)據(jù)存存 儲區(qū)用儲區(qū)用“MOVX”指令,對片外數(shù)據(jù)存儲器采用間接指令,對片外數(shù)據(jù)存儲器采用間接尋尋 址方式,訪問片外址方式,訪問片外ROMROM用用“MOVC”MOVC”指令。指令。2.3.4 2.3.4 外部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器第2章 單片機的結(jié)構(gòu)及原理 572.4 2.4 輸入輸入/ /輸出端口結(jié)構(gòu)輸出端口結(jié)構(gòu) 2.4.1 P02.4.1 P0口口 2.4.2 P12.4.2 P1口口 2.4.3 P22.4.3 P2口口 2.4.4 P32.4.4 P3口口 第2章 單片機的結(jié)構(gòu)及原理 58

50、 80C51單片機有單片機有4個個I/O端口,每個端口都是端口,每個端口都是8位位雙向口,共占雙向口,共占32個引腳。每個端口包括一個鎖存器個引腳。每個端口包括一個鎖存器(即專用寄存器(即專用寄存器P0P3)、一個輸出驅(qū)動器、一個)、一個輸出驅(qū)動器、一個輸入緩沖器。通常把輸入緩沖器。通常把4個端口稱為個端口稱為P0P3。 在無片外存儲器的系統(tǒng)中,這在無片外存儲器的系統(tǒng)中,這4個端口的每一位個端口的每一位都可以作為雙向通用都可以作為雙向通用I/O端口使用;當(dāng)有片外擴展存端口使用;當(dāng)有片外擴展存儲器的系統(tǒng)中,儲器的系統(tǒng)中,P2作為高作為高8位地址線,位地址線,P0分時作為低分時作為低8位地址線和雙

51、向數(shù)據(jù)總線。位地址線和雙向數(shù)據(jù)總線。2.4.1 P02.4.1 P0口口 第2章 單片機的結(jié)構(gòu)及原理 59 第2章 單片機的結(jié)構(gòu)及原理 60第2章 單片機的結(jié)構(gòu)及原理 61第2章 單片機的結(jié)構(gòu)及原理 62第2章 單片機的結(jié)構(gòu)及原理 63第2章 單片機的結(jié)構(gòu)及原理 64第2章 單片機的結(jié)構(gòu)及原理 65第2章 單片機的結(jié)構(gòu)及原理 66 1 1P0P0口結(jié)構(gòu)口結(jié)構(gòu) P0口是一個三態(tài)雙向口,可作為地址口是一個三態(tài)雙向口,可作為地址/數(shù)據(jù)分時數(shù)據(jù)分時復(fù)用口,也可作為通用復(fù)用口,也可作為通用I/O接口。其接口。其1位的結(jié)構(gòu)原理位的結(jié)構(gòu)原理如上圖所示。如上圖所示。P0口由口由8個這樣的電路組成。個這樣的電路

52、組成。 鎖存器起輸出鎖存作用,鎖存器起輸出鎖存作用,8個鎖存器構(gòu)成了特殊個鎖存器構(gòu)成了特殊功能寄存器功能寄存器P0; 場效應(yīng)管場效應(yīng)管(FET)V1、V2組成輸出驅(qū)動器,以增組成輸出驅(qū)動器,以增大帶負載能力;大帶負載能力; 三態(tài)門三態(tài)門1是引腳輸入緩沖器;三態(tài)門是引腳輸入緩沖器;三態(tài)門2用于讀鎖用于讀鎖存器端口;存器端口; 與門與門3、反相器、反相器4及模擬轉(zhuǎn)換開關(guān)及模擬轉(zhuǎn)換開關(guān)MUX構(gòu)成了輸構(gòu)成了輸出控制電路。出控制電路。第2章 單片機的結(jié)構(gòu)及原理 67 2 2地址地址/ /數(shù)據(jù)分時復(fù)用功能數(shù)據(jù)分時復(fù)用功能 當(dāng)當(dāng)P0口作為地址口作為地址/數(shù)據(jù)分時復(fù)用總線時,可分為兩種情況:數(shù)據(jù)分時復(fù)用總線時

53、,可分為兩種情況:一種是從一種是從P0口輸出地址或數(shù)據(jù),另一種是從口輸出地址或數(shù)據(jù),另一種是從P0口輸入數(shù)據(jù)??谳斎霐?shù)據(jù)。 在訪問片外存儲器而需從在訪問片外存儲器而需從P0口輸出地址或數(shù)據(jù)信號時,口輸出地址或數(shù)據(jù)信號時,控制信號應(yīng)為高電平控制信號應(yīng)為高電平1,使轉(zhuǎn)換開關(guān),使轉(zhuǎn)換開關(guān)MUX把反相器把反相器4的輸出的輸出端與端與V1接通,同時把與門接通,同時把與門3打開。當(dāng)?shù)刂坊驍?shù)據(jù)為打開。當(dāng)?shù)刂坊驍?shù)據(jù)為1時,經(jīng)時,經(jīng)反相器反相器4使使V1截止,而經(jīng)與門截止,而經(jīng)與門3使使V2導(dǎo)通,導(dǎo)通,P0.x引腳上出現(xiàn)相引腳上出現(xiàn)相應(yīng)的高電平應(yīng)的高電平1; 當(dāng)?shù)刂坊驍?shù)據(jù)為當(dāng)?shù)刂坊驍?shù)據(jù)為0時,經(jīng)反相器時,經(jīng)反相

54、器4使使V1導(dǎo)導(dǎo)通而通而V2截止,引腳上出現(xiàn)相應(yīng)的低電平截止,引腳上出現(xiàn)相應(yīng)的低電平0。這樣就將地址。這樣就將地址/數(shù)據(jù)的信號輸出。數(shù)據(jù)的信號輸出。第2章 單片機的結(jié)構(gòu)及原理 68 3 3通用通用I/OI/O接口功能接口功能 當(dāng)當(dāng)P0口作為通用口作為通用I/O口使用,在口使用,在CPU向端口輸出數(shù)據(jù)時,向端口輸出數(shù)據(jù)時,對應(yīng)的控制信號為對應(yīng)的控制信號為0,轉(zhuǎn)換開關(guān),轉(zhuǎn)換開關(guān)MUX把輸出級與鎖存器把輸出級與鎖存器Q端接端接通,同時因與門通,同時因與門3輸出為輸出為0使使V2截止,此時,輸出級是漏極開截止,此時,輸出級是漏極開路電路。當(dāng)寫脈沖加在鎖存器時鐘端路電路。當(dāng)寫脈沖加在鎖存器時鐘端CLK上

55、時,與內(nèi)部總線上時,與內(nèi)部總線相連的相連的D端數(shù)據(jù)取反后出現(xiàn)在端數(shù)據(jù)取反后出現(xiàn)在Q端,又經(jīng)輸出端,又經(jīng)輸出V1反相,在反相,在P0引引腳上出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。當(dāng)要從腳上出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。當(dāng)要從P0口輸入數(shù)口輸入數(shù)據(jù)時,引腳信息仍經(jīng)輸入緩沖器進入內(nèi)部總線。據(jù)時,引腳信息仍經(jīng)輸入緩沖器進入內(nèi)部總線。第2章 單片機的結(jié)構(gòu)及原理 69 MCS51單片機有不少指令可直接進行端口操單片機有不少指令可直接進行端口操作,作, 例如例如: ANL P0,A ; (P0)(P0)(A)ORL P0,data ;(P0)(P0) data4 4、端口操作、端口操作第2章 單片機的結(jié)構(gòu)及原理

56、 70 P1口是作通用口是作通用I/O使用的,電路結(jié)構(gòu)如圖使用的,電路結(jié)構(gòu)如圖2-10所所示示。 其輸出驅(qū)動部分與其輸出驅(qū)動部分與P0口不同,內(nèi)部有上拉負載口不同,內(nèi)部有上拉負載電阻與電源相連。電阻與電源相連。 當(dāng)當(dāng)P1口輸出高電平時,能向外提高拉電流負載口輸出高電平時,能向外提高拉電流負載,所以不必再外接上拉電阻。在端口由輸出口轉(zhuǎn)為輸所以不必再外接上拉電阻。在端口由輸出口轉(zhuǎn)為輸入口時,必須先向?qū)?yīng)的鎖存器寫入入口時,必須先向?qū)?yīng)的鎖存器寫入“1”,使工作,使工作FET截止。由于片內(nèi)負載電阻較大,約截止。由于片內(nèi)負載電阻較大,約2040k ,不會對輸入的數(shù)據(jù)產(chǎn)生影響。不會對輸入的數(shù)據(jù)產(chǎn)生影響。

57、 2.4.2 P12.4.2 P1口口 第2章 單片機的結(jié)構(gòu)及原理 71圖圖2-11 P1口的結(jié)構(gòu)原理圖口的結(jié)構(gòu)原理圖 第2章 單片機的結(jié)構(gòu)及原理 72 P2口也是一準雙向口,其1位的內(nèi)部結(jié)構(gòu)如圖2-11所示。它具有通用I/O接口或高8位地址總線輸出兩種功能,所以其輸出驅(qū)動結(jié)構(gòu)比P1口輸出驅(qū)動結(jié)構(gòu)多了一個輸出模擬轉(zhuǎn)換開關(guān)MUX和反相器3。 在系統(tǒng)擴展片外程序存儲器時,由P2口輸出高8位(低8位由P0口輸出),此時,MUX在CPU的控制下轉(zhuǎn)向內(nèi)部地址線的一端。2.4.3 P22.4.3 P2口口 第2章 單片機的結(jié)構(gòu)及原理 73圖圖2-12 P2口的結(jié)構(gòu)原理圖口的結(jié)構(gòu)原理圖 第2章 單片機的結(jié)構(gòu)

58、及原理 74 P3口的1位結(jié)構(gòu)如圖2-12所示。 它是多功能口,若第二輸出功能端保持“1”電平,打開“與非”門,鎖存器輸出可通過“與非”門送至FET輸出到引腳端,這是通用I/O輸出使用情況。 當(dāng)端口用于第二功能下輸出時,鎖存器輸出Q為“1”,打開“與非”門,第二輸出功能端內(nèi)容通過“與非”門和FET送至端口引腳,從而實現(xiàn)第二功能信號輸出;輸入時,端口引腳的第二功能信號通過緩沖器送到第二輸入功能端。2.4.4 P32.4.4 P3口口 第2章 單片機的結(jié)構(gòu)及原理 75圖圖2-13 P3口的結(jié)構(gòu)原理圖口的結(jié)構(gòu)原理圖 第2章 單片機的結(jié)構(gòu)及原理 762.5 CPU2.5 CPU時序及時鐘電路時序及時鐘

59、電路2.5.1 CPU2.5.1 CPU時序及有關(guān)概念時序及有關(guān)概念2.5.2 80C512.5.2 80C51的指令周期的指令周期思考題思考題第2章 單片機的結(jié)構(gòu)及原理 772.5.1 CPU2.5.1 CPU時序及有關(guān)概念時序及有關(guān)概念1. 1. 時鐘信號的產(chǎn)生時鐘信號的產(chǎn)生 在在MCS-51芯片內(nèi)部有一個高增益反相放大器,其輸入芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳端為芯片引腳XTAL1,其輸出端為引腳,其輸出端為引腳XTAL2 。而在芯片。而在芯片的外部,的外部,XTAL1和和XTAL2之間跨接晶體振蕩器和微調(diào)電容之間跨接晶體振蕩器和微調(diào)電容C1和和C2,從而構(gòu)成一個穩(wěn)定的

60、自激振蕩器,這就是單片機的,從而構(gòu)成一個穩(wěn)定的自激振蕩器,這就是單片機的時鐘電路,如下圖所示。時鐘電路,如下圖所示。 時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻二分頻之后,之后,才成為單片機的時鐘脈沖信號。請讀者特別注意時鐘脈沖與才成為單片機的時鐘脈沖信號。請讀者特別注意時鐘脈沖與振蕩脈沖之間的二分頻關(guān)系,否則會造成概念上的錯誤。振蕩脈沖之間的二分頻關(guān)系,否則會造成概念上的錯誤。第2章 單片機的結(jié)構(gòu)及原理 781XTAL1XTAL2C1C2晶振8051至內(nèi)部時鐘電路圖圖2-14 時鐘振蕩電路時鐘振蕩電路 一般地,電容一般地,電容C1和和C2取取30 pF左右

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論