存储器配置[].doc
文本预览下载声明
存储器配置
哈佛结构 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
64KB 65536B
入口地址
入口地址 复位 0000H 0003H T0 000BH 0013H T1 001BH 串行口 0023H T2 002BH
通常,在入口地址处写一条跳转指令,跳转至服务程序。
0000H LJMP 0030H 0003H LJMP 1000H ┇ 000BH LJMP 2000H ┇ 0030H 主程序 ┇ 1000H INT0中断服务程序 ┇ RETI 2000H T0中断服务程序
MOVC
常数
MOVC指令
MOV DPTR, #2000H
MOV A, #08H
MOVC A, @A+DPTR
片外数据存储器
最大64KB
0000H ~ 0FFFFH
只可用MOVX指令间接寻址方式访问
读:
MOV DPTR, #2008H
MOVX A, @DPTR
写:
MOV A, #12H
MOV DPTR, #2008H
MOVX @DPTR, A
片外数据存储器与片外I/O设备统一编址(如A/D、D/A、I/O芯片等)
片内数据存储器(低128B)
地址范围:00H ~ 7FH
图
通用数据区 (30H~7FH)
80个字节
用于存放的用户数据或作堆栈区使用。
读:
MOV A, 30H ;直接寻址
MOV R0, #30H
MOV A, @R0 ;间接寻址
INC R0
写:
MOV A, #12H
MOV 30H, 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”不能影响其它位
SETB 7FH
ORL 2FH,
MOV 2FH,
最高位清“0”
CLR 7FH
ANL 2FH,
若 2FH 字节的最高位为“1”,则跳转到LED_ON
JB 7FH, LED_ON
若 2FH 字节的最高位为“0”,则跳转到LED_OFF
JNB 7FH, 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组)
MOV R0, #12H ;(00H)←12H
(程序中断)
INC R0
显示全部