--51单片机的工作原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DPTR 00H 00H
指令译码器
00H IR
地址锁存
P0
30F38FHH
P2 FF
00H
片内地址 锁存器
00H 000A 00H 0009 00H 0008 00H 0007 00H 0006 00H 0005
RAM XDATA
单片机的程序开发步骤
1 程序要求;列出要达到的目的 结果 2 程序框图;规划步骤及相互关系 3 编写程序;文本代码 使用文本编辑器 4 编译程序;生成机器码 编译工具 5 调试;执行代码并观察结果,如不满足要求修改
00H
片内地址寄存器
MOV A,#55H MOV DPTR,#0008H MOVX @DPTR,A
PC→ 74H 55H 90H 00H 08H 0E80HH 74H 33H
ROM
ACC
5050HH
DPTR
0000HH 0080HH
指令译码器 00H IR
片外地址锁存
P0
05F85FH
00H 000A
51单片机的工作原理
武洪涛
51单片机外形及引脚名称
P1.0 1
P1.1 2
P1.2 3
PP11..43
4 5
P1.5 6
P1.6 7 P1.7 8
RST/VPD 9
RXD/P3.0
10
TXD/P3.1
11
INT0/P3.2
12
INT1/P3.3
13
T0/P3.4
14
T1/P3.5
15
WR/P3.6
16
RD/P3.7
17
XTAL2 18
XTAL1
19
VSS
20
AT89C51
40 VCC
39 P0.0 38 P0.1 37 P0.2 36 P0.3 35 P0.4 34 P0.5
33 P0.6 32 P0.7
31 EA/Vpp
30 ALE/PROG
29 PSEN 28 P2.7
27 P2.6 26 P2.5 25 P2.4 24 P2.3
P2
00H 0009
FF
00H 0008
00H 0007
00H 0006
00H 0005
RAM XDATA
MOV A,#33H MOV P2,#00H MOV R0,#08H MOVX @R0,A
PC→ 74H 33H 75H A0H 00H 78H 08H F2H
ROM
ACC
3030HH
0008HH R0
文本代码,重复步骤3 4 调试工具,调试环境
6 下载;将机器码写到单片机中 编程器
程序入口 初始化
功能模块1 N
条件判断 Y
条件模块
主程序模式
程序结构
入口 功能
返回 子程序
入口 现百度文库保护
功能 恢复现场
返回 中断程序
指令格式
可执行指令(计算机执行的指令) 伪指令(编译器执行的指令) 标号:助记符 操作对象 ;注释项 标号以“:”结尾; 可省略,可单独成行 助记符以空格结尾; 操作对象有多个时用“,”分开 注释项以“;”开始; 可省略,可单独成行
程序举例
要求:在P1端口实现逻辑状态循环 设计思想:利用累加器A的循环功能,将结果通
MOV A,#33H 立即寻址 MOV A ,35H 直接寻址
ROM
累加器A
Z总线
PC → 74H 33H E5H 35H F5H 40H 74H 35H
通用寄存器R
指令译码器 00H
指令寄存器IR
RAM 23H 37H 24H 36H 25H 35H 27H 34H 26H 33H 25H 32H 27H 31H 33H 30H
00H
片内地址寄存器
MOV R0,#33H 立即寻找 MOV A ,@R0 寄存器间接寻址
ROM
累加器A
Z总线
PC → 78H 33H E6H 35H F5H 40H 74H 35H
通用寄存器R
33H
指令译码器 00H
指令寄存器IR
RAM 23H 37H 24H 36H 25H 35H 27H 34H 26H 33H 25H 32H 27H 31H 33H 30H
30H 2FH 20H 1FH
00H
通用 RAM区
位寻址区
工作寄 存器区
内部数据存储器
1000H
0000H 外部数据存储器
0FFFH 内部 0FFFH 外部
ROM
ROM
0000H (EA=1) 0000H (EA=0) 程序存储器
特殊功能寄存器名称及地址
符号 ACC B PSW SP DPL DPH IE IP P0 P1 P2
地址 E0H F0H D0H 81H 82H 83H A8H B8H 80H 90H A0H
名称 累加器 乘法寄存器 程序状态字 堆栈指针 数据指针低 数据指针高 中断允许 中断优先 端口0 端口1 端口2
符号 P3 PCON SCON SBUF TCON TMOD TL0 TH0 TL1 TH1
地址 B0H 87H 98H 99H 88H 98H 8AH 8BH 8CH 8DH
名称 端口3 电源控制 串口控制 串口 定时器控制 定时器模式 定时器0
定时器1
复位后的状态
堆栈指针SP=07H 端口P0,P1,P2,P3=FFH SBUF 值不定 其它特殊功能寄存器=00H
( PC=00H DPH=00H DPL=00H) 普通RAM 数值不定
单片机工作原理
节拍信号 CLK 节拍发生器
时序控制信号
FFFFH ROM
指令译码器 指令寄存器IR
程序指地针址PC PC=PC+1
程序代码
数据线 数据
地址线
0000H
寻址方式
把计算机寻址操作对象的方法叫作寻址。 51系列单片机有7种寻址方式; ROM: 立即寻址 ROM→A
变址寻址 ROM→A 相对寻址 转移指令汇编级不必考虑 RAM: 直接寻址 RAM→A 寄存器寻址 RAM→R 寄存器间接寻址(片内片外) RAM→A 位寻址 修改位状态 位→C
指令寄存器
存储当前程序代码8位
指令译码器
产生控制时序
51存储器结构
存储空间1
存储空间2
FFH
特 殊
功 能
F0H
FFFFH
E0H D0H B8H
特 殊 功 能
B0H 寄
外部 RAM
寄
A8H 存
存 器
A0H 器 98H 地 90H 址
(I/O口 地址)
88H
80H
80H
7FH
存储空间3
FFFFH
外部 ROM
23 P2.2 22 P2.1 21 P2.0
51单片机内部结构
数据总线 地址总线 控制总线
算数逻辑 运算单元
控制器
数据寄存器 输入 及特殊功能 输出
存储器 接口
外部 时钟及复位
程序 存储器
控制器
包括:地址计数器 PC 程序存储器地址16位
数据指针DPTR 片外RAM地址16位
片内地址锁存器 片内RAM地址8位
指令译码器
00H IR
地址锁存
P0
30F38FHH
P2 FF
00H
片内地址 锁存器
00H 000A 00H 0009 00H 0008 00H 0007 00H 0006 00H 0005
RAM XDATA
单片机的程序开发步骤
1 程序要求;列出要达到的目的 结果 2 程序框图;规划步骤及相互关系 3 编写程序;文本代码 使用文本编辑器 4 编译程序;生成机器码 编译工具 5 调试;执行代码并观察结果,如不满足要求修改
00H
片内地址寄存器
MOV A,#55H MOV DPTR,#0008H MOVX @DPTR,A
PC→ 74H 55H 90H 00H 08H 0E80HH 74H 33H
ROM
ACC
5050HH
DPTR
0000HH 0080HH
指令译码器 00H IR
片外地址锁存
P0
05F85FH
00H 000A
51单片机的工作原理
武洪涛
51单片机外形及引脚名称
P1.0 1
P1.1 2
P1.2 3
PP11..43
4 5
P1.5 6
P1.6 7 P1.7 8
RST/VPD 9
RXD/P3.0
10
TXD/P3.1
11
INT0/P3.2
12
INT1/P3.3
13
T0/P3.4
14
T1/P3.5
15
WR/P3.6
16
RD/P3.7
17
XTAL2 18
XTAL1
19
VSS
20
AT89C51
40 VCC
39 P0.0 38 P0.1 37 P0.2 36 P0.3 35 P0.4 34 P0.5
33 P0.6 32 P0.7
31 EA/Vpp
30 ALE/PROG
29 PSEN 28 P2.7
27 P2.6 26 P2.5 25 P2.4 24 P2.3
P2
00H 0009
FF
00H 0008
00H 0007
00H 0006
00H 0005
RAM XDATA
MOV A,#33H MOV P2,#00H MOV R0,#08H MOVX @R0,A
PC→ 74H 33H 75H A0H 00H 78H 08H F2H
ROM
ACC
3030HH
0008HH R0
文本代码,重复步骤3 4 调试工具,调试环境
6 下载;将机器码写到单片机中 编程器
程序入口 初始化
功能模块1 N
条件判断 Y
条件模块
主程序模式
程序结构
入口 功能
返回 子程序
入口 现百度文库保护
功能 恢复现场
返回 中断程序
指令格式
可执行指令(计算机执行的指令) 伪指令(编译器执行的指令) 标号:助记符 操作对象 ;注释项 标号以“:”结尾; 可省略,可单独成行 助记符以空格结尾; 操作对象有多个时用“,”分开 注释项以“;”开始; 可省略,可单独成行
程序举例
要求:在P1端口实现逻辑状态循环 设计思想:利用累加器A的循环功能,将结果通
MOV A,#33H 立即寻址 MOV A ,35H 直接寻址
ROM
累加器A
Z总线
PC → 74H 33H E5H 35H F5H 40H 74H 35H
通用寄存器R
指令译码器 00H
指令寄存器IR
RAM 23H 37H 24H 36H 25H 35H 27H 34H 26H 33H 25H 32H 27H 31H 33H 30H
00H
片内地址寄存器
MOV R0,#33H 立即寻找 MOV A ,@R0 寄存器间接寻址
ROM
累加器A
Z总线
PC → 78H 33H E6H 35H F5H 40H 74H 35H
通用寄存器R
33H
指令译码器 00H
指令寄存器IR
RAM 23H 37H 24H 36H 25H 35H 27H 34H 26H 33H 25H 32H 27H 31H 33H 30H
30H 2FH 20H 1FH
00H
通用 RAM区
位寻址区
工作寄 存器区
内部数据存储器
1000H
0000H 外部数据存储器
0FFFH 内部 0FFFH 外部
ROM
ROM
0000H (EA=1) 0000H (EA=0) 程序存储器
特殊功能寄存器名称及地址
符号 ACC B PSW SP DPL DPH IE IP P0 P1 P2
地址 E0H F0H D0H 81H 82H 83H A8H B8H 80H 90H A0H
名称 累加器 乘法寄存器 程序状态字 堆栈指针 数据指针低 数据指针高 中断允许 中断优先 端口0 端口1 端口2
符号 P3 PCON SCON SBUF TCON TMOD TL0 TH0 TL1 TH1
地址 B0H 87H 98H 99H 88H 98H 8AH 8BH 8CH 8DH
名称 端口3 电源控制 串口控制 串口 定时器控制 定时器模式 定时器0
定时器1
复位后的状态
堆栈指针SP=07H 端口P0,P1,P2,P3=FFH SBUF 值不定 其它特殊功能寄存器=00H
( PC=00H DPH=00H DPL=00H) 普通RAM 数值不定
单片机工作原理
节拍信号 CLK 节拍发生器
时序控制信号
FFFFH ROM
指令译码器 指令寄存器IR
程序指地针址PC PC=PC+1
程序代码
数据线 数据
地址线
0000H
寻址方式
把计算机寻址操作对象的方法叫作寻址。 51系列单片机有7种寻址方式; ROM: 立即寻址 ROM→A
变址寻址 ROM→A 相对寻址 转移指令汇编级不必考虑 RAM: 直接寻址 RAM→A 寄存器寻址 RAM→R 寄存器间接寻址(片内片外) RAM→A 位寻址 修改位状态 位→C
指令寄存器
存储当前程序代码8位
指令译码器
产生控制时序
51存储器结构
存储空间1
存储空间2
FFH
特 殊
功 能
F0H
FFFFH
E0H D0H B8H
特 殊 功 能
B0H 寄
外部 RAM
寄
A8H 存
存 器
A0H 器 98H 地 90H 址
(I/O口 地址)
88H
80H
80H
7FH
存储空间3
FFFFH
外部 ROM
23 P2.2 22 P2.1 21 P2.0
51单片机内部结构
数据总线 地址总线 控制总线
算数逻辑 运算单元
控制器
数据寄存器 输入 及特殊功能 输出
存储器 接口
外部 时钟及复位
程序 存储器
控制器
包括:地址计数器 PC 程序存储器地址16位
数据指针DPTR 片外RAM地址16位
片内地址锁存器 片内RAM地址8位