第1章基本結構及工作原理._第1頁
第1章基本結構及工作原理._第2頁
第1章基本結構及工作原理._第3頁
第1章基本結構及工作原理._第4頁
第1章基本結構及工作原理._第5頁
已閱讀5頁,還剩80頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

12、M中的數據丟失。中的數據丟失。 1.2 MCS-51單片機內部結構及引腳定義單片機內部結構及引腳定義引腳圖目錄目錄 在復位狀態下在復位狀態下:絕大多數:絕大多數SFR的內容全變為的內容全變為“0”, 端口輸出端口輸出“1”。RAM內容不變。內容不變。自動上電復位電路自動上電復位電路具有手動復位功能具有手動復位功能的復位電路的復位電路為什么需要為什么需要復位?復位?1.2 MCS-51單片機內部結構及引腳定義單片機內部結構及引腳定義MCS-51RSTVcc51k 1k 1m mFMCS-51RSTVccR C 目錄目錄(3)/EA / Vdd (31腳):允許訪問片外存儲器腳):允許訪問片外存儲

13、器/編程電編程電源線源線 程序存儲器的選擇控制端程序存儲器的選擇控制端 /EA=“1” 時:單片機使用內部的程序存儲器;時:單片機使用內部的程序存儲器; /EA=“0” 時:單片機使用外部的程序存儲器。時:單片機使用外部的程序存儲器。 但要特別注意但要特別注意:如果:如果EA=1即使用單片機內部的程序存儲即使用單片機內部的程序存儲器時,如果程序計數器器時,如果程序計數器PC的值超過的值超過0FFFH時(對時(對8051而而言),單片機將自動轉向外部程序存儲器言),單片機將自動轉向外部程序存儲器1000H開始的單元。開始的單元。 對于對于EPROM型的單片機,此腳還是用于寫程序時,加型的單片機,

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

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

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

17、; 可以外接可以外接64K的程序存儲器和數據存儲器。的程序存儲器和數據存儲器。 從物理結構的角度講,從物理結構的角度講,5151單片機的存儲系統可以單片機的存儲系統可以分為四個存儲空間:即片內分為四個存儲空間:即片內ROM,RAM和片外和片外ROM、RAM。 從邏輯上講(即用戶編程的角度講)從邏輯上講(即用戶編程的角度講)5151單片機的單片機的存儲系統又可分為三個存儲空間。即片內存儲系統又可分為三個存儲空間。即片內RAM,片外片外RAM, 片內外統一編址的程序存儲器片內外統一編址的程序存儲器ROM。1.3 MCS-51單片機程序存儲器的配置單片機程序存儲器的配置目錄目錄從物理結構上單片機系統

18、的存儲器結構圖從物理結構上單片機系統的存儲器結構圖(4 4個部分)個部分) MCS-51單片機單片機片內片內ROM4K(EA=1)片內片內RAM256B片外片外RAM64K片外片外ROM64K(EA=0或片內或片內溢出)溢出)000HFFFH0000HFFFFH0FFFH1000H1.3 MCS-51單片機程序存儲器的配置單片機程序存儲器的配置1.3.0 MCS-51單片機的存儲器的配置特點單片機的存儲器的配置特點 目錄目錄1.3.1 關于程序存儲器(片內與片外)關于程序存儲器(片內與片外)(1)程序存儲器()程序存儲器(ROM)是存放程序、常數和表格的。)是存放程序、常數和表格的。(2)在)

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

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

21、時,單片單片機就要自動的轉向片外的機就要自動的轉向片外的ROM(盡管(盡管EA=1),且從片外),且從片外ROM的的1000H單元開始執行程序(此時:單片機是無法使用單元開始執行程序(此時:單片機是無法使用片外片外ROM的的0000H-0FFFH這這4K單元)。單元)。目錄目錄0FFFH0000H0FFFH0000HFFFFH1000HEA=1時,時,ROM的使用的使用片外程序存儲器片外程序存儲器(最大(最大64K)單片機內部單片機內部程序存儲器程序存儲器(4K)一種便于程序加密的一種便于程序加密的ROM使用方案使用方案(6)當程序太大,必須使用外部)當程序太大,必須使用外部ROM時的一種設定

22、方法:時的一種設定方法: 將將/EA=1,程序從內部,程序從內部4K開始,然后自動轉向外部開始,然后自動轉向外部ROM的的1000H開始的單元。開始的單元。可以加密可以加密無法加密無法加密1.3.1 關于程序存儲器(片內與片外)關于程序存儲器(片內與片外)1.3 MCS-51單片機程序存儲器的配置單片機程序存儲器的配置目錄目錄1.3.2 程序存儲器六個特殊的單元程序存儲器六個特殊的單元 在程序存儲器中,以下六個單元是專用的在程序存儲器中,以下六個單元是專用的0000H單元:單元:上電復位時程序計數器上電復位時程序計數器PC指向的單元;指向的單元;0003H單元:單元:外部中斷外部中斷/INT0

23、的入口地址;的入口地址;000BH單元:定時器單元:定時器T0的溢出中斷入口地址;的溢出中斷入口地址;0013H單元:單元:外部中斷外部中斷/INT1的入口地址;的入口地址;001BH單元:定時器單元:定時器T1的溢出中斷入口地址;的溢出中斷入口地址;0023H單元:單元:串行口接收、傳送的中斷入口地址。串行口接收、傳送的中斷入口地址。ROM圖1.3 MCS-51單片機程序存儲器的配置單片機程序存儲器的配置1.3.1 關于程序存儲器(片內與片外)關于程序存儲器(片內與片外)返回返回目錄目錄A15A14 : :A8A7 O7 : : : : : : A0 O0OE64K ROMMCS-51MCS

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

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

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

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

28、S-51單片機數據存儲器的配置單片機數據存儲器的配置返256B目錄目錄片內片內 RAM(20H-2FH)中的位尋址區結構圖)中的位尋址區結構圖7F7E7D7C7B7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0

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

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

31、C目錄目錄1.4 MCS-51單片機數據存儲器的配置單片機數據存儲器的配置工作寄存器組工作寄存器組(片內(片內RAM地址地址00H1FH) 每個工作寄存器組都有每個工作寄存器組都有8個工作寄存器個工作寄存器(R0R7),每個工作,每個工作寄存器對應一個寄存器對應一個固定的地址固定的地址。如:工作寄存器組。如:工作寄存器組1中中R0的地址為的地址為08H。在單片機正常工作時,只有一組工作寄存器處于前臺工作。在單片機正常工作時,只有一組工作寄存器處于前臺工作。18H1FH10H17H08H0FH00H07H3組工作寄存器組組工作寄存器組2組工作寄存器組組工作寄存器組1組工作寄存器組組工作寄存器組0

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

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

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

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

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

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

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

39、在4個個組中的位置。可以通過修改組中的位置。可以通過修改RS1、RS0的值來改變工作寄存的值來改變工作寄存器組的選擇。器組的選擇。CYACF0RS1RS0OV-P1.4 MCS-51單片機數據存儲器的配置單片機數據存儲器的配置特殊功能寄存器特殊功能寄存器SFR說明說明1.4.1 內部數據存儲器內部數據存儲器RAM目錄目錄特殊功能寄存器特殊功能寄存器SFR說明說明5 5)程序狀態字)程序狀態字PSW:OV(PSW.2)溢出標志位溢出標志位: 判斷判斷有符號數有符號數運算時是否有溢出。運算時是否有溢出。 OV的結果可以用一個算法來表示的結果可以用一個算法來表示: OV=CP CS 其中其中: CP

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

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

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

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

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

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

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

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

48、緩沖單元。硬件會自動的區分,將數據送如對應的緩沖單元。 MOV SBUF,A ;ASBUF (引發串口通信)(引發串口通信) MOV A,SBUF ;SBUF A (讀取串口中的數據)(讀取串口中的數據)有關有關SFR中其它寄存器的說明將相關的章節中作介紹。中其它寄存器的說明將相關的章節中作介紹。1.4 MCS-51單片機數據存儲器的配置單片機數據存儲器的配置發送發送SBUF接收接收SBUF內內部部數數據據總總線線TXDRXD累加器累加器A返256B目錄目錄 當需要外接當需要外接RAM時:時: (1)P0、P2作為外部作為外部RAM的地址和數據總線;的地址和數據總線; (2)使用)使用MOVX

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

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

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

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

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

54、,時鐘周期,時鐘周期為為1s。T 狀態(用狀態(用S表示):表示):單片機振蕩脈沖經過二分頻后即單片機振蕩脈沖經過二分頻后即 得到整個單片機工作系統的狀態。一個狀態有兩個節得到整個單片機工作系統的狀態。一個狀態有兩個節 拍,前半周期對應的節拍定義為拍,前半周期對應的節拍定義為P1,后半周期對應的節,后半周期對應的節 拍定義為拍定義為P2。P1P2S11.6.1 時序及時序單位時序及時序單位1.6 CPU的時序的時序目錄目錄 機器周期:機器周期:完成一個基本操作所需要的時間。完成一個基本操作所需要的時間。MCS-51中規定一個機器周期包含中規定一個機器周期包含12個時鐘周期,即有個時鐘周期,即有

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

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

57、晶體振蕩器,那么 一個機器周期為:一個機器周期為:1/6 s121=2s; 兩個機器周期為:兩個機器周期為:1/6 s122=4s; 四個機器周期為:四個機器周期為:1/6 s124=8s。 指令的運算速度指令的運算速度與它所包含的與它所包含的機器周期數機器周期數有關:有關:機器周期數越少,執行的速度就越快。機器周期數越少,執行的速度就越快。1.6 CPU的時序的時序 指令周期指令周期 機器周期機器周期 時鐘周期時鐘周期T 狀態(用狀態(用S表示)表示)1.6.1 時序及時序單位時序及時序單位目錄目錄 指令的字節數指令的字節數: MCS-51單片機的指令系統有:單片機的指令系統有: 單字節單字

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

59、令;雙字節單周期指令; (5) 雙字節雙周期指令;雙字節雙周期指令; (6) 三字節雙周期指令。三字節雙周期指令。1.6 CPU的時序的時序目錄目錄指令特點指令特點: : 在程序存儲器在程序存儲器ROM中僅占一個存儲單元,中僅占一個存儲單元,CPU 從取指到完成指令的執行只需一個機器周期。從取指到完成指令的執行只需一個機器周期。 1)在)在ALE第一次有效時,從第一次有效時,從ROM中讀取指令的操作,中讀取指令的操作,送入指令寄存器送入指令寄存器IR中并譯碼執行。中并譯碼執行。 2)在)在ALE第二次有效時,封鎖第二次有效時,封鎖PC加加1,使第二次讀數無,使第二次讀數無效。效。1.6.2.1

60、 單字節單周期指令的時序單字節單周期指令的時序 1.6.2 幾種典型時序介紹幾種典型時序介紹1.6 CPU的時序的時序S1S2S6S5S4S3機器周期機器周期ALE讀操作碼讀操作碼1讀操作數無效讀操作數無效1.6.2.2目錄目錄【注意注意】: 1)每一個機器周期出現兩次)每一個機器周期出現兩次ALE信號;信號; 2)ALE信號對應著從信號對應著從ROM中讀指令。所以在一個機器周中讀指令。所以在一個機器周期中期中CPU可以完成兩次取指操作;可以完成兩次取指操作; 3)對于單字節單周期的指令)對于單字節單周期的指令,CPU從取指令到完成指令的從取指令到完成指令的執行只需一個機器周期。執行只需一個機

溫馨提示

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

評論

0/150

提交評論