第1章 基本結(jié)構(gòu)及工作原理_第1頁(yè)
第1章 基本結(jié)構(gòu)及工作原理_第2頁(yè)
第1章 基本結(jié)構(gòu)及工作原理_第3頁(yè)
第1章 基本結(jié)構(gòu)及工作原理_第4頁(yè)
第1章 基本結(jié)構(gòu)及工作原理_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄目錄1.1 51系列單片機(jī)概述系列單片機(jī)概述1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義 1.3 1.41.51.6 1.7第第1章章 MCS-51系列單片機(jī)的基本結(jié)構(gòu)及工作原理系列單片機(jī)的基本結(jié)構(gòu)及工作原理目錄目錄 (1 1)MCS-51是是Intel公司生產(chǎn)的一個(gè)單片機(jī)系列名稱。公司生產(chǎn)的一個(gè)單片機(jī)系列名稱。屬于這一系列的單片機(jī)有多種,如:屬于這一系列的單片機(jī)有多種,如: 8051/8751/8031; 8052/8752/8032; 80C51/87C51/80C31; 80C52/87C52/80C32等等 。 1.1 51系列單片機(jī)概述系列單片機(jī)概述1.1

2、.1 MCS-51系列系列 (2)該系列生產(chǎn)工藝有兩種:)該系列生產(chǎn)工藝有兩種:一是一是HMOS工藝工藝(高密度短溝道(高密度短溝道MOS工藝)工藝)二是二是CHMOS工藝工藝(互補(bǔ)金屬氧化物的(互補(bǔ)金屬氧化物的HMOS工藝)工藝)CHMOS是是CMOS和和HMOS的結(jié)合,既保持了的結(jié)合,既保持了HMOS高高速度和高密度的特點(diǎn),還具有速度和高密度的特點(diǎn),還具有CMOS的低功耗的特點(diǎn)。在產(chǎn)的低功耗的特點(diǎn)。在產(chǎn)品型號(hào)中凡品型號(hào)中凡帶有字母帶有字母“C”的即為的即為CHMOS芯片芯片,CHMOS芯芯片的電平既與片的電平既與TTL電平兼容,又與電平兼容,又與CMOS電平兼容。電平兼容。目錄目錄(3)在

3、功能上,該系列單片機(jī)有基本型和增強(qiáng)型兩類:)在功能上,該系列單片機(jī)有基本型和增強(qiáng)型兩類:增強(qiáng)型增強(qiáng)型: 8052/8752/8032 80C52/87C52/80C32基本型基本型: 8051/8751/8031 80C51/87C51/80C311.1 51系列單片機(jī)概述系列單片機(jī)概述1.1.1 MCS-51系列系列 (4)在片內(nèi)程序存儲(chǔ)器的配置上,該系列單片機(jī)有三種形)在片內(nèi)程序存儲(chǔ)器的配置上,該系列單片機(jī)有三種形式,即掩膜式,即掩膜ROM、EPROM和和ROMLess(無(wú)片內(nèi)程序存儲(chǔ)(無(wú)片內(nèi)程序存儲(chǔ)器)。如:器)。如:80C51有有4K字節(jié)的掩膜字節(jié)的掩膜ROM;87C51有有4K字節(jié)的

4、字節(jié)的EPROM ;80C31在芯片內(nèi)無(wú)程序存儲(chǔ)器。在芯片內(nèi)無(wú)程序存儲(chǔ)器。目錄目錄1.1.2 80C51系列系列 Intel的:的:80C31、80C51、87C51,80C32、80C52、87C52等;等; ATMEL的:的:89C51、89C52、89C2051等;等; Philips、華邦、華邦、Dallas、iemens(Infineon)等公司等公司的許多產(chǎn)品的許多產(chǎn)品 。 80C51是是MCS-51系列中系列中CHMOS工藝的一個(gè)典型品種;工藝的一個(gè)典型品種;其它廠商其它廠商以以8051為基核為基核開發(fā)出的開發(fā)出的CMOS工藝單片機(jī)產(chǎn)品工藝單片機(jī)產(chǎn)品統(tǒng)統(tǒng)稱為稱為80C51系列系列

5、。 當(dāng)前常用的當(dāng)前常用的80C51系列單片機(jī)主要產(chǎn)品有:系列單片機(jī)主要產(chǎn)品有:1.1 51系列單片機(jī)概述系列單片機(jī)概述目錄目錄1.1.3 80C51系列典型產(chǎn)品資源配置系列典型產(chǎn)品資源配置1.1 51系列單片機(jī)概述系列單片機(jī)概述目錄目錄時(shí)鐘電路時(shí)鐘電路4KROM程序存儲(chǔ)器程序存儲(chǔ)器256BRAM數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器2X16位位定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器CPU處理器處理器64KB總線總線擴(kuò)展控制器擴(kuò)展控制器可編程可編程I/O端口端口P0-3可編程可編程串行口串行口中斷控制中斷控制 在在MCS-51單片機(jī)中,一般包含有單片機(jī)中,一般包含有CPU、程序存儲(chǔ)器、程序存儲(chǔ)器ROM、數(shù)據(jù)存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器RA

6、M、定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器、并行并行I/O端口端口、串行串行口口、中斷系統(tǒng)中斷系統(tǒng)等;等;在高檔單片機(jī)中還包含了通用機(jī)所設(shè)有的在高檔單片機(jī)中還包含了通用機(jī)所設(shè)有的一些特殊的電路模塊(一些特殊的電路模塊(A/D、D/A、PWM等)。等)。1.2.1 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)(以單片機(jī)內(nèi)部結(jié)構(gòu)(以8051為例)為例)1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義目錄目錄1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義1.2.2 MCS-51單片機(jī)引腳定義(以單片機(jī)引腳定義(以8051為例)為例) MCS-51單片機(jī)外型圖(單片機(jī)外型圖(DIP封裝)封裝)

7、 MCS-51單片機(jī)的邏輯符號(hào)圖單片機(jī)的邏輯符號(hào)圖電源及電源及控制控制P3口口P1口口P0口口P2口口87C51EPROM型型AT89C51ATMELFLASH型型VCCGNDRXDTXD/INT0/INT1T0T1/WR/RDXTAL1 XTAL2RST/EA/PSENALE返回返回目錄目錄1、并行輸入輸出端口引線(并行輸入輸出端口引線(4*8=32個(gè))個(gè))P0.0 - P0.7:P0端口線(端口線(39-32腳)腳) 輸出能力最強(qiáng)的端口,可帶輸出能力最強(qiáng)的端口,可帶8個(gè)個(gè)TTL負(fù)載(輸出開路結(jié)構(gòu),負(fù)載(輸出開路結(jié)構(gòu),所以驅(qū)動(dòng)拉電流負(fù)載時(shí),應(yīng)接一個(gè)所以驅(qū)動(dòng)拉電流負(fù)載時(shí),應(yīng)接一個(gè)10k 左右的

8、上拉電阻);左右的上拉電阻); 當(dāng)系統(tǒng)使用外接存儲(chǔ)器時(shí),當(dāng)系統(tǒng)使用外接存儲(chǔ)器時(shí),P0口還作為低八位地址總線和口還作為低八位地址總線和 數(shù)據(jù)總線(此時(shí)數(shù)據(jù)總線(此時(shí)P0口不能作為通用的口不能作為通用的I/O端口)。端口)。P1.0 - P1.7:P1端口線(端口線(18腳):腳):負(fù)載能力為負(fù)載能力為4個(gè)個(gè)TTL負(fù)載。負(fù)載。P2.0 P2.7:P2端口線(端口線(2128腳)腳) 通用通用I/O端口,負(fù)載能力為端口,負(fù)載能力為4個(gè)個(gè)TTL ; 當(dāng)系統(tǒng)使用外接存儲(chǔ)器時(shí),該口還作為高八位地址總線當(dāng)系統(tǒng)使用外接存儲(chǔ)器時(shí),該口還作為高八位地址總線 (此時(shí)(此時(shí)P2口不能作為通用的口不能作為通用的I/O端

9、口)。端口)。引腳圖MCS-51單片機(jī)有單片機(jī)有DIP和和PLCC兩種封裝形式。兩種封裝形式。1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義目錄目錄P3.0 P3.7 P3端口線端口線 (10 17腳):腳): 通用通用I/O端口,負(fù)載能力為端口,負(fù)載能力為4個(gè)個(gè)TTL ; 具有第二功能。具有第二功能??诰€口線定義定義說明說明口線口線定義定義說明說明P3.0RXD串行數(shù)據(jù)輸入口串行數(shù)據(jù)輸入口P3.4T0計(jì)數(shù)器外部輸入信號(hào)計(jì)數(shù)器外部輸入信號(hào)P3.1TXD串行數(shù)據(jù)輸出口串行數(shù)據(jù)輸出口P3.5T1計(jì)數(shù)器外部輸入信號(hào)計(jì)數(shù)器外部輸入信號(hào)P3.2INT0外部中斷輸入口外部中斷輸入口P

10、3.6/WR外部數(shù)據(jù)存儲(chǔ)器寫信號(hào)外部數(shù)據(jù)存儲(chǔ)器寫信號(hào)P3.3INT1外部中斷輸入口外部中斷輸入口P3.7/RD外部數(shù)據(jù)存儲(chǔ)器讀信號(hào)外部數(shù)據(jù)存儲(chǔ)器讀信號(hào)P3P3口第二功能表口第二功能表引腳圖1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義目錄目錄2、電源線(、電源線(2條)條): Vcc(+5V, 40腳)和腳)和Vss(GND, 20腳)腳)3、控制線(、控制線(6條)條)(1) 外接晶體引腳:外接晶體引腳:XTAL1(19腳)、腳)、XTAL2(18腳)腳) 在兩腳之間接入一個(gè)晶體振蕩器,單片機(jī)就以此晶體在兩腳之間接入一個(gè)晶體振蕩器,單片機(jī)就以此晶體的頻率開始工作。其頻率

11、范圍一般為:的頻率開始工作。其頻率范圍一般為:024M。頻率越高,。頻率越高,單片機(jī)的工作速度就越快,但單片機(jī)的功耗就要增加。單片機(jī)的工作速度就越快,但單片機(jī)的功耗就要增加。(2)RST/Vpd(9腳):腳):復(fù)位信號(hào)輸入,高電平有效。復(fù)位信號(hào)輸入,高電平有效。 在單片機(jī)上電開始工作時(shí),在單片機(jī)上電開始工作時(shí), 必須在此引腳上有一個(gè)兩必須在此引腳上有一個(gè)兩個(gè)時(shí)鐘周期的高電平使單片機(jī)復(fù)位(外復(fù)位電路)。個(gè)時(shí)鐘周期的高電平使單片機(jī)復(fù)位(外復(fù)位電路)。 另外當(dāng)單片機(jī)掉電時(shí),此引腳可以接入備用電源向單片另外當(dāng)單片機(jī)掉電時(shí),此引腳可以接入備用電源向單片 機(jī)內(nèi)部的機(jī)內(nèi)部的RAM供電,以防止供電,以防止RA

12、M中的數(shù)據(jù)丟失。中的數(shù)據(jù)丟失。 1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義引腳圖目錄目錄 在復(fù)位狀態(tài)下在復(fù)位狀態(tài)下:絕大多數(shù):絕大多數(shù)SFR的內(nèi)容全變?yōu)榈膬?nèi)容全變?yōu)椤?”, 端口輸出端口輸出“1”。RAM內(nèi)容不變。內(nèi)容不變。自動(dòng)上電復(fù)位電路自動(dòng)上電復(fù)位電路具有手動(dòng)復(fù)位功能具有手動(dòng)復(fù)位功能的復(fù)位電路的復(fù)位電路為什么需要為什么需要復(fù)位?復(fù)位?1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義MCS-51RSTVcc51k 1k 1m mFMCS-51RSTVccR C 目錄目錄(3)/EA / Vdd (31腳):允許訪問片外存儲(chǔ)器腳):允許訪問片外存儲(chǔ)

13、器/編程電編程電源線源線 程序存儲(chǔ)器的選擇控制端程序存儲(chǔ)器的選擇控制端 /EA=“1” 時(shí):?jiǎn)纹瑱C(jī)使用內(nèi)部的程序存儲(chǔ)器;時(shí):?jiǎn)纹瑱C(jī)使用內(nèi)部的程序存儲(chǔ)器; /EA=“0” 時(shí):?jiǎn)纹瑱C(jī)使用外部的程序存儲(chǔ)器。時(shí):?jiǎn)纹瑱C(jī)使用外部的程序存儲(chǔ)器。 但要特別注意但要特別注意:如果:如果EA=1即使用單片機(jī)內(nèi)部的程序存儲(chǔ)即使用單片機(jī)內(nèi)部的程序存儲(chǔ)器時(shí),如果程序計(jì)數(shù)器器時(shí),如果程序計(jì)數(shù)器PC的值超過的值超過0FFFH時(shí)(對(duì)時(shí)(對(duì)8051而而言),單片機(jī)將自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器言),單片機(jī)將自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器1000H開始的單元。開始的單元。 對(duì)于對(duì)于EPROM型的單片機(jī),此腳還是用于寫程序時(shí),加型的單片機(jī),

14、此腳還是用于寫程序時(shí),加入入21V的編程電壓。的編程電壓。1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義引腳圖目錄目錄片內(nèi)片內(nèi)ROM4K(EA=1)/EA決定著對(duì)決定著對(duì)ROM的使用選擇的使用選擇MCS-51單片機(jī)單片機(jī)片內(nèi)片內(nèi)RAM256B片外片外RAM64K片外片外ROM64KEA=0或片內(nèi)或片內(nèi)溢出溢出000HFFFH0000HFFFFH0FFFH1000H片外片外ROM64KEA=0或片內(nèi)或片內(nèi)溢出溢出片外片外ROM64KEA=0或片內(nèi)或片內(nèi)溢出溢出片內(nèi)片內(nèi)ROM4K(EA=1)1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義目錄目錄(4)/P

15、SEN(29腳):片外腳):片外ROM的選通輸出信號(hào)的選通輸出信號(hào) 當(dāng)使用當(dāng)使用外部程序存儲(chǔ)器外部程序存儲(chǔ)器時(shí),此腳在一個(gè)機(jī)器周期內(nèi)產(chǎn)生時(shí),此腳在一個(gè)機(jī)器周期內(nèi)產(chǎn)生兩次負(fù)脈沖(訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),此信號(hào)無(wú)效)。兩次負(fù)脈沖(訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),此信號(hào)無(wú)效)。(5)ALE/PROG(30腳):地址鎖存允許腳):地址鎖存允許/編程線編程線 可作為可作為外部存儲(chǔ)器外部存儲(chǔ)器低八位地址的鎖存信號(hào);不訪問片外低八位地址的鎖存信號(hào);不訪問片外數(shù)據(jù)存儲(chǔ)器時(shí)以一個(gè)不變的頻率(數(shù)據(jù)存儲(chǔ)器時(shí)以一個(gè)不變的頻率( fosc/6)周期性輸出脈沖;)周期性輸出脈沖; 還是還是EPROM型單片機(jī)編程時(shí)編程輸入脈沖。型單片

16、機(jī)編程時(shí)編程輸入脈沖。1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義單片機(jī)內(nèi)部結(jié)構(gòu)及引腳定義3、控制線(、控制線(6條)條)(1)外接晶體引腳:)外接晶體引腳:XTAL1(19腳)、腳)、XTAL2(18腳)腳)(2)RST/Vpd(9腳):復(fù)位信號(hào)輸入,高電平有效。腳):復(fù)位信號(hào)輸入,高電平有效。(3)/EA / Vdd (31腳):允許訪問片外存儲(chǔ)器腳):允許訪問片外存儲(chǔ)器/編程電源線編程電源線引腳圖目錄目錄1.3.0 MCS-51單片機(jī)的存儲(chǔ)器的配置特點(diǎn)單片機(jī)的存儲(chǔ)器的配置特點(diǎn) 內(nèi)部集成了內(nèi)部集成了4K的程序存儲(chǔ)器的程序存儲(chǔ)器ROM; 內(nèi)部具有內(nèi)部具有256B的數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)存儲(chǔ)器RAM

17、; 可以外接可以外接64K的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。 從物理結(jié)構(gòu)的角度講,從物理結(jié)構(gòu)的角度講,5151單片機(jī)的存儲(chǔ)系統(tǒng)可以單片機(jī)的存儲(chǔ)系統(tǒng)可以分為四個(gè)存儲(chǔ)空間:即片內(nèi)分為四個(gè)存儲(chǔ)空間:即片內(nèi)ROM,RAM和片外和片外ROM、RAM。 從邏輯上講(即用戶編程的角度講)從邏輯上講(即用戶編程的角度講)5151單片機(jī)的單片機(jī)的存儲(chǔ)系統(tǒng)又可分為三個(gè)存儲(chǔ)空間。即片內(nèi)存儲(chǔ)系統(tǒng)又可分為三個(gè)存儲(chǔ)空間。即片內(nèi)RAM,片外片外RAM, 片內(nèi)外統(tǒng)一編址的程序存儲(chǔ)器片內(nèi)外統(tǒng)一編址的程序存儲(chǔ)器ROM。1.3 MCS-51單片機(jī)程序存儲(chǔ)器的配置單片機(jī)程序存儲(chǔ)器的配置目錄目錄從物理結(jié)構(gòu)上單片機(jī)系統(tǒng)

18、的存儲(chǔ)器結(jié)構(gòu)圖從物理結(jié)構(gòu)上單片機(jī)系統(tǒng)的存儲(chǔ)器結(jié)構(gòu)圖(4 4個(gè)部分)個(gè)部分) MCS-51單片機(jī)單片機(jī)片內(nèi)片內(nèi)ROM4K(EA=1)片內(nèi)片內(nèi)RAM256B片外片外RAM64K片外片外ROM64K(EA=0或片內(nèi)或片內(nèi)溢出)溢出)000HFFFH0000HFFFFH0FFFH1000H1.3 MCS-51單片機(jī)程序存儲(chǔ)器的配置單片機(jī)程序存儲(chǔ)器的配置1.3.0 MCS-51單片機(jī)的存儲(chǔ)器的配置特點(diǎn)單片機(jī)的存儲(chǔ)器的配置特點(diǎn) 目錄目錄1.3.1 關(guān)于程序存儲(chǔ)器(片內(nèi)與片外)關(guān)于程序存儲(chǔ)器(片內(nèi)與片外)(1)程序存儲(chǔ)器()程序存儲(chǔ)器(ROM)是存放程序、常數(shù)和表格的。)是存放程序、常數(shù)和表格的。(2)在)

19、在MCS-51單片機(jī)中:?jiǎn)纹瑱C(jī)中: /EA=1時(shí),系統(tǒng)執(zhí)行時(shí),系統(tǒng)執(zhí)行片內(nèi)片內(nèi)的的4KROM中的程序;中的程序; /EA=0時(shí),系統(tǒng)使用時(shí),系統(tǒng)使用片外片外ROM中的程序。中的程序。(3)無(wú)論是使用片內(nèi)還是使用片外的)無(wú)論是使用片內(nèi)還是使用片外的ROM(即(即 EA=1或或EA=0),其起始地址都是從),其起始地址都是從0000H單元開始。單元開始。(4)盡管系統(tǒng)具備片內(nèi))盡管系統(tǒng)具備片內(nèi)ROM和外部和外部ROM,但是在一般正常,但是在一般正常使用情況下,只能通過使用情況下,只能通過/EA的設(shè)定來選擇其中之一。所的設(shè)定來選擇其中之一。所以,在物理上的兩個(gè)存儲(chǔ)空間在邏輯上卻只是一個(gè)(或以,在物理

20、上的兩個(gè)存儲(chǔ)空間在邏輯上卻只是一個(gè)(或者使用內(nèi)部者使用內(nèi)部ROM;或者使用外部;或者使用外部ROM)。)。1.3 MCS-51單片機(jī)程序存儲(chǔ)器的配置單片機(jī)程序存儲(chǔ)器的配置目錄目錄(5)如果)如果/EA=1(執(zhí)行片內(nèi)程序存儲(chǔ)器中程序時(shí)):(執(zhí)行片內(nèi)程序存儲(chǔ)器中程序時(shí)):0FFFH0000H0FFFH0000HFFFFH1000HEA=1時(shí),時(shí),ROM的使用的使用片外程序存儲(chǔ)器片外程序存儲(chǔ)器(最大(最大64K)單片機(jī)內(nèi)部單片機(jī)內(nèi)部程序存儲(chǔ)器程序存儲(chǔ)器(4K)1.3 MCS-51單片機(jī)程序存儲(chǔ)器的配置單片機(jī)程序存儲(chǔ)器的配置 若程序計(jì)數(shù)器的指針若程序計(jì)數(shù)器的指針PC值超過值超過0FFFH(4K)時(shí),)

21、時(shí),單片單片機(jī)就要自動(dòng)的轉(zhuǎn)向片外的機(jī)就要自動(dòng)的轉(zhuǎn)向片外的ROM(盡管(盡管EA=1),且從片外),且從片外ROM的的1000H單元開始執(zhí)行程序(此時(shí):?jiǎn)纹瑱C(jī)是無(wú)法使用單元開始執(zhí)行程序(此時(shí):?jiǎn)纹瑱C(jī)是無(wú)法使用片外片外ROM的的0000H-0FFFH這這4K單元)。單元)。目錄目錄0FFFH0000H0FFFH0000HFFFFH1000HEA=1時(shí),時(shí),ROM的使用的使用片外程序存儲(chǔ)器片外程序存儲(chǔ)器(最大(最大64K)單片機(jī)內(nèi)部單片機(jī)內(nèi)部程序存儲(chǔ)器程序存儲(chǔ)器(4K)一種便于程序加密的一種便于程序加密的ROM使用方案使用方案(6)當(dāng)程序太大,必須使用外部)當(dāng)程序太大,必須使用外部ROM時(shí)的一種設(shè)定

22、方法:時(shí)的一種設(shè)定方法: 將將/EA=1,程序從內(nèi)部,程序從內(nèi)部4K開始,然后自動(dòng)轉(zhuǎn)向外部開始,然后自動(dòng)轉(zhuǎn)向外部ROM的的1000H開始的單元。開始的單元。可以加密可以加密無(wú)法加密無(wú)法加密1.3.1 關(guān)于程序存儲(chǔ)器(片內(nèi)與片外)關(guān)于程序存儲(chǔ)器(片內(nèi)與片外)1.3 MCS-51單片機(jī)程序存儲(chǔ)器的配置單片機(jī)程序存儲(chǔ)器的配置目錄目錄1.3.2 程序存儲(chǔ)器六個(gè)特殊的單元程序存儲(chǔ)器六個(gè)特殊的單元 在程序存儲(chǔ)器中,以下六個(gè)單元是專用的在程序存儲(chǔ)器中,以下六個(gè)單元是專用的0000H單元:?jiǎn)卧荷想姀?fù)位時(shí)程序計(jì)數(shù)器上電復(fù)位時(shí)程序計(jì)數(shù)器PC指向的單元;指向的單元;0003H單元:?jiǎn)卧和獠恐袛嗤獠恐袛?INT0

23、的入口地址;的入口地址;000BH單元:定時(shí)器單元:定時(shí)器T0的溢出中斷入口地址;的溢出中斷入口地址;0013H單元:?jiǎn)卧和獠恐袛嗤獠恐袛?INT1的入口地址;的入口地址;001BH單元:定時(shí)器單元:定時(shí)器T1的溢出中斷入口地址;的溢出中斷入口地址;0023H單元:?jiǎn)卧捍锌诮邮铡魉偷闹袛嗳肟诘刂?。串行口接收、傳送的中斷入口地址。ROM圖1.3 MCS-51單片機(jī)程序存儲(chǔ)器的配置單片機(jī)程序存儲(chǔ)器的配置1.3.1 關(guān)于程序存儲(chǔ)器(片內(nèi)與片外)關(guān)于程序存儲(chǔ)器(片內(nèi)與片外)返回返回目錄目錄A15A14 : :A8A7 O7 : : : : : : A0 O0OE64K ROMMCS-51MCS

24、-51完整的地址完整的地址信號(hào)信號(hào)三態(tài)輸出三態(tài)輸出的數(shù)據(jù)口的數(shù)據(jù)口由由/OE控制控制D7 Q7D7 Q7 74LS37374LS373D0 Q0D0 Q0 G /LG /L P2.7: : : P2.0P0.7: : : P0.0ALE/EA /PSEN1.3 MCS-51單片機(jī)程序存儲(chǔ)器的配置單片機(jī)程序存儲(chǔ)器的配置1.3.3 外部程序存儲(chǔ)器的總線結(jié)構(gòu)圖外部程序存儲(chǔ)器的總線結(jié)構(gòu)圖目錄目錄1.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM數(shù)據(jù)存儲(chǔ)器無(wú)論在物理上還是邏輯上都分為兩個(gè)地址空間,數(shù)據(jù)存儲(chǔ)器無(wú)論在物理上還是邏輯上都分為兩個(gè)地址空間,即一個(gè)內(nèi)部和一個(gè)外部的即一個(gè)內(nèi)部和一個(gè)外部的RAM,訪問指令

25、不同:,訪問指令不同: 訪問訪問內(nèi)部?jī)?nèi)部數(shù)據(jù)存儲(chǔ)單元時(shí),使用數(shù)據(jù)存儲(chǔ)單元時(shí),使用 MOV 指令;指令; 訪問訪問外部外部數(shù)據(jù)存儲(chǔ)器時(shí),使用數(shù)據(jù)存儲(chǔ)器時(shí),使用 MOVX 指令。指令。內(nèi)部?jī)?nèi)部RAM從功能上又將從功能上又將256B空間分為二個(gè)不同的塊:空間分為二個(gè)不同的塊: (1)低)低128B的的RAM塊;塊; (2)高)高128B的的SFR(Special Function Register )塊。)塊。 高高128B的專用寄存器區(qū)的專用寄存器區(qū)SFR中僅僅使用了中僅僅使用了21個(gè)寄存?zhèn)€寄存器(器(51系列),其它單元不能使用。系列),其它單元不能使用。 在低在低128B的的RAM存儲(chǔ)單元中又

26、可劃分為:存儲(chǔ)單元中又可劃分為:1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置目錄目錄MCS-51 片內(nèi)片內(nèi) 、片外、片外 數(shù)據(jù)存儲(chǔ)器示意圖數(shù)據(jù)存儲(chǔ)器示意圖特殊特殊功能功能寄存器寄存器SFR通用通用數(shù)據(jù)數(shù)據(jù)存儲(chǔ)器存儲(chǔ)器80H7FH00HFFH片內(nèi)片內(nèi)RAM256B個(gè)字節(jié)個(gè)字節(jié)片外片外數(shù)據(jù)數(shù)據(jù)存儲(chǔ)器存儲(chǔ)器64KB0000HFFFFH注意:注意:1)訪問)訪問片內(nèi)片內(nèi)RAM20H單元單元MOV A,20H2)訪問)訪問片外片外RAM20H單元單元 MOV R0, #20hMOVX A,R01.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片

27、機(jī)數(shù)據(jù)存儲(chǔ)器的配置返回返回SFR 片外目錄目錄片內(nèi)片內(nèi)RAM低低128B 字節(jié)功能分配圖字節(jié)功能分配圖位尋址區(qū)位尋址區(qū)3組組2組組1組組0組組便箋區(qū)便箋區(qū)08H07H00H7FH30H2FH20H1FH18H17H10H0FH四個(gè)工作寄存器組四個(gè)工作寄存器組每個(gè)區(qū)中有每個(gè)區(qū)中有R0-R7八個(gè)工作寄存器八個(gè)工作寄存器位尋址區(qū)位尋址區(qū)16個(gè)單元個(gè)單元20H-2FH,共有共有128個(gè)可尋址位。個(gè)可尋址位。位地址:位地址:00H-7FH注意:位地址與字節(jié)地址的區(qū)別注意:位地址與字節(jié)地址的區(qū)別通用的通用的RAM區(qū)區(qū)地址:地址:30H-7FH返回返回1.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM1.4 M

28、CS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置返256B目錄目錄片內(nèi)片內(nèi) RAM(20H-2FH)中的位尋址區(qū)結(jié)構(gòu)圖)中的位尋址區(qū)結(jié)構(gòu)圖7F7E7D7C7B7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E

29、0D0C0B0A090807060504030201002FH20H共共128個(gè)個(gè)可按位可按位尋址的位尋址的位返回返回1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置字字節(jié)節(jié)地地址址目錄目錄 位尋址區(qū)內(nèi)的地址是位尋址區(qū)內(nèi)的地址是位地址位地址。共有。共有00-7FH(128個(gè)位);個(gè)位); 要區(qū)分要區(qū)分字節(jié)地址字節(jié)地址和和位地址位地址這兩個(gè)不同的地址概念:這兩個(gè)不同的地址概念: 從物理的角度,每一個(gè)字節(jié)地址內(nèi)包含了從物理的角度,每一個(gè)字節(jié)地址內(nèi)包含了8個(gè)位,即:個(gè)位,即: D7,D6,D5,D4,D3,D2,D1,D0 在一般情況,提到的在一般情況,提到的RAM地址都是字節(jié)地址。

30、地址都是字節(jié)地址。返128B1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置 可位尋址的空間可位尋址的空間是一般微機(jī)所不具備的,這種位尋址能是一般微機(jī)所不具備的,這種位尋址能力是力是8051所獨(dú)有的。所獨(dú)有的。 20H2FH:既可以字節(jié)操作,又可以位操作,但是要用:既可以字節(jié)操作,又可以位操作,但是要用不同的指令來區(qū)分;不同的指令來區(qū)分; MOV 20H,A (字節(jié)尋址)(字節(jié)尋址) MOV 20H,C (位尋址)(位尋址) SETB 00H (位尋址(位尋址直接給出位地址直接給出位地址) SETB 20h.0(位尋址(位尋址給出的是字節(jié)地址給出的是字節(jié)地址)MOV 24H.0

31、,C目錄目錄1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置工作寄存器組工作寄存器組(片內(nèi)(片內(nèi)RAM地址地址00H1FH) 每個(gè)工作寄存器組都有每個(gè)工作寄存器組都有8個(gè)工作寄存器個(gè)工作寄存器(R0R7),每個(gè)工作,每個(gè)工作寄存器對(duì)應(yīng)一個(gè)寄存器對(duì)應(yīng)一個(gè)固定的地址固定的地址。如:工作寄存器組。如:工作寄存器組1中中R0的地址為的地址為08H。在單片機(jī)正常工作時(shí),只有一組工作寄存器處于前臺(tái)工作。在單片機(jī)正常工作時(shí),只有一組工作寄存器處于前臺(tái)工作。18H1FH10H17H08H0FH00H07H3組工作寄存器組組工作寄存器組2組工作寄存器組組工作寄存器組1組工作寄存器組組工作寄存器組

32、0組工作寄存器組工作寄存器R0,R1,R7R0,R1,R7R0,R1,R7R0,R1,R7返128B位尋址位尋址3組組2組組1組組0組組便箋區(qū)便箋區(qū)08H07H00H7FH30H2FH20H1FH18H17H10H0FH目錄目錄 特殊功能寄存器特殊功能寄存器SFR (Special Function Register)用來設(shè)定單片機(jī)內(nèi)部各模塊的工作方式,存放相用來設(shè)定單片機(jī)內(nèi)部各模塊的工作方式,存放相關(guān)模塊的關(guān)模塊的狀態(tài)與標(biāo)志狀態(tài)與標(biāo)志,如定時(shí)器、串行口,并行端口,如定時(shí)器、串行口,并行端口的鎖存器等等。的鎖存器等等。 盡管特殊功能寄存器與盡管特殊功能寄存器與RAM在同一個(gè)單元中,在同一個(gè)單元

33、中,但不能作為普通的但不能作為普通的RAM存儲(chǔ)單元來使用存儲(chǔ)單元來使用。 (只有在編程中根據(jù)需要,進(jìn)行一些特定功能的(只有在編程中根據(jù)需要,進(jìn)行一些特定功能的設(shè)定,或者是從中查尋相關(guān)部件的狀態(tài)時(shí),才能進(jìn)行設(shè)定,或者是從中查尋相關(guān)部件的狀態(tài)時(shí),才能進(jìn)行讀、寫操作。如中斷方式的設(shè)定、定時(shí)器工作模式的讀、寫操作。如中斷方式的設(shè)定、定時(shí)器工作模式的設(shè)定,查詢串行口發(fā)送或接收是否結(jié)束等等)設(shè)定,查詢串行口發(fā)送或接收是否結(jié)束等等) 1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置1.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM目錄目錄標(biāo)識(shí)符名 稱地 址ACC累加器累加器0E0HBB寄存器寄存

34、器0F0HPSW程序狀態(tài)字程序狀態(tài)字0D0HSP堆棧指針堆棧指針81HDPTR數(shù)據(jù)指針數(shù)據(jù)指針(包括包括DPH,DPL)83H,82HP0端口端口080HP1端口端口190HP2端口端口20A0HP3端口端口30B0HIP中斷優(yōu)先級(jí)控制寄存器中斷優(yōu)先級(jí)控制寄存器0B8HIE中斷允許控制寄存器中斷允許控制寄存器0A8HTMOD定時(shí)定時(shí)/計(jì)數(shù)器方式控制寄存器計(jì)數(shù)器方式控制寄存器89HTCON定時(shí)定時(shí)/計(jì)數(shù)器控制寄存器計(jì)數(shù)器控制寄存器88H1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置目錄目錄SFR高高128B低低128B0FFH80H7FH00H注注:表中表中紅色紅色的單元為可按

35、的單元為可按位尋址位尋址的字節(jié)的字節(jié)1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置標(biāo)識(shí)符名 稱地 址TH0定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器0初值寄存器高初值寄存器高8位位8CHTL0定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器0初值寄存器低初值寄存器低8位位8AHTH1定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器1初值寄存器高初值寄存器高8位位8DHTL1定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器1初值寄存器低初值寄存器低8位位8BHSCON串行口控制寄存器串行口控制寄存器98HSBUF串行口數(shù)據(jù)緩沖器(接收串行口數(shù)據(jù)緩沖器(接收,發(fā)送)發(fā)送)99HPCON電源控制寄存器電源控制寄存器97H目錄目錄特殊功能特殊功能寄存器寄存器SFR說明說明 1)程

36、序計(jì)數(shù)器)程序計(jì)數(shù)器PC: 用來存放下一條要執(zhí)行的指令地址,用來存放下一條要執(zhí)行的指令地址,16 位,即尋址范圍為位,即尋址范圍為0-65535(64K),在物理上獨(dú)立于,在物理上獨(dú)立于SFR。 2)累加器)累加器A: 最常用的專用寄存器最常用的專用寄存器, 大多數(shù)的指令操作數(shù)都大多數(shù)的指令操作數(shù)都 來自累加器來自累加器A;所有的算術(shù)運(yùn)算指令的運(yùn)算結(jié)果都存放;所有的算術(shù)運(yùn)算指令的運(yùn)算結(jié)果都存放 在在A中。中。 3)B寄存器寄存器: 乘除法指令使用的寄存器。乘除法指令使用的寄存器。 4)數(shù)據(jù)指針)數(shù)據(jù)指針DPTR: 一個(gè)一個(gè)16位的寄存器,由高八位位的寄存器,由高八位DPH和低和低 八位八位DP

37、L構(gòu)成。構(gòu)成。DPTR主要用來存放主要用來存放RAM、ROM中數(shù)中數(shù) 據(jù)塊的首地址,所以稱之為數(shù)據(jù)指針。據(jù)塊的首地址,所以稱之為數(shù)據(jù)指針。 例:將片外例:將片外RAM的的2000H單元的數(shù)據(jù)單元的數(shù)據(jù)x取出送到累加器取出送到累加器A中。中。 MOV DPTR, #2000h ; DPTR 2000H MOVX A, DPTR ; A x(間址方式)(間址方式)1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置1.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM目錄目錄5 5)程序狀態(tài)字)程序狀態(tài)字PSW:8 8位寄存器,表征程序執(zhí)行的狀態(tài)信息。位寄存器,表征程序執(zhí)行的狀態(tài)信息。CY(P

38、SW.7)進(jìn)位標(biāo)志:)進(jìn)位標(biāo)志:在加法運(yùn)算中,累加器在加法運(yùn)算中,累加器A的最高位的最高位D7有進(jìn)位有進(jìn)位,則則CY=1,否則,否則CY=0。同理,在減法運(yùn)算中,如。同理,在減法運(yùn)算中,如果果A7有借位,則有借位,則CY=1。AC(PSW.6)輔助進(jìn)位位:)輔助進(jìn)位位:用來判斷加減法運(yùn)算時(shí),低四位用來判斷加減法運(yùn)算時(shí),低四位是否向高四位進(jìn)位或借位(即是否向高四位進(jìn)位或借位(即A3的進(jìn)位或借位)。的進(jìn)位或借位)。 F0(PSW.5) 用戶標(biāo)志位:用戶標(biāo)志位:完全由用戶來定義和使用。完全由用戶來定義和使用。RS1,RS0工作寄存器組選擇位:工作寄存器組選擇位:確定工作寄存器確定工作寄存器R0-R7

39、在在4個(gè)個(gè)組中的位置??梢酝ㄟ^修改組中的位置??梢酝ㄟ^修改RS1、RS0的值來改變工作寄存的值來改變工作寄存器組的選擇。器組的選擇。CYACF0RS1RS0OV-P1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置特殊功能寄存器特殊功能寄存器SFR說明說明1.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM目錄目錄特殊功能寄存器特殊功能寄存器SFR說明說明5 5)程序狀態(tài)字)程序狀態(tài)字PSW:OV(PSW.2)溢出標(biāo)志位溢出標(biāo)志位: 判斷判斷有符號(hào)數(shù)有符號(hào)數(shù)運(yùn)算時(shí)是否有溢出。運(yùn)算時(shí)是否有溢出。 OV的結(jié)果可以用一個(gè)算法來表示的結(jié)果可以用一個(gè)算法來表示: OV=CP CS 其中其中: C

40、P為為A7的進(jìn)位的進(jìn)位, CS為為A6的進(jìn)位,的進(jìn)位,OV=1表明有溢表明有溢出。出。P(PSW.0)奇偶標(biāo)志位)奇偶標(biāo)志位: 用來標(biāo)志累加器用來標(biāo)志累加器A中運(yùn)算后中運(yùn)算后1的個(gè)數(shù)。的個(gè)數(shù)。 當(dāng)當(dāng)P=1時(shí),表明時(shí),表明A中中1的個(gè)數(shù)為奇數(shù)個(gè),反之為偶數(shù)個(gè)。的個(gè)數(shù)為奇數(shù)個(gè),反之為偶數(shù)個(gè)。 1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置1.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAMCYACF0RS1RS0OV-P目錄目錄【舉例舉例】有兩個(gè)數(shù)有兩個(gè)數(shù)0FH和和F8H,試將兩數(shù)相加,試將兩數(shù)相加 MOV A,#0FH ;將立即數(shù);將立即數(shù)0FH 送累加器送累加器A ADD A,#0

41、F8H ;A的內(nèi)容與立即數(shù)的內(nèi)容與立即數(shù)0F8H相加,結(jié)果送相加,結(jié)果送A 0000 1111 運(yùn)算結(jié)果:運(yùn)算結(jié)果:A=07H + 1111 1000 Cy1 0000 0111如何根據(jù)如何根據(jù)PSW來分析運(yùn)算結(jié)果是否有溢出?來分析運(yùn)算結(jié)果是否有溢出?1)若數(shù)據(jù)為無(wú)符號(hào)數(shù)。即)若數(shù)據(jù)為無(wú)符號(hào)數(shù)。即15+248=263=107H ,CY=1, A=07H。數(shù)據(jù)超過。數(shù)據(jù)超過255(CY=1)有溢出;)有溢出;2)若為有符號(hào)數(shù)。則為)若為有符號(hào)數(shù)。則為+15加加-8=+7=07H,OV=0表明無(wú)溢表明無(wú)溢出。出。CY=1(即(即CP=1),),OV=0(因?yàn)椋ㄒ驗(yàn)镃P=1,CS=1)AC=1,P=

42、11.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置目錄目錄6)SP 堆棧指針堆棧指針:8位寄存器,用來位寄存器,用來指示堆棧的位置,可由軟件修改。指示堆棧的位置,可由軟件修改。51單片機(jī)的設(shè)計(jì)中,片內(nèi)單片機(jī)的設(shè)計(jì)中,片內(nèi)RAM區(qū)區(qū)低低128單元為堆棧的可用空間。單元為堆棧的可用空間。(復(fù)位時(shí),(復(fù)位時(shí),SP被初始化為被初始化為07H) 堆棧操作過程:堆棧操作過程: 進(jìn)棧進(jìn)棧: PUSH ACC指令(設(shè)指令(設(shè)SP=07H) 1)SP+1送送SP,此時(shí),此時(shí)SP=08H; 2)ACC送送RAM的的08H單元;單元;出棧出棧: POP ACC (設(shè)(設(shè)SP=08H);); 1)將)

43、將RAM 中中08H單元內(nèi)容送單元內(nèi)容送A; 2)SP-1送送SP ,此時(shí),此時(shí)SP=07H。 07HSP07HRAMx累加器累加器A08H1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置特殊功能寄存器特殊功能寄存器SFR說明說明1.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM“先加后壓先加后壓” “先彈后減先彈后減”目錄目錄 通過修改通過修改SP的值來改變堆的值來改變堆棧在棧在RAM中的位置:中的位置: MOV SP,#60H 08H07HRAM改變堆棧位置示意圖61H60H7FH60HSP1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置特殊功能寄存器特殊功能寄

44、存器SFR說明說明6 6)堆棧指針)堆棧指針SP:1.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM目錄目錄7)并行端口)并行端口P0-P3:SFR中的中的P0-P3實(shí)際上就是實(shí)際上就是I/O端口的端口的數(shù)據(jù)鎖存器。與數(shù)據(jù)鎖存器。與RAM中的任意一單元一樣,中的任意一單元一樣,P0-P3都有都有自己的自己的RAM地址:地址:80H、90H、A0H、B0H。所以,在。所以,在51單片機(jī)中的輸入、輸出操作實(shí)際上就是個(gè)普通的單片機(jī)中的輸入、輸出操作實(shí)際上就是個(gè)普通的RAM單元操作一樣。如:?jiǎn)卧僮饕粯?。如?輸出指令輸出指令 MOV 80H, A;將;將A中的數(shù)據(jù)送到中的數(shù)據(jù)送到P0口輸出口輸出 輸入指

45、令輸入指令 MOV A, 90H;將;將P1口的數(shù)據(jù)輸入到口的數(shù)據(jù)輸入到A中中 即即MCS-51的指令系統(tǒng)中沒有專用的輸入、輸出的指令系統(tǒng)中沒有專用的輸入、輸出(IN、OUT)指令,而是把)指令,而是把P0-P3作為普通的內(nèi)存單元作為普通的內(nèi)存單元來使用。上面的第一個(gè)例子實(shí)際上就是來使用。上面的第一個(gè)例子實(shí)際上就是MCS-51的輸出的輸出指令指令;同理后者是;同理后者是MCS-51的輸入指令。的輸入指令。1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置特殊功能寄存器特殊功能寄存器SFR說明說明1.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM目錄目錄8)8)定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)

46、器T0、T1:無(wú)論是定時(shí)還是計(jì)數(shù),對(duì)于無(wú)論是定時(shí)還是計(jì)數(shù),對(duì)于MCS-51單片機(jī)的定時(shí)單片機(jī)的定時(shí)/計(jì)數(shù)器來說,都是一個(gè)計(jì)數(shù)器來說,都是一個(gè)“計(jì)數(shù)器計(jì)數(shù)器”在計(jì)數(shù)。在計(jì)數(shù)。這個(gè)這個(gè)“計(jì)數(shù)器計(jì)數(shù)器”是由兩個(gè)是由兩個(gè)8位寄存器(高位和低位)構(gòu)成的位寄存器(高位和低位)構(gòu)成的16位計(jì)數(shù)器,分別是位計(jì)數(shù)器,分別是TH0、TL0(T0);TH1、TL1(T1)。 TH和和TL中的數(shù)據(jù)直接與中的數(shù)據(jù)直接與“定時(shí)操作定時(shí)操作”或或“計(jì)數(shù)操作計(jì)數(shù)操作”有關(guān),因此在使用定時(shí)有關(guān),因此在使用定時(shí)/計(jì)數(shù)器之前,要對(duì)它進(jìn)行初始化,計(jì)數(shù)器之前,要對(duì)它進(jìn)行初始化,其中就要對(duì)其中就要對(duì)TH、TL賦初值。賦初值。 如:如:M

47、OV 8CH, #01H ;為為TH0賦值賦值 MOV 8AH, #20H ;為為TL0賦值賦值 TH0TL01.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置特殊功能寄存器特殊功能寄存器SFR說明說明1.4.1 內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM目錄目錄9)串行數(shù)據(jù)緩沖器)串行數(shù)據(jù)緩沖器SBUF:專門用來存放發(fā)送或接收的數(shù)據(jù),專門用來存放發(fā)送或接收的數(shù)據(jù),實(shí)際上它是兩個(gè)獨(dú)立的寄存器。盡管在實(shí)際上它是兩個(gè)獨(dú)立的寄存器。盡管在SFR中的中的RAM地址只地址只是是99H,但根據(jù)指令,但根據(jù)指令“發(fā)送發(fā)送”或或“接收接收”兩種不同的操作,兩種不同的操作,硬件會(huì)自動(dòng)的區(qū)分,將數(shù)據(jù)送如對(duì)應(yīng)

48、的緩沖單元。硬件會(huì)自動(dòng)的區(qū)分,將數(shù)據(jù)送如對(duì)應(yīng)的緩沖單元。 MOV SBUF,A ;ASBUF (引發(fā)串口通信)(引發(fā)串口通信) MOV A,SBUF ;SBUF A (讀取串口中的數(shù)據(jù))(讀取串口中的數(shù)據(jù))有關(guān)有關(guān)SFR中其它寄存器的說明將相關(guān)的章節(jié)中作介紹。中其它寄存器的說明將相關(guān)的章節(jié)中作介紹。1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置發(fā)送發(fā)送SBUF接收接收SBUF內(nèi)內(nèi)部部數(shù)數(shù)據(jù)據(jù)總總線線TXDRXD累加器累加器A返256B目錄目錄 當(dāng)需要外接當(dāng)需要外接RAM時(shí):時(shí): (1)P0、P2作為外部作為外部RAM的地址和數(shù)據(jù)總線;的地址和數(shù)據(jù)總線; (2)使用)使用MOV

49、X指令進(jìn)行讀寫操作。如:指令進(jìn)行讀寫操作。如: MOV R0,#20H ; 將外部將外部RAM單元地址單元地址20H送送R0寄存器寄存器 MOVX A,R0 ; 從外部從外部RAM20H單元取數(shù)據(jù)送單元取數(shù)據(jù)送A中中 使用使用8位寄存器位寄存器R0做間址寄存器,所以尋址范圍為做間址寄存器,所以尋址范圍為256B。 此時(shí)此時(shí)P0口做低口做低8位地址總線,位地址總線,而而P2口無(wú)用口無(wú)用。 或或: MOV DPTR, #2000H ;將外部將外部 RAM 地址地址2000H送送DPTR MOVX A,DPTR ;從外部從外部RAM 2000H單元取數(shù)據(jù)到單元取數(shù)據(jù)到 A 使用使用16位的寄存器位的

50、寄存器DPTR,所以尋址范圍為,所以尋址范圍為64KB。此。此時(shí)時(shí)P0口做低口做低8位地址位地址/數(shù)據(jù)復(fù)用總線,數(shù)據(jù)復(fù)用總線,P2口做高口做高8位地址總線位地址總線。1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置1.4.2 外部數(shù)據(jù)存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器RAMMOVX 就是一個(gè)以就是一個(gè)以“總線方式總線方式”進(jìn)行操作的外部傳送命令進(jìn)行操作的外部傳送命令目錄目錄MCS-51與與8K RAM的連接的連接P2.5 P2.4: : P2.0P0.7: : : P0.0ALE/RD/WRCEA12 :A8A7 O7 : : : : : : A0 O0/OE /WED7D7 Q7Q7 74

51、LS373D0D0 Q0Q0CPCP 6264 8K RAM MCS-51/CE = P2.5(A13)三態(tài)輸出三態(tài)輸出的數(shù)據(jù)口的數(shù)據(jù)口由由/OE控制控制1.4 MCS-51單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置單片機(jī)數(shù)據(jù)存儲(chǔ)器的配置目錄目錄 MCS-51內(nèi)部有一個(gè)用于構(gòu)成內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。在振蕩器的高增益反相放大器。在單片機(jī)引腳的單片機(jī)引腳的XTAL1和和XTAL2分分別是此放大器的輸入和輸出端,別是此放大器的輸入和輸出端,與作為反饋元件的晶體或陶瓷諧與作為反饋元件的晶體或陶瓷諧振器一起構(gòu)成了一個(gè)自激振蕩器。振器一起構(gòu)成了一個(gè)自激振蕩器。 內(nèi)部時(shí)鐘發(fā)生器的輸出信號(hào)內(nèi)部時(shí)鐘發(fā)生器的輸

52、出信號(hào)是單片機(jī)所需的時(shí)鐘信號(hào)。是單片機(jī)所需的時(shí)鐘信號(hào)。 如果使用外部振蕩器信號(hào),如果使用外部振蕩器信號(hào),其外來的信號(hào)加在其外來的信號(hào)加在XTAL1的引腳的引腳上(見右圖)。上(見右圖)。XTAL230pF805130pFXTAL21XTAL1至內(nèi)部至內(nèi)部時(shí)鐘電路時(shí)鐘電路XTAL2XTAL1NC外時(shí)鐘外時(shí)鐘使用外時(shí)鐘時(shí)的電路連接使用外時(shí)鐘時(shí)的電路連接11.5 振蕩器與時(shí)鐘電路振蕩器與時(shí)鐘電路目錄目錄時(shí)序時(shí)序: CPU執(zhí)行指令時(shí)所需執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序控制信號(hào)的時(shí)間順序。 1.6.1 時(shí)序及時(shí)序單位時(shí)序及時(shí)序單位1.6 CPU的時(shí)序的時(shí)序 時(shí)序是用定時(shí)單位來描述的,時(shí)序是用定時(shí)單位來描

53、述的,MCS-51的時(shí)序單的時(shí)序單位有位有4個(gè),分別是時(shí)鐘周期(節(jié)拍)、狀態(tài)、機(jī)器周期個(gè),分別是時(shí)鐘周期(節(jié)拍)、狀態(tài)、機(jī)器周期和指令周期和指令周期。 時(shí)鐘周期時(shí)鐘周期 狀態(tài);狀態(tài); 機(jī)器周期;機(jī)器周期; 指令周期。指令周期。目錄目錄 時(shí)鐘周期時(shí)鐘周期T:又稱為振蕩周期、節(jié)拍(用又稱為振蕩周期、節(jié)拍(用P表示),由外表示),由外接晶體或外輸入時(shí)鐘來決定。其值為振蕩器頻率的倒數(shù)。接晶體或外輸入時(shí)鐘來決定。其值為振蕩器頻率的倒數(shù)。它是時(shí)序中最小的時(shí)間單位。它是時(shí)序中最小的時(shí)間單位。 例如例如:在單片機(jī)外接在單片機(jī)外接1MHz的晶體,則單片機(jī)的系統(tǒng)時(shí)的晶體,則單片機(jī)的系統(tǒng)時(shí)鐘的頻率為鐘的頻率為1MH

54、z,時(shí)鐘周期,時(shí)鐘周期為為1s。T 狀態(tài)(用狀態(tài)(用S表示):表示):?jiǎn)纹瑱C(jī)振蕩脈沖經(jīng)過二分頻后即單片機(jī)振蕩脈沖經(jīng)過二分頻后即 得到整個(gè)單片機(jī)工作系統(tǒng)的狀態(tài)。一個(gè)狀態(tài)有兩個(gè)節(jié)得到整個(gè)單片機(jī)工作系統(tǒng)的狀態(tài)。一個(gè)狀態(tài)有兩個(gè)節(jié) 拍,前半周期對(duì)應(yīng)的節(jié)拍定義為拍,前半周期對(duì)應(yīng)的節(jié)拍定義為P1,后半周期對(duì)應(yīng)的節(jié),后半周期對(duì)應(yīng)的節(jié) 拍定義為拍定義為P2。P1P2S11.6.1 時(shí)序及時(shí)序單位時(shí)序及時(shí)序單位1.6 CPU的時(shí)序的時(shí)序目錄目錄 機(jī)器周期:機(jī)器周期:完成一個(gè)基本操作所需要的時(shí)間。完成一個(gè)基本操作所需要的時(shí)間。MCS-51中規(guī)定一個(gè)機(jī)器周期包含中規(guī)定一個(gè)機(jī)器周期包含12個(gè)時(shí)鐘周期,即有個(gè)時(shí)鐘周期,即

55、有6個(gè)狀態(tài),個(gè)狀態(tài),分別表示為分別表示為S1S6;也可表示為;也可表示為12個(gè)節(jié)拍:個(gè)節(jié)拍: S1P1,S1P2, S2P1,S2P2, S3P1,S3P2 S6P1,S6P2 時(shí)鐘周期時(shí)鐘周期TT 狀態(tài)(用狀態(tài)(用S表示)表示)S1S2S6S5S4S3機(jī)器周期機(jī)器周期 指令周期:指令周期:即執(zhí)行一條指令所需要的時(shí)間,它是時(shí)序圖即執(zhí)行一條指令所需要的時(shí)間,它是時(shí)序圖中最大的時(shí)間單位。中最大的時(shí)間單位。1.6 CPU的時(shí)序的時(shí)序1.6.1 時(shí)序及時(shí)序單位時(shí)序及時(shí)序單位目錄目錄 在在MCS-51系統(tǒng)中,不同的指令所包含的機(jī)器周期數(shù)不系統(tǒng)中,不同的指令所包含的機(jī)器周期數(shù)不同。它們分別是:同。它們分別

56、是: 單機(jī)器周期指令單機(jī)器周期指令雙機(jī)器周期指令雙機(jī)器周期指令 四機(jī)器周期指令四機(jī)器周期指令 (MCS-51單片機(jī)的指令系統(tǒng)除了乘、除法指令為四個(gè)單片機(jī)的指令系統(tǒng)除了乘、除法指令為四個(gè)機(jī)器周期外,其余都是單周期和雙周期指令)機(jī)器周期外,其余都是單周期和雙周期指令) 指令周期:指令周期:即執(zhí)行一條指令所需要的時(shí)間,它是時(shí)序圖即執(zhí)行一條指令所需要的時(shí)間,它是時(shí)序圖中最大的時(shí)間單位。中最大的時(shí)間單位。1.6 CPU的時(shí)序的時(shí)序 機(jī)器周期機(jī)器周期 時(shí)鐘周期時(shí)鐘周期T 狀態(tài)(用狀態(tài)(用S表示)表示)1.6.1 時(shí)序及時(shí)序單位時(shí)序及時(shí)序單位目錄目錄假設(shè):我們使用一個(gè)假設(shè):我們使用一個(gè)6M的晶體振蕩器,那么

57、的晶體振蕩器,那么 一個(gè)機(jī)器周期為:一個(gè)機(jī)器周期為:1/6 s121=2s; 兩個(gè)機(jī)器周期為:兩個(gè)機(jī)器周期為:1/6 s122=4s; 四個(gè)機(jī)器周期為:四個(gè)機(jī)器周期為:1/6 s124=8s。 指令的運(yùn)算速度指令的運(yùn)算速度與它所包含的與它所包含的機(jī)器周期數(shù)機(jī)器周期數(shù)有關(guān):有關(guān):機(jī)器周期數(shù)越少,執(zhí)行的速度就越快。機(jī)器周期數(shù)越少,執(zhí)行的速度就越快。1.6 CPU的時(shí)序的時(shí)序 指令周期指令周期 機(jī)器周期機(jī)器周期 時(shí)鐘周期時(shí)鐘周期T 狀態(tài)(用狀態(tài)(用S表示)表示)1.6.1 時(shí)序及時(shí)序單位時(shí)序及時(shí)序單位目錄目錄 指令的字節(jié)數(shù)指令的字節(jié)數(shù): MCS-51單片機(jī)的指令系統(tǒng)有:?jiǎn)纹瑱C(jī)的指令系統(tǒng)有: 單字節(jié)單

58、字節(jié) (占用(占用1個(gè)個(gè)ROM字節(jié))字節(jié)) ; 雙字節(jié)雙字節(jié) (占用(占用2個(gè)個(gè)ROM字節(jié))字節(jié)) ; 三字節(jié)指令(占用三字節(jié)指令(占用3個(gè)個(gè)ROM字節(jié))字節(jié)) 。O PROMO P 2-1O P 2-2ROMO P 3-1O P 3-2O P 3-3ROM單字節(jié)指令單字節(jié)指令雙字節(jié)指令雙字節(jié)指令三字節(jié)指令三字節(jié)指令1.6 CPU的時(shí)序的時(shí)序目錄目錄在在MCS-51的的111條指令中,可分為六種基本的時(shí)序條指令中,可分為六種基本的時(shí)序: (1) 單字節(jié)單周期指令;單字節(jié)單周期指令; (2) 單字節(jié)雙周期指令;單字節(jié)雙周期指令; (3) 單字節(jié)四周期指令;單字節(jié)四周期指令; (4) 雙字節(jié)單周期

59、指令;雙字節(jié)單周期指令; (5) 雙字節(jié)雙周期指令;雙字節(jié)雙周期指令; (6) 三字節(jié)雙周期指令。三字節(jié)雙周期指令。1.6 CPU的時(shí)序的時(shí)序目錄目錄指令特點(diǎn)指令特點(diǎn): : 在程序存儲(chǔ)器在程序存儲(chǔ)器ROM中僅占一個(gè)存儲(chǔ)單元,中僅占一個(gè)存儲(chǔ)單元,CPU 從取指到完成指令的執(zhí)行只需一個(gè)機(jī)器周期。從取指到完成指令的執(zhí)行只需一個(gè)機(jī)器周期。 1)在)在ALE第一次有效時(shí),從第一次有效時(shí),從ROM中讀取指令的操作,中讀取指令的操作,送入指令寄存器送入指令寄存器IR中并譯碼執(zhí)行。中并譯碼執(zhí)行。 2)在)在ALE第二次有效時(shí),封鎖第二次有效時(shí),封鎖PC加加1,使第二次讀數(shù)無(wú),使第二次讀數(shù)無(wú)效。效。1.6.2.

60、1 單字節(jié)單周期指令的時(shí)序單字節(jié)單周期指令的時(shí)序 1.6.2 幾種典型時(shí)序介紹幾種典型時(shí)序介紹1.6 CPU的時(shí)序的時(shí)序S1S2S6S5S4S3機(jī)器周期機(jī)器周期ALE讀操作碼讀操作碼1讀操作數(shù)無(wú)效讀操作數(shù)無(wú)效1.6.2.2目錄目錄【注意注意】: 1)每一個(gè)機(jī)器周期出現(xiàn)兩次)每一個(gè)機(jī)器周期出現(xiàn)兩次ALE信號(hào);信號(hào); 2)ALE信號(hào)對(duì)應(yīng)著從信號(hào)對(duì)應(yīng)著從ROM中讀指令。所以在一個(gè)機(jī)器周中讀指令。所以在一個(gè)機(jī)器周期中期中CPU可以完成兩次取指操作;可以完成兩次取指操作; 3)對(duì)于單字節(jié)單周期的指令)對(duì)于單字節(jié)單周期的指令,CPU從取指令到完成指令的從取指令到完成指令的執(zhí)行只需一個(gè)機(jī)器周期。執(zhí)行只需一個(gè)

溫馨提示

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