ch02 第二章 系统分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
7
6
5
4
3
2
1
0
B
ACC
PSW TH2 TL2
RCAP2H RCAP2L
T2CON
2.8 特殊功能缓存器(SFR)
可位寻址SFR
SFR
B ACC PSW T2CON IP P3 IE P2 SCON P1 TCON P0
7
B.7 ACC.7 CY TF2 ? P3.7 EA P2.7 SM0 P1.7 TF1 P0.7
系统重置
SW
+5V
VCC (40)
10µF
RST (9)
10k
VSS (20)
表2-1 SFR 暫存器
PC ACC B PSW SP P0 P1 P2 P3 DPTR
系統重置之特殊功能暫存器(SFR)初始值 暫存器位址
未定 0xE0 0xF0 0xD0 未定 0x80 0x90 0xA0 0xB0 DPL=0x82 DPH=0x83 0x0000 0x00 0x00 0x00 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x00
暫存器位址
重置設定值
XXX00000B XX000000B 0XX00000B 0X000000B 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 未定 0XXXXXXXB 0XXX0000B
8
2.5 程序计数器(PC)
程序计数器
0
B.0 ACC.0 P CP_RL2 PX0 P3.0 EX0 P2.0 RI P1.0 IT0 P0.0
18
2.8 特殊功能缓存器(SFR)
A累加器
累加器(Accumulator,简称ACC或A),可位寻址 Keil C中存取A累加器,必须写ACC,C51视A为一般变量且必须 宣告
0xFFFF 外 部 程式記憶體 60KB ROM 外 部 程式記憶體 56KB ROM 0x2000 0x1FFF
內 部 程式記憶體 4KB ROM
Leabharlann Baidu
0xFFFF
0xFFFF
外 部 程式記憶體 64KB ROM
0x1000 0x0FFF 0x0000
內 部 程式記憶體 8KB ROM 0x0000
0x0000
(a) EA 1 (8051)
(b) EA 1 (8052)
(c) EA 0 (8051 / 8052)
11
2.7 数据存储器(RAM)
数据存储器(RAM)
数据存储器主要用途是暂存资料 内部数据存储器,8051有128Bytes,8052有256Bytes 0x7F 外部数据存储器,最大64KB
16位缓存器,可寻址的最大内存空间是64K字节(64KB) 用来指引CPU依其内容值提取程序内存内的脚本 当系统重置时的PC内含值是0x0000 CPU每提取一个脚本后,PC内容会自动加1 执行到跳跃指令如GOTO指令、函数或中断函数时,PC的内容 值将会改变
9
2.6 程序内存(ROM)
4
4 12 20 28 36 44 52 60 68
3
3 11 19 27 35 43 51 59 67
2
2 10 18 26 34 42 50 58 66
1
1 9 17 25 33 41 49 57 65
0
0 8 16 24 32 40 48 56 64
14
2.7 数据存储器(RAM)
可位寻址区
1
2.1 接脚说明
接脚说明
(T2) P1.0 (T2EX) P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST ( (RXD) P3.0 (TXD) P3.1 ( (INT0) P3.2 (INT1) P3.3 ( (T0) P3.4 (T1) P3.5 ( (WR) P3.6 ( (RD) P3.7 X2 X1 VSS
S4
S5
S6
(c) 1 位元組,2 機械週期指令,如 INC DPTR
讀 取 指令碼 讀下一 指令碼 (捨 棄) 不提取 (無 ALE) 讀下一 指令碼
S1
S2
S3
S4
S5
S6
S1
S2
S3
S4
S5
S6
位址
資料
存取外部記憶體
(d) MOVX 指令 ( 1 位元組,2 機械週期指令)
6
2.4 系统重置
時脈輸入
MCS-51
X2 X1 VSS
MCS-51
空接 時脈輸入
. . X2
時脈輸入
MCS-51
X1 X2 VSS
X1 VSS
(a) 僅 HMOS 版
(b) 僅 CHMOS 版
(c) HMOS 或 CHMOS 版
3
2.1 接脚说明
埠3特殊功能
表2-1 埠腳
P3.0 P3.1 P3.2 P3.3
埠 3 之特殊功能 埠腳
16
2.8 特殊功能缓存器(SFR)
特殊功能缓存器(SFR)
R AM 位址
0xF8 0xF0 0xE8 0xE0 0xD8 0xD0 0xC8 0xC0 0xB8 0xB0 0xA8 0xA0 0x98 0x90 0x88 0x80 PCON TH1 TH0 TL1 TL0 TMOD SP SBUF IP P3 IE P2 SCON P1 TCON P0
重置設定值
7
2.4 系统重置
SFR 暫存器
IP (8051) IP (8052) IE (8051) IE (8052) TMOD TCON TH0 TL0 TH1 TL1 TH2 (8052) TL2 (8052) RCAP2H (8052) RCAP2L (8052) T2CON (8052) SCON SBUF PCON(HMOS) PCON(CHMOS) 0xB8 0xB8 0xA8 0xA8 0x89 0x88 0x8C 0x8A 0x8D 0x8B 0xCD 0xCC 0xCB 0xCA 0xC8 0x98 0x99 0x87 0x87
第二章 系统分析
2.1 接脚说明 2.2 内部结构方块图 2.3 系统时序 2.4 系统重置 2.5 程序计数器(PC) 2.6 程序内存(ROM) 2.7 数据存储器(RAM) 2.8 特殊功能缓存(SFR) 2.9 输入/输出(I/O)埠 2.10 中断(Interrupt) 2.11 计时/计数器0,1 2.12 计时/计数器2 2.13 串行埠 2.14 省电模式
13
2.7 数据存储器(RAM)
可位寻址区
表2-1 R AM 位址
0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28
可位元定址區 5
5 13 21 29 37 45 53 61 69
7
7 15 23 31 39 47 55 63 71
6
6 14 22 30 38 46 54 62 70
P3.4 P3.5 P3.6 P3.7
功能
RXD(串列埠輸入腳) TXD(串列埠輸出腳)
功能
T0(計數器 0 外部時脈輸入腳) T1(計數器 1 外部時脈輸入腳)
INT0 (外部中斷 0 輸入腳) INT1 (外部中斷 1 輸入腳)
WR (外部資料記憶體寫入信號)
RD (外部資料記憶體讀取信號)
4
2.2 内部结构方块图
0xFF
一般用途區
0x00
(a) 內部資料記憶體
(b) 0x00~0x7F RAM 區
12
2.7 数据存储器(RAM)
缓存器库区
表2-1 R S1 (P SW.4)
0 0 1 1
暫存器庫選擇 暫存器庫
0 1 2 3
R S0 (P SW.3)
0 1 0 1
暫存器
R0 ~ R7 R0 ~ R7 R0 ~ R7 R0 ~ R7
MCS-51 程式記憶體的 7 個特殊用途位址 位址
0x0000 0x0003 0x000B 0x0013 0x001B 0x0023 0x002B
10
2.6 程序内存(ROM)
程序内存主要用途是储存程序代码 在MCS-51单芯片中的程序内存内有7个特殊用途的地址 /EA=1时,使用内部程序内存,8051有4KB,8052有8KB /EA=0时,使用外部程序内存,最大64KB
3
B.3 ACC.3 RS0 EXEN2 PT1 P3.3 ET1 P2.3 TB8 P1.3 IE1 P0.3
2
B.2 ACC.2 OV TR2 PX1 P3.2 EX1 P2.2 RB8 P1.2 IT1 P0.2
1
B.1 ACC.1 ? C_T2 PT0 P3.1 ET0 P2.1 TI P1.1 IE0 P0.1
3
75 83 91 99 107 115 123
2
74 82 90 98 106 114 122
1
73 81 89 97 105 113 121
0
72 80 88 96 104 112 120
15
2.7 数据存储器(RAM)
一般用途区
一般用途区地址在0x30 ~0x7F(8051版)或0x30 ~ 0xFF(8052版) 只能以字节寻址使用 地址0x30~0x7F可以使用直接寻址或间接寻址存取内存内容 地址0x80~0xFF必须使用间接寻址存取内存内容
表 2-5 R AM 位址
0x29 0x2A 0x2B 0x2C 0x2D 0x2E 0x2F
可位元定址區(續) 5
77 85 93 101 109 117 125
7
79 87 95 103 111 119 127
6
78 86 94 102 110 118 126
4
76 84 92 100 108 116 124
MCS-51
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
( (A15) (A14) (A13) (A12) (A11) (A10) (A9) (A8)
圖 2-1
MCS-51 接腳圖
2
2.1 接脚说明
内部频率接线
MCS-51
C1
X1
C2
X2 VSS
外部频率接线
系统时序
S1
X2 振盪 ALE 讀 取 指令碼 讀下一 指令碼 (捨 棄) 讀下一 指令碼
S2 S3 S4 S5 S6 S1 S2
S3 S4 S5 S6
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
S1
S2
S3
S4
S5
S6
(a) 1 位元組,1 機械週期指令,如 INC A
讀 取 指令碼 讀 取 第 二 位元組 讀下一 指令碼
S1
S2
S3
S4
S5
S6
(b) 2 位元組,1 機械週期指令,如 ADD A,#data
讀 取 指令碼 讀取下一指令碼 (捨棄) 讀下一 指令碼
S1
S2
S3
S4
S5
S6
S1
S2
S3
程序内存
程序内存主要用途是储存程序代码 在MCS-51单芯片中的程序内存内有7个特殊用途的地址 /EA=1时,使用内部程序内存,8051有4KB,8052有8KB /EA=0时,使用外部程序内存,最大64KB
表2-1 中斷源
重置 ( RESET ) 外部中斷 0 ( INT 0) 計時 / 計數器 0 中斷 外部中斷 1 ( INT1) 計時 / 計數器 1 中斷 串列埠中斷 計時 / 計數器 2 中斷 (僅 8052 有)
内部结构方块图
X1 X2 T0 T1 (T2)
時序電路
4KB(8KB) 程式記憶體
128(256)Bytes
資料記憶體
計時/計數器
8051 CPU
中斷控制
控制信號
輸入/輸出 I/O
串列埠
INT0
INT1
EA ALE PSEN
P0 P1 P2 P3
RXD
TXD
8051(8052)內部結構方塊圖
5
2.3 系统时序
6
B.6 ACC.6 AC EXF2 ? P3.6 ? P2.6 SM1 P1.6 TR1 P0.6
5
B.5 ACC.5 F0 RCLK PT2 P3.5 ET2 P2.5 SM2 P1.5 TF0 P0.5
4
B.4 ACC.4 RS1 TCLK PS P3.4 ES P2.4 REN P1.4 TR0 P0.4
0xFF 間接定址 RAM區 0x80 0x7F 直接定址 或 間接定址 RAM區 直接定址 SFR區 0x80
0x30 0x2F 可位元定址區 0x20 0x1F 0x18 0x17 0x10 0x0F 0x08 0x07 0x00
暫存器庫BANK3 暫存器庫BANK2 暫存器庫BANK1 暫存器庫BANK0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 VCC 39 P0.0 (AD0) 38 P0.1 (AD1) 37 P0.2 (AD2) 36 P0.3 (AD3) 35 P0.4 (AD4) 34 P0.5 (AD5) 33 P0.6 (AD6) 32 P0.7 (AD7) 31 EA / VPP 30 ALE / PROG 29 PSEN 28 27 26 25 24 23 22 21
7
6
5
4
3
2
1
0
B
ACC
PSW TH2 TL2
RCAP2H RCAP2L
T2CON
2.8 特殊功能缓存器(SFR)
可位寻址SFR
SFR
B ACC PSW T2CON IP P3 IE P2 SCON P1 TCON P0
7
B.7 ACC.7 CY TF2 ? P3.7 EA P2.7 SM0 P1.7 TF1 P0.7
系统重置
SW
+5V
VCC (40)
10µF
RST (9)
10k
VSS (20)
表2-1 SFR 暫存器
PC ACC B PSW SP P0 P1 P2 P3 DPTR
系統重置之特殊功能暫存器(SFR)初始值 暫存器位址
未定 0xE0 0xF0 0xD0 未定 0x80 0x90 0xA0 0xB0 DPL=0x82 DPH=0x83 0x0000 0x00 0x00 0x00 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x00
暫存器位址
重置設定值
XXX00000B XX000000B 0XX00000B 0X000000B 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 未定 0XXXXXXXB 0XXX0000B
8
2.5 程序计数器(PC)
程序计数器
0
B.0 ACC.0 P CP_RL2 PX0 P3.0 EX0 P2.0 RI P1.0 IT0 P0.0
18
2.8 特殊功能缓存器(SFR)
A累加器
累加器(Accumulator,简称ACC或A),可位寻址 Keil C中存取A累加器,必须写ACC,C51视A为一般变量且必须 宣告
0xFFFF 外 部 程式記憶體 60KB ROM 外 部 程式記憶體 56KB ROM 0x2000 0x1FFF
內 部 程式記憶體 4KB ROM
Leabharlann Baidu
0xFFFF
0xFFFF
外 部 程式記憶體 64KB ROM
0x1000 0x0FFF 0x0000
內 部 程式記憶體 8KB ROM 0x0000
0x0000
(a) EA 1 (8051)
(b) EA 1 (8052)
(c) EA 0 (8051 / 8052)
11
2.7 数据存储器(RAM)
数据存储器(RAM)
数据存储器主要用途是暂存资料 内部数据存储器,8051有128Bytes,8052有256Bytes 0x7F 外部数据存储器,最大64KB
16位缓存器,可寻址的最大内存空间是64K字节(64KB) 用来指引CPU依其内容值提取程序内存内的脚本 当系统重置时的PC内含值是0x0000 CPU每提取一个脚本后,PC内容会自动加1 执行到跳跃指令如GOTO指令、函数或中断函数时,PC的内容 值将会改变
9
2.6 程序内存(ROM)
4
4 12 20 28 36 44 52 60 68
3
3 11 19 27 35 43 51 59 67
2
2 10 18 26 34 42 50 58 66
1
1 9 17 25 33 41 49 57 65
0
0 8 16 24 32 40 48 56 64
14
2.7 数据存储器(RAM)
可位寻址区
1
2.1 接脚说明
接脚说明
(T2) P1.0 (T2EX) P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST ( (RXD) P3.0 (TXD) P3.1 ( (INT0) P3.2 (INT1) P3.3 ( (T0) P3.4 (T1) P3.5 ( (WR) P3.6 ( (RD) P3.7 X2 X1 VSS
S4
S5
S6
(c) 1 位元組,2 機械週期指令,如 INC DPTR
讀 取 指令碼 讀下一 指令碼 (捨 棄) 不提取 (無 ALE) 讀下一 指令碼
S1
S2
S3
S4
S5
S6
S1
S2
S3
S4
S5
S6
位址
資料
存取外部記憶體
(d) MOVX 指令 ( 1 位元組,2 機械週期指令)
6
2.4 系统重置
時脈輸入
MCS-51
X2 X1 VSS
MCS-51
空接 時脈輸入
. . X2
時脈輸入
MCS-51
X1 X2 VSS
X1 VSS
(a) 僅 HMOS 版
(b) 僅 CHMOS 版
(c) HMOS 或 CHMOS 版
3
2.1 接脚说明
埠3特殊功能
表2-1 埠腳
P3.0 P3.1 P3.2 P3.3
埠 3 之特殊功能 埠腳
16
2.8 特殊功能缓存器(SFR)
特殊功能缓存器(SFR)
R AM 位址
0xF8 0xF0 0xE8 0xE0 0xD8 0xD0 0xC8 0xC0 0xB8 0xB0 0xA8 0xA0 0x98 0x90 0x88 0x80 PCON TH1 TH0 TL1 TL0 TMOD SP SBUF IP P3 IE P2 SCON P1 TCON P0
重置設定值
7
2.4 系统重置
SFR 暫存器
IP (8051) IP (8052) IE (8051) IE (8052) TMOD TCON TH0 TL0 TH1 TL1 TH2 (8052) TL2 (8052) RCAP2H (8052) RCAP2L (8052) T2CON (8052) SCON SBUF PCON(HMOS) PCON(CHMOS) 0xB8 0xB8 0xA8 0xA8 0x89 0x88 0x8C 0x8A 0x8D 0x8B 0xCD 0xCC 0xCB 0xCA 0xC8 0x98 0x99 0x87 0x87
第二章 系统分析
2.1 接脚说明 2.2 内部结构方块图 2.3 系统时序 2.4 系统重置 2.5 程序计数器(PC) 2.6 程序内存(ROM) 2.7 数据存储器(RAM) 2.8 特殊功能缓存(SFR) 2.9 输入/输出(I/O)埠 2.10 中断(Interrupt) 2.11 计时/计数器0,1 2.12 计时/计数器2 2.13 串行埠 2.14 省电模式
13
2.7 数据存储器(RAM)
可位寻址区
表2-1 R AM 位址
0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28
可位元定址區 5
5 13 21 29 37 45 53 61 69
7
7 15 23 31 39 47 55 63 71
6
6 14 22 30 38 46 54 62 70
P3.4 P3.5 P3.6 P3.7
功能
RXD(串列埠輸入腳) TXD(串列埠輸出腳)
功能
T0(計數器 0 外部時脈輸入腳) T1(計數器 1 外部時脈輸入腳)
INT0 (外部中斷 0 輸入腳) INT1 (外部中斷 1 輸入腳)
WR (外部資料記憶體寫入信號)
RD (外部資料記憶體讀取信號)
4
2.2 内部结构方块图
0xFF
一般用途區
0x00
(a) 內部資料記憶體
(b) 0x00~0x7F RAM 區
12
2.7 数据存储器(RAM)
缓存器库区
表2-1 R S1 (P SW.4)
0 0 1 1
暫存器庫選擇 暫存器庫
0 1 2 3
R S0 (P SW.3)
0 1 0 1
暫存器
R0 ~ R7 R0 ~ R7 R0 ~ R7 R0 ~ R7
MCS-51 程式記憶體的 7 個特殊用途位址 位址
0x0000 0x0003 0x000B 0x0013 0x001B 0x0023 0x002B
10
2.6 程序内存(ROM)
程序内存主要用途是储存程序代码 在MCS-51单芯片中的程序内存内有7个特殊用途的地址 /EA=1时,使用内部程序内存,8051有4KB,8052有8KB /EA=0时,使用外部程序内存,最大64KB
3
B.3 ACC.3 RS0 EXEN2 PT1 P3.3 ET1 P2.3 TB8 P1.3 IE1 P0.3
2
B.2 ACC.2 OV TR2 PX1 P3.2 EX1 P2.2 RB8 P1.2 IT1 P0.2
1
B.1 ACC.1 ? C_T2 PT0 P3.1 ET0 P2.1 TI P1.1 IE0 P0.1
3
75 83 91 99 107 115 123
2
74 82 90 98 106 114 122
1
73 81 89 97 105 113 121
0
72 80 88 96 104 112 120
15
2.7 数据存储器(RAM)
一般用途区
一般用途区地址在0x30 ~0x7F(8051版)或0x30 ~ 0xFF(8052版) 只能以字节寻址使用 地址0x30~0x7F可以使用直接寻址或间接寻址存取内存内容 地址0x80~0xFF必须使用间接寻址存取内存内容
表 2-5 R AM 位址
0x29 0x2A 0x2B 0x2C 0x2D 0x2E 0x2F
可位元定址區(續) 5
77 85 93 101 109 117 125
7
79 87 95 103 111 119 127
6
78 86 94 102 110 118 126
4
76 84 92 100 108 116 124
MCS-51
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0
( (A15) (A14) (A13) (A12) (A11) (A10) (A9) (A8)
圖 2-1
MCS-51 接腳圖
2
2.1 接脚说明
内部频率接线
MCS-51
C1
X1
C2
X2 VSS
外部频率接线
系统时序
S1
X2 振盪 ALE 讀 取 指令碼 讀下一 指令碼 (捨 棄) 讀下一 指令碼
S2 S3 S4 S5 S6 S1 S2
S3 S4 S5 S6
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
S1
S2
S3
S4
S5
S6
(a) 1 位元組,1 機械週期指令,如 INC A
讀 取 指令碼 讀 取 第 二 位元組 讀下一 指令碼
S1
S2
S3
S4
S5
S6
(b) 2 位元組,1 機械週期指令,如 ADD A,#data
讀 取 指令碼 讀取下一指令碼 (捨棄) 讀下一 指令碼
S1
S2
S3
S4
S5
S6
S1
S2
S3
程序内存
程序内存主要用途是储存程序代码 在MCS-51单芯片中的程序内存内有7个特殊用途的地址 /EA=1时,使用内部程序内存,8051有4KB,8052有8KB /EA=0时,使用外部程序内存,最大64KB
表2-1 中斷源
重置 ( RESET ) 外部中斷 0 ( INT 0) 計時 / 計數器 0 中斷 外部中斷 1 ( INT1) 計時 / 計數器 1 中斷 串列埠中斷 計時 / 計數器 2 中斷 (僅 8052 有)
内部结构方块图
X1 X2 T0 T1 (T2)
時序電路
4KB(8KB) 程式記憶體
128(256)Bytes
資料記憶體
計時/計數器
8051 CPU
中斷控制
控制信號
輸入/輸出 I/O
串列埠
INT0
INT1
EA ALE PSEN
P0 P1 P2 P3
RXD
TXD
8051(8052)內部結構方塊圖
5
2.3 系统时序
6
B.6 ACC.6 AC EXF2 ? P3.6 ? P2.6 SM1 P1.6 TR1 P0.6
5
B.5 ACC.5 F0 RCLK PT2 P3.5 ET2 P2.5 SM2 P1.5 TF0 P0.5
4
B.4 ACC.4 RS1 TCLK PS P3.4 ES P2.4 REN P1.4 TR0 P0.4
0xFF 間接定址 RAM區 0x80 0x7F 直接定址 或 間接定址 RAM區 直接定址 SFR區 0x80
0x30 0x2F 可位元定址區 0x20 0x1F 0x18 0x17 0x10 0x0F 0x08 0x07 0x00
暫存器庫BANK3 暫存器庫BANK2 暫存器庫BANK1 暫存器庫BANK0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 VCC 39 P0.0 (AD0) 38 P0.1 (AD1) 37 P0.2 (AD2) 36 P0.3 (AD3) 35 P0.4 (AD4) 34 P0.5 (AD5) 33 P0.6 (AD6) 32 P0.7 (AD7) 31 EA / VPP 30 ALE / PROG 29 PSEN 28 27 26 25 24 23 22 21