23 存储器配置 49.docx
- 文档编号:7785242
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:17
- 大小:25.86KB
23 存储器配置 49.docx
《23 存储器配置 49.docx》由会员分享,可在线阅读,更多相关《23 存储器配置 49.docx(17页珍藏版)》请在冰豆网上搜索。
23存储器配置49
存储器配置
哈佛结构MCS-51单片机
程序存储器和数据存储器分开设计。
普林斯顿结构微机
只有一个地址空间,程序和数据可以随意安排在这一地址范围内不同的空间。
程序存储器(ROM)
指令、常数掉电不失
数据存储器(RAM)
数据可用程序改写
在单片机内部,程序存储器和数据存储器存贮器是分开制造的。
通常,程序存储器的容量较大,数据存储器的容量较小,这是单片机用作控制的一大特点。
程序存储器
数据存储器
片内
4KB
128B
片外
64KB
64KB
物理上有4个存储空间
片内程序存储器
片外程序存储器
片内数据存储器
片外数据存储器
逻辑上有3个存储空间
片内外统一编址的程序存储器
MOVC
片内数据存储器
MOV
片外数据存储器
MOVX
图存储器配置
程序存储器
输入引脚
=0访问片外程序存储器
=1访问片内程序存储器
程序计数器PC
16位程序地址寄存器,专门用来存放下一条需要执行指令的地址,能自动加1。
PC指示程序执行的位置
PC中存放的是程序存储器的地址
PC中存放下一条将要执行的指令的地址
复位后PC=0000H
寻址范围:
0000H~0FFFFH
64KB65536B
入口地址
入口地址
复位
0000H
0003H
T0
000BH
0013H
T1
001BH
串行口
0023H
T2
002BH
通常,在入口地址处写一条跳转指令,跳转至服务程序。
0000H
LJMP0030H
0003H
LJMP1000H
┇
000BH
LJMP2000H
┇
0030H
主程序
┇
1000H
INT0中断服务程序
┇
RETI
2000H
T0中断服务程序
MOVC
常数
MOVC指令
MOVDPTR,#2000H
MOVA,#08H
MOVCA,@A+DPTR
片外数据存储器
最大64KB
0000H~0FFFFH
只可用MOVX指令
间接寻址方式访问
读:
MOVDPTR,#2008H
MOVXA,@DPTR
写:
MOVA,#12H
MOVDPTR,#2008H
MOVX@DPTR,A
片外数据存储器与片外I/O设备统一编址
(如A/D、D/A、I/O芯片等)
片内数据存储器(低128B)
地址范围:
00H~7FH
图
通用数据区(30H~7FH)
80个字节
用于存放的用户数据或作堆栈区使用。
读:
MOVA,30H;直接寻址
MOVR0,#30H
MOVA,@R0;间接寻址
INCR0
写:
MOVA,#12H
MOV30H,A
位寻址区(20H~2FH)
16个字节
即可按字节寻址,又可按位寻址
8×16=128位
用途:
开关决策、逻辑电路仿真、实时控制
位地址空间:
00H~7FH
位操作指令:
SETB
CLR
CPL
JB
JNB
2FH字节的位地址:
D7
D0
7FH
7EH
7DH
7CH
7BH
7AH
79H
78H
将2FH字节的最高位置“1”
不能影响其它位
SETB7FH
ORL2FH,#10000000B
MOV2FH,#10000000B
最高位清“0”
CLR7FH
ANL2FH,#01111111B
若2FH字节的最高位为“1”,
则跳转到LED_ON
JB7FH,LED_ON
若2FH字节的最高位为“0”,
则跳转到LED_OFF
JNB7FH,LED_OFF
工作寄存器区(00H~1FH)
32个字节
4个工作寄存器组
每组8个工作寄存器
R0~R7
由RS1、RS0两位决定目前使用哪组工作寄存器
RS1
RS0
组号
0
0
0
0
1
1
1
0
2
1
1
3
方便快速保护现场
主程序(0组)
MOVR0,#12H;(00H)←12H
(程序中断)
INCR0
中断服务程序(2组)
PUSHPSW
SETBRS1
CLRRS0;bank2
MOVR0,#34H;(10H)←34H
┇
POPPSW
RETI
工作寄存器的功能:
MOVR0,#30H
MOVA,@R0;间接寻址
寄存器与存储器的区别:
存储器:
容量大速度慢有地址
寄存器:
容量小速度快有名字
MCS-51
统一编址
速度一致
MOVA,R0;1byte
MOVA,00H;2bytes
片内数据存储器(高128B)
地址范围:
80H~0FFH
仅52子系列有
只可用间接寻址方式访问
MOVR0,#80H
MOVA,@R0;间接寻址
MOVA,80H;直接寻址SFR
特殊功能寄存器(SFR)
地址范围:
80H~0FFH
只可用直接寻址方式访问
21个51子系列
26个52子系列
离散分布
控制、管理各个功能模块(中断、定时器、串行口……)
控制寄存器
状态寄存器
数据寄存器
符号
寄存器名称
地址
ACC
累加器
0E0H
B
B寄存器
0F0H
PSW
程序状态字
0D0H
SP
堆栈指针
81H
DPL
数据指针低8位
82H
DPH
数据指针高8位
83H
P0
P0口寄存器
80H
P1
P1口寄存器
90H
P2
P2口寄存器
0A0H
P3
P3口寄存器
0B0H
IE
中断允许控制寄存器
0A8H
IP
中断优先控制寄存器
0B8H
TMOD
定时器方式选择寄存器
89H
TCON
定时器控制寄存器
88H
TL0
定时器0低8位
8AH
TH0
定时器0高8位
8CH
TL1
定时器1低8位
8BH
TH1
定时器1高8位
8DH
SCON
串行口控制寄存器
98H
SBUF
串行数据缓冲寄存器
99H
PCON
电源控制及波特率选择寄存器
87H
累加器ACC
(Accumulator)
具有特殊用途的8位寄存器
专门用来存放操作数或运算结果
3+5=?
MOVA,#3;A=3
ADDA,#5;A=3+5
通用寄存器B
(GeneralPurposeRegister)
8位
专门为乘法和除法设置的寄存器
3×5=?
MOVA,#3;A=3
MOVB,#5;B=5
MULAB;BA←A×B
程序状态字PSW
(ProgramStatusWord)
8位标志寄存器
用来存放指令执行后的有关状态
可按位寻址
D7
D0
CY
AC
F0
RS1
RS0
OV
-
P
CY进位标志位
OV溢出标志位
AC半进位位(辅助进位位)
二进制加法无符号数有符号数
11111111255-1
+)00000001+)1+)1
11111111
000000002560
CY=1最高进位位(进位标志位)
(无符号数运算溢出标志位)
CS=1次高进位位
AC=1半进位位(辅助进位位)
(用于BCD码调整)
OV=0溢出标志位=CY
CS
(有符号数运算溢出标志位)
F0用户位
RS1、RS0工作寄存器组
选择控制位
P奇偶标志位
偶校验
串行通信差错控制
注意标志位(状态位)和控制位区别
标志位(状态位)指示灯
由硬件系统根据运行状态自动置“1”或清“0”,供用户通过指令查询、判断,决定程序的执行顺序。
CY、AC、OV、P
控制位开关
由用户通过指令置“1”或清“0”,以控制相应的硬件功能模块。
RS0、RS1
TR1
TR0
写
读
标志位
硬件
软件
控制位
软件
硬件
写控制位:
SETBRS1;RS1=1
CLRRS0;RS0=0
判断标志位:
JBOV,Overflow
;若OV=1则跳转到Overflow
JNBOV,NOT_Overflow
;若OV=0则跳转到NOT_Overflow
堆栈指针SP
(StackPointer)
8位寄存器
专门用来存放堆栈的栈顶地址
能自动加1和减1
堆栈是一种按“后进先出”规律存取数据的存储区域
处理中断、子程序调用
栈区:
片内RAM低128B
不可对任意地址操作
堆栈的操作
压栈(入栈)PUSH
弹栈(出栈)POP
SP先加一,再入栈(向上生成)
复位后SP=07H
修改到SP=2FH
MOVSP,#2FH
数据指针DPTR
(DataPointer)
16位寄存器
由两个8位寄存器DPH和DPL拼装而成
用来存放16位地址。
用于访问程序存储器和片外数据存储器
访问程序存储器
MOVDPTR,#2000H
MOVA,#08H
MOVCA,@A+DPTR
访问片外数据存储器
MOVDPTR,#2008H
MOVXA,@DPTR
MOVA,#12H
MOVDPTR,#2008H
MOVX@DPTR,A
端口P0~P3
寄存器
端口
端口字节单元P1
引脚位P1.0
输出锁存、输入缓冲
MOVP1,#12H
MOVA,#12H
SETBP1.0
SETBACC.0
字节地址可被8整除的寄存器可按位寻址
最低位位地址与字节地址相同
可按位寻址的寄存器:
ABPSW
P0~P3……
不可按位寻址的寄存器:
SPDPTR……
图
地址的重叠与区分
片内程序存储器vs片外程序存储器
片外程序存储器
=0
片内程序存储器
=1
输入引脚
SETBEA
程序存储器vs片内数据存储器
vs片外数据存储器
程序存储器
MOVC
片内数据存储器
MOV
片外数据存储器
MOVX
例:
访问程序存储器
MOVDPTR,#0030H
MOVA,#0
MOVCA,@A+DPTR
MOVCA,0030H
访问片外数据存储器
MOVDPTR,#0030H
MOVXA,@DPTR
MOVXA,0030H
访问片内数据存储器
MOVR0,#30H
MOVA,@R0
or
MOVA,30H
片内数据存储器高128BvsSFR
高128B间接寻址方式
MOVR0,#80H
MOVA,@R0
SFR直接寻址方式
MOVA,P0
or
MOVA,80H
字节地址vs位地址
字节地址字节指令
INC30H
MOVA,30H
位地址位指令
CPL30H
MOVC,30H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 23 存储器配置 49 存储器 配置