第2章 MCS-51 單片機硬件結構


第 2 章 MCS-51 單片機硬件結構

1. MCS-51 系列單片機的基本結構

1.MCS-51 系列單片機的總體基本結構

MCS-51 系列單片機主要部件組成:微處理器(MPU)、數據存儲器(RAM)、 程序存儲器(ROM/EPROM)、並行 I/O 口(P0 口、P1 口、P2 口、P3 口)、串行口、定時器/計數器、中斷系統及特殊功能寄存器(SFR)。

在這里插入圖片描述

1.CPU(微處理器)
2.數據存儲器(RAM)
	片內為128個字節(52子系列的為256個字節)
3.程序存儲器(ROM/EPROM) 
	8031:無此部件; 
	8051:4K字節ROM; 
	8751:4K字節EPROM ;
	89C51/89C52/89C55:4K/8K/20K 字節閃存。
4. P1口、P2口、P3口、P0口:為4個並行8位I/O口。
5. 串行口 1個全雙工的異步串行口。
6. 定時器/計數器
7. 中斷系統
8. 特殊功能寄存器(SFR)
	用於對片內各功能模塊進行管理、控制、監視。實際上是一些控制寄存器和狀態寄存器。
	共有21個,是一個具有特殊功能的RAM區。
  • 所有兼容8051 的單片機一般簡稱為51 系列單片機
  • 51 系列單片機的基本結構總體上是一致的。

在這里插入圖片描述

在這里插入圖片描述

2.MCS-51 系列單片機主要功能部件

8051/8052 系列單片機主要包括以下功能部件:

  • 8 位 CPU;
  • 4K/8K 片內程序存儲器(ROM/EPROM);
  • 128/256 字節的片內RAM;
  • 32 條雙向 I/O 口線(4 個 8 位 I/O 口);
  • 可尋址程序存儲器和外部數據存儲器64KB;
  • 2/3 個 16 位定時器/計數器;
  • 1 個全雙工異步串行口;
  • 5/6 個中斷源,2 個中斷優先級;
  • 位尋址空間;
  • 片內振盪器和時鍾電路。

3.8051 單片機內部結構及引腳

8051單片機為40條引腳雙列直插式封裝引腳可分為三個部分:

在這里插入圖片描述

(1)電源及時鍾引腳:  Vcc、Vss;XTAL1、 XTAL2。
(2)控制引腳: PSEN*、EA*  、ALE、RESET
(3)I/O口引腳:P0、P1、P2、P3,4個8位I/O口

在這里插入圖片描述

40只引腳雙列直插封裝(DIP)
  1. 電源及電源復位引腳
    (1)VCC(40 腳):正常操作時,接+5V 直流電源。
    (2)VSS(20 腳):接地端。
    (3)RST/VPD(9 腳):復位信號輸入引腳RST。在該引腳上輸入一定時間(約兩個機器周期) 的高電平將使單片機復位。
    (4)EA /VPP(31 腳):訪問程序存儲器控制信號/編程電源輸入。

  2. 時鍾振盪電路引腳 XTAL1 和 XTAL2
    (1)XTAL1(19 腳):外接石英晶體和微調電容引腳 1。
    (2)XTAL2(18 腳):外接石英晶體和微調電容引腳 2。

  3. ALE/PROG(30 腳)

    低 8 位地址鎖存允許信號/編程脈沖輸入。
    在訪問外部程序存儲器期間,ALE 信號兩次有效;
    而在訪問外部數據存儲器期間,將丟失一個 ALE 信號。
    
  4. PSEN(29 腳)

    外部程序存儲器的讀選通信號輸出端,低電平有效。在從外部程序存儲器取指令(或常數)期間,此引腳定時輸出負脈沖作為訪問外部程序存儲器的讀信號,每個機器周期PSEN 兩次有效,此時地址總線上送出的地址為外部程序存儲器地址;在此期間,如果訪問外部數據存儲器和內部程序存儲器,不會產生PSEN 信號

  5. 並行雙向輸入/輸出(I/O)口引腳

    (1)P0 口的 P0.0~P0.7 引腳(39~32 腳):8 位通用輸入/輸出端口和片外8 位數據/低 8 位地址分時復用總線端口。
    (2)P1 口的 P1.0~P1.7 引腳(1~8 腳):8 位通用輸入/輸出端口。
    (3)P2 口的 P2.0~P2.7 引腳(28~21 腳):8 位通用輸入/輸出端口和片外高8 位地址總線端口。
    (4)P3 口的 P3.0~P3.7 引腳(10~17 腳):8 位通用輸入/輸出端口,具有第二功能。

4.外部總線構成

總線,就是連接單片機與各外部器件的一組公共信號線。

  • 利用片外引腳可以構造 MCS-51 系列單片機的三總線結構。
  • 單片機的引腳除了電源端 VCC.接地端 VSS、復位端 RST、晶振接入端 XTAL1 和 XTAL2、通用 I/O 口的 P1.0~P1.7 以外,其余的引腳都是為實現系統擴展而設置的。

在這里插入圖片描述

MCS-51片外總線結構示意圖
  • 地址總線(Address Bus,AB):MCS-51系列單片機總共有16根地址線A15~A0,由P2口直接提供高8位地址A15~A8,P0口經地址鎖存器提供低8位地址A7~A0,使得訪問時片外存儲器時尋址范圍可達64KB(216=65536=64K)。
  • 數據總線(Data Bus,DB):MCS-51系列單片機總共有8位數據線D7~D0,由P0口分時傳輸。
  • 控制總線(Control Bus,CB):控制總線由P3口的第二功能 /WR(P3.6)、/RD (P3.7)和3根獨立的控制線/EA 、ALE、/PSEN 組成。

2. MCS-51 單片機的中央處理器

1.CPU的組成

  1. CPU的組成:運算器和控制器,用以進行各種算術和邏輯運算,並實現數據的傳送。
  2. 運算器的組成:算術邏輯單元部件 ALU(Arithmetic and Logic Unit)、位處理器、8 位累加器 A、寄存器 B、兩個 8 位暫存寄存器 TMP1 和 TMP2 及程序狀態字寄存器 PSW(8 位)等。
  3. 運算器的功能:不僅可以實現8位數據的加、減、乘、除、增量、減量、十進制調整、比較等算術運算和與、或、異或、求補等邏輯運算,同時還具有一般微機所不具備的位處理功能,可對位變量進行置位、清零、求補及與、或等操作。
  4. 控制器的組成:程序計數器 PC、PC 增量器、指令寄存器、指令譯碼器、定時及控制邏輯電路等。
  5. 控制器的功能:以主振頻率為基准產生時鍾信號,向單片機內部各組成單元發出各種微控制信號,控制指令的讀入、譯碼和執行,並對指令執行過程進行定時和邏輯控制。

指令執行的基本步驟

  1. 程序——完成某項工作的一 系列指令的有序組合;
  2. 指令——控制單片機執行某種操作的命令;
  3. 指令的組成——由操作碼和操作數組成;
    1. 操作碼——規定了單片機的操作類型;
    2. 操作數——直接或間接地給出了參與操作的數據或數據的存放位置。

單片機執行一條指令一般分為兩個階段:取指令階段和執行指令階段。

  • 取指令階段:CPU從程序存儲器中取出指令的操作碼,送到指令寄存器。
  • 指令執行階段:經指令譯碼器譯碼,產生一系列控制信號,以明確該指令執行什么樣的操作,以及操作數的存放地址,根據這個地址獲取操作數,然后 CPU 按操作碼指明的操作類型對獲取的操作數進行操作。

2.時鍾電路及時鍾時序單位

時鍾電路用於產生單片機工作所必需的時鍾控制信號。

  1. 時鍾電路
  • 時鍾頻率直接影響單片機的速度,電路的質量直接影響系統的穩定性。常用的時鍾電路有兩種方式:內部時鍾方式和外部時鍾方式。

一、內部時鍾方式

  • 內部有一個用於構成振盪器的高增益反相放大器,其輸入端:XTAL1,輸出端:XTAL2。

在這里插入圖片描述

  • C1和C2典型值通常選擇為30pF左右。
  • 晶體的振盪頻率在1.2MHz~12MHz 之間。
  • 某些高速單片機芯片的時鍾頻率已達40MHz。

振盪電路產生的振盪脈沖並不直接使用,而是經分頻后再為系統所用:二分頻后作為狀態時鍾信號,其頻率為fosc/2 ;狀態時鍾三分頻后作為ALE信號,其頻率為fosc/6;狀態時鍾六分頻后為機器周期,其頻率為fosc/12。

二、外部時鍾方式

  • 由外部時鍾電路向片內輸入脈沖信號作為單片機的振盪脈沖。這時外部脈沖信號是經XTAL2引腳引入的,而XTAL1引腳懸空或接地。
  • 這種方式常用於多塊芯片同時工作,便於同步。

在這里插入圖片描述

  1. 復位電路
  • 復位電路可采用簡單的由電阻、電容及開關構成的上電自動復位和手動復位電路

在這里插入圖片描述

  • 只要RST引腳出現兩個機器周期以上時間的高電平時,單片機將進入復位狀態。

  • 復位狀態就是單片機復位時內部寄存器及引腳的初始數據或初始電平。

    MCS-51系列單片機復位時內部各寄存器的狀態如表2.1所示。

寄存器 內容 寄存器 內容
PC 0000H TMOD 00H
A 00H TCON 00H
B 00H TH0 00H
PSW 00H TL0 00H
SP 07H TH1 00H
DPTR 0000H TL1 00H
P0~P3 FFH SCON 00H
IP xxx00000H SBUF 不定
IE 0xx00000H PCON 00H
注意:
	復位后,單片機將從0地址開始執行指令。
	內部RAM中的數據不受復位的影響。
  1. 時鍾時序單位
  • 時序,是指在指令執行過程中,CPU的控制器所發出的一系列特定的控制信號在時間上的先后次序。

  • MCS-51 的時序單位共有四個,從小到大依次是拍節、狀態、機器周期和指令周期

  • CPU發出的控制信號有兩類:

    • 一類是用於單片機內部的,用戶不能直接接觸此類信號,不必對它做過多了解;
    • 另一類是通過控制總線送到片外的,人們通常以時序圖的形式來表示相關信號的波形及出現的先后次序。
  • 時鍾周期:單片機的基本時間單位 。

    • 若時鍾的晶體的振盪頻率為fosc,則時鍾周期 Tosc=1/fosc。如fosc=6MHz,Tosc=166.7ns。
  • 機器周期:指 CPU 訪問存儲器一次所需要的時間。

    • 執行一條指令分為幾個機器周期。每個機器周期完成一個基本操作。

    • MCS-51單片機每12個時鍾周期為一個機器周期,一個機器周期又分為6個狀態 :S1~S6 。 每 個狀態又分為兩拍 :P1和P2。因此,一個機器周期中的12個時鍾周期表示為:S1P1、S1P2、S2P1、S2P2、…、S6P2。

在這里插入圖片描述

  • 1 T m = 6 T s = 12 T p = 12 T c y = 12 T o s c 1T_m=6T_s=12T_p=12T_{cy} =12 T_{osc} 1Tm6Ts12Tp=12Tcy=12Tosc
Tm——機器周期	Ts——狀態周期    
Tp——拍節周期 	Tcy——時鍾周期    
Tosc——振盪周期

例如,若振盪脈沖頻率為6MHz,則
振盪脈沖周期Tosc=1/6000000s=1/6μs,
狀態周期Ts    =1/6×2=1/3μs,
機器周期Tm  =1/6×12=2μs。
  • 指令周期:單片機執行一條指令所需要的時間。

    • 執行一條指令時,可分為取指令階段和指令執行階段
    • 取指令階段,PC中地址送到程序存儲器,並從中取出需要執行指令的操作碼和操作數。
    • 指令執行階段,對指令操作碼進行譯碼,以產生一系列控制信號完成指令的執行。
    • ALE信號是為地址鎖存而定義的,以時鍾脈沖1/6的頻率出現, 在一個機器周期中,ALE信號兩次有效(注意,在執行訪問外部數據存儲器的指令MOVX時,將會丟失一個ALE脈沖)。
    • 在 MCS-51 系統中,有單周期指令、雙周期指令和 4 周期指令。4 周期指令只有乘、除兩條指令,其余都是單周期或雙周期指令。

在這里插入圖片描述

上圖中的(a )和(b)分別表示單字節單周期和雙字節單周期指令的執行時序。
單周期指令的執行從S1P2開始, 在S1P2期間讀入操作碼並把它鎖到指令寄存器中。單周期雙字節指令則在同一機器周期的S4期間讀出第2個字節。 
單周期單字節指令在S4處仍有一次讀操作, 但這時讀出的字節(下一條指令的操作碼)將被丟棄, 而且程序計數器PC也不加1。 對於單周期指令, 在上述任何情況下, 指令都在S6P2期間完成操作。 
圖2―3(c)表示單字節雙周期指令的時序, 單字節雙周期指令在兩個機器周期內作4次讀操作碼的操作, 由於是單字節指令, 后3次讀操作是無效的。

在這里插入圖片描述

圖2―3(d)表示執行訪問外部數據存儲器指令MOVX的時序, 這是一條單字節雙周期指令,具有其特殊性。丟失了一個ALE信號 。

3. MCS-51 單片機的內部存儲器

1.存儲器結構及地址分配

  • 存儲器是組成單片機的主要部件之一,其功能是存儲信息(數據和程序)。
  • 存儲器按其存儲方式可以分成兩大類:一類為隨機存儲器 RAM;另一類是只讀存儲器 ROM。
  • 隨機存儲器RAM(數據存儲):用於暫時存放系統運行過程中的輸入/輸出數據、運算中間結果。
  • 只讀存儲器ROM(程序存儲器):用於存放固定的程序和固定的數據,如系統程序、常數、表格等。

在這里插入圖片描述

  • 常用的 ROM 根據其編程方式不同可分為以下 5 種類型:掩膜型 ROM (MROM)、一次性可編程 ROM(PROM,又稱為 OTPROM)、紫外線可擦可編程 ROM (EPROM)、電可擦可編程 ROM(EEPROM)、閃速 ROM(Flash ROM)。
  • MCS-51單片機系統的存儲器可分為5類:
    • ① 片內程序存儲器;
    • ② 片外程序存儲器;
    • ③ 片內數據存儲器;
    • ④ 片外數據存儲器;
    • ⑤ 特殊功能寄存器。

在這里插入圖片描述

  • MCS-51 單片機存儲器的地址空間可分為 3 個:
    • ① 片內片外統一編址的 64KB 的程序存儲器地址空間(16 位地址 0000H~FFFFH),程序中使用MOVC指令訪問
    • ② 片內數據存儲器與特殊功能寄存器統一編址的 256B 內部數據存儲器地址空間(8 位 地址 00H~7FH,80H~FFH),使用MOV指令訪問
    • ③ 64KB 片外數據存儲器地址空間(16 位地址 0000H~FFFFH),使用MOVX指令訪問

在這里插入圖片描述

MCS-51 單片機的存儲結構有兩個重要的特點:一是采用哈佛結構,把數據存儲器和程 序存儲器截然分開,不同於通用微機的普林斯頓結構;二是存儲器有內外之分。

2.內部程序存儲器

  • 有些MCS-51單片機片內有程序存儲器,如:

    • 8051 4KB的掩膜型ROM 0000H~0FFFH;
    • 8751 4KB的EEPROM 0000H~0FFFH
  • 當/EA 接高電平時,地址在0000H~0FFFH時,CPU訪問內部存儲單元,如果地址大於0FFFH時,CPU自動轉向對片外存儲器的訪問。

  • 當 /EA接低電平(接地)時,CPU只能訪問外部程序存儲器,這時外部程序存儲器的地址從0000H開始編址。

  • 有些MCS-51單片機片內無程序存儲器,如80C31、80C32單片機片內無程序存儲器,所以只能外接ROM並將/EA接地

MCS-51單片機程序存儲器中的特殊地址:

  • 0000H~0002H——系統復位后總是從0000H單元開始取指令執行程序,常在此放一條轉移指令。
  • 0003H~000AH——外部中斷0服務程序地址區;
  • 000BH~0012H——定時器/計數器0中斷服務程序地址區;
  • 0013H~001AH——外部中斷1服務程序地址區;
  • 001BH~0022H——定時器/計數器1中斷服務程序地址區
  • 0023H~002AH——串口中斷服務程序地址區。

3.內部數據存儲器

  • MCS-51單片機內部數據存儲器包括:

    • 用戶RAM區: 128字節,地址范圍:00-7FH

    • 特殊功能寄存器(SFR)區:地址范圍:80H-FFH

    • 80C51單片機的用戶RAM區有128字節,地址范圍為00H~7FH,分成三部分:工作寄存器區、位尋址區、通用RAM區。

在這里插入圖片描述

1.用戶RAM區

工作寄存器區——00H~1FH

  • 地址范圍在00H~1FH的32個字節片內RAM為工作寄存器區,分成4個工作寄存器組,每組占8個字節,對應8個工作寄存器,分別稱為R0、R1、R2、R3、R4、R5、R6、R7。
  • 在程序運行時,只允許一個工作寄存器組工作,稱為當前工作寄存器組,由程序狀態字寄存器PSW中的RS1、RS0 兩位二進制數的組合來決定當前工作寄存器是哪一組。
當前工作寄存器組的選擇
組號 RS1 RS0 R0 R1 R2 R3 R4 R5 R6 R7
0 0 0 00H 01H 02H 03H 04H 05H 06H 07H
1 0 1 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH
2 1 0 10H 11H 12H 13H 14H 15H 16H 17H
3 1 1 18H 19H 1AH 1BH 1CH 1DH 1EH 1FH

注意以下幾點:

① RS1、RS0的狀態可由指令來進行設置;

② 復位后自動選中第0組工作寄存器;

③ 切換工作寄存器組后,原工作寄存器中的內容將被屏蔽保護;

④ 若程序中不需要4組工作寄存器,那么不用的工作寄存器可作為一般RAM使用。

位尋址區——20H~2FH

  • 內部RAM的20H~2FH地址范圍共16個字節單元為位尋址區,它們既可作為一般的RAM進行字節尋址,也可以對它們中的每一位進行位尋址。
  • 每一個位單元都有一個位地址,所以位尋址區共有16*8=128個位地址(00H~7FH)。
  • CPU能直接尋址這些位,執行置1、清零、求“反”、轉移、傳送等操作。
  • 128個位地址與內部RAM中128個字節地址00H~7FH重疊,在應用中通過指令的類型來區分它們。
內部RAM位尋址區的位地址分配表

在這里插入圖片描述

通用 RAM 區——30H~7FH

  • 地址范圍在30H~7FH中的 80個單元沒有其他的規定和限制,可用來存放用戶數據或作為堆棧區使用。因此被稱為通用RAM區。
2.特殊功能寄存器

特殊功能寄存器(Special Function Registers,SFR),也稱為專用寄存器,它們離散地分布在內部RAM地址為80H~FFH的128個字節的存儲空間中。

  • SFR用於控制單片機的工作方式或反映MCS-51單片機的運行狀態,大部分的功能已做了專門的規定,用戶不能修改其結構。

  • MCS-51中共有21個8位特殊功能寄存器,其中字節地址能被8整除的11個單元具有位尋址能力,有效的位地址共有82個。

  • 每個位單元不僅有位地址,有些還有位名稱,可用位地址、位名稱、字節地址.位序和寄存器名.位序4種方法來表示。

    • 如D7H、C、0D0H.7、PSW.7都表示同一個位,即程序狀態字寄存器的最高位
特殊功能寄存器的地址及符號表

在這里插入圖片描述

特殊功能寄存器分別用於以下各功能部件:

(1)CPU:累加器A、B寄存器、程序狀態字寄存器PSW、堆棧指針SP、數據指針DPTR(由DPH和DPL兩個8位寄存器組成)。

(2)並行口:P0、P1、P2、P3。

(3)串行口:串行口控制寄存器SCON、串行數據緩沖器SBUF、電源控制寄存器PCON。

(4)中斷系統:中斷允許控制寄存器IE、中斷優先級控制寄存器IP。

(5)定時器/計數器:定時器/計數器方式控制寄存器TMOD.定時器/計數器控制寄存器TCON、定時器/計數器0(TH0、TL0)、定時器/計數器1(TH1、TL1)。

特殊功能寄存器介紹:

在這里插入圖片描述

  1. 累加器A(或ACC,Accumulator): E0H, 8位
    累加器A是最常用最繁忙的一個專用寄存器,用於向ALU提供操作數、存放運算的中間結果、數據傳送的中間站等。大部分的數據操作都要求通過累加器A進行。
  2. 寄存器B : F0H, 8位
    主要用於乘、除運算,也可以作為通用寄存器使用。
  3. 程序狀態字寄存器PSW(Program Status Word) : D0H, 8位
    用於存放程序運行時的狀態信息,供程序查詢和判別時使用。其中有些位狀態是根據指令執行的結果、由硬件自動設置的,而有些位狀態是使用軟件方法設定的。 PSW 的各位定義如下:
位序 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0
位標志 Cy AC F0 RS1 RS0 OV / P
① Cy:進位/借位標志位。有兩個功能:
    一是存放執行算術運算時的進位/借位標志,可被硬件或軟件置位或清零,如進行加、減運算時,若運算結果在最高位有進位或借位時,Cy被硬件自動置1,反之則自動置0;
    二是在位操作中做位累加器使用。
② AC:輔助進位標志位,又稱為半進位標志位。
    當進行加、減運算時如果由低4位向高4位進位或借位,則AC被硬件自動置1,反之則自動清零。AC常用於二~十進制(BCD碼)調整。
③ F0 :用戶標志位,可由用戶自定義其含義。
	F0通常是由用戶根據執行程序的需要進行設置。用戶可通過對F01或清零來設定程序的走向或代表某事件是否發生或表示設備的狀態。 
④ RS1RS0:工作寄存器組(區)選擇標志位。
⑤ OV:溢出標志位,帶符號數加減運算中,若結果超出了累加器A所能表示的有效范圍(-128+127),即產生溢出,則OV=1;否則OV=0。
	當執行加法指令時,若以Ci表示i位向位i+1有進位,則OV=C6C7(異或運算)。
	乘、除法指令也會影響OV標志。
⑥ P:奇偶校驗位。用於指示存放在累加器A中“1”的個數的奇偶性,若累加器A1的個數為奇數個則P=1,若累加器A1的個數為偶數個則P=0
  1. 數據指針寄存器DPTR(Data Pointer): 83H、82H ,16位

    由高字節DPH( 83H )和低字節DPL( 82H )兩個8位特殊功能寄存器組成,可用它存放一個16位地址,對片外RAM或ROM中的64KB范圍內的任一單元進行訪問。

    既可以當作16位寄存器使用,也可以作為兩個8位寄存器使用。

  2. I/O口專用寄存器(P0、P1、P2、P3) : 80H、90H 、A0H、B0H,8位

    四個專用寄存器P0、P1、P2和P3分別是四個I/O端口P0~P3的數據輸出鎖存器/輸入緩沖器。

    通過MOV指令訪問四個專用寄存器P0、P1、P2和P3,便可通過四個I/O端口P0~P3進行輸入/輸出。

  3. 串行數據緩沖器(SBUF):99H,8位

    SBUF用來存放串口需要發送和接收到的數據。它對應兩個獨立的寄存器,一個是發送緩沖器(只寫),另一個是接收緩沖器(只讀),串行發送和串行接收其實都是對串行數據緩沖器SBUF進行的。

4.堆棧

入棧時,SP 中的內容先加 1,后寫入數據;出棧時,先讀出數據,SP 中的內容后減 1

  • MCS-51單片機中的堆棧:在內部RAM中開辟出來的按照后進先出的順序進行訪問的一片連續存儲區域。
  • 設立堆棧的目的——用於數據的暫存、中斷與子程序調用時斷點和現場的保護與恢復。
  • MCS-51單片機的堆棧的生長方向: 向上生長型。
  • 從高地址方向寫入數據生成的堆棧稱為向上生長型堆棧;反之稱為向下生長型堆棧。向上生長型堆棧的棧頂存儲單元的地址必定隨着數據的入棧而遞增,隨着數據的出棧而遞減。

在這里插入圖片描述

堆棧指針SP(Stack Pointer,8位)

  • 堆棧指針SP是一個8位特殊功能寄存器,用於指示堆棧的棧頂地址,SP總是指向堆棧棧頂,它決定了棧頂在內部RAM中的物理位置。
  • 數據入棧(PUSH)的操作過程:SP先在其原值的基礎上自動加1 (SP←SP+1),然后將要入棧的數據存放在SP指定的存儲單元中;
  • 數據出棧(POP)的操作過程:先將SP指向的棧頂單元的內容傳送到POP指令給定的寄存器或內部RAM單元中,然后SP自動減1(SP←SP-1)。

在這里插入圖片描述

堆棧的開辟

  • 單片機的堆棧只能開辟在片內數據存儲器中。
  • 系統復位后,SP中的值是07H。
  • 在程序設計時,通常都要對SP中的復位值進行修改,以將堆棧開辟在通用RAM區(30H~7FH)內。

4. MCS-51 單片機的工作方式

程序執行方式:單片機上電復位后,從程序存儲器的0000H單元開始執行程序。

  • 程序執行方式分為:
    • 連續執行方式——單片機按照程序邏輯,自動連續地執行程序中的指令。
    • 單步執行方式——按一下單步執行鍵執行一條用戶程序中的指令的方式。

掉電保護方式

  • 空閑(等待)方式(Idle Mode)
  • 掉電(停機)方式(Power Down Mode)
  • 這兩種方式都是由特殊功能寄存器中的電源控制寄存器PCON的有關控制位來控制的。

下一篇:第3章 MCS-51 單片機指令系統


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM