收藏 分享(赏)

单片机结构-存储器结构PPT课件..ppt

上传人:Facebook 文档编号:3836232 上传时间:2018-11-20 格式:PPT 页数:26 大小:825KB
下载 相关 举报
单片机结构-存储器结构PPT课件..ppt_第1页
第1页 / 共26页
单片机结构-存储器结构PPT课件..ppt_第2页
第2页 / 共26页
单片机结构-存储器结构PPT课件..ppt_第3页
第3页 / 共26页
单片机结构-存储器结构PPT课件..ppt_第4页
第4页 / 共26页
单片机结构-存储器结构PPT课件..ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、单片机内部结构及最小系统,专用寄存器组 专用寄存器组主要用来指示当前要执行指令的内存地址、存放操作数和指示指令执行后的状态等。 专用寄存器组主要包括以下专用寄存器: 1)程序计数器PC(Program Counter) PC是二进制16位的程序地址寄存器,用来存放下一条需要执行指令的地址,能自动加1。 单片机复位后PC内容为0000H 2)累加器ACC(Accumulator) 二进制8位寄存器,专门用来存放操作数或运算结果。 MOV A, #03H ; A3 ADD A, #05H ; AA+05H,3)通用寄存器B(General Purpose Register) 二进制8位寄存器,专用

2、于乘法和除法,乘除运算前,用于存放乘数或除数,运算后用于存入乘积的高八位或除法的余数。 MOV A, #05H ; A5MOV B, #03H ; B3MUL A,B ; BAAxB=5*3,4)程序状态字PSW(Program Status Word) PSW用来存放指令执行后的有关状态(1)Cy:进位标志位,表示加减运算过程中最高位A7(ACC最高位)有无进位或借位。 (2)AC:辅助进位位,用于表示加减运算过程中低4位有无向高4位(即A4)进位或借位。 (3)F0:用户标志位,由用户确定。 (4)RS1和RS0:工作寄存器组(R0-R7)选择,用户通过改变RS1和RS0的状态来决定工作寄

3、存器的实际物理地址。 主要用于保护R0-R7中的数据,多用于中断服务程序。,(5)OV:溢出标志,指示运算过程中是否发生了溢出。 (6)P:奇偶标志位,用于指示运算结果中1的个数 例:F0=0,RS1=0,RS0=0,执行下面指令后,PSW=?MOV A, #0FH ; ADD A,#0F8H ; OV确定方法:OV=OV=CPCS=11=0 PSW=C1H,5)堆栈指针SP(stack pointer) 8位寄存器,能自动加1或减1,专门用于存放堆栈的栈顶地址。 堆栈是一种能按“先进后出”或“后进先出”规律存取数据的RAM区域(P16),主要用于子程序和中断服务程序中保护现场。 例:下面指令

4、设定了栈底地址70H MOV SP, #70H,6)数据指针DPTR 16位寄存器,可以用来存入片内ROM的地址,也可以用来存放片外RAM或片外ROM的地址. 例:设片外RAM的2000H单元中有一个数x,若要把它取入累加器A中。MOV DPTR ,#2000H ;DPTR2000HMOVX A,DPTR ; Ax,五、 MCS51单片机存储器及存储空间,1 MCS51单片机存储器分类及配置MCS51单片机存储器的分类从物理结构上可分为: 片内、片外程序存储器(8031和8032没有片内程序存储器)与片内、片外数据存储器4个部分; 从寻址空间分布可分为: 程序存储器、内部数据存储器和外部数据存

5、储器3大部分; 从功能上可分为: 程序存储器、 内部数据存储器、 特殊功能寄存器、位地址空间和外部数据存储器5大部分。 片内、 片外程序存储器和数据存储器各自总容量为64 KB。,2 MCS51单片机的存储空间 64KB的外部ROM地址空间 64KB的外部RAM地址空间 4KB的片内ROM(8051) 128B片内RAM 特殊功能寄存器,MCS51单片机存储器空间结构图 (a) 程序存储器; (b) 内部数据存储器; (c) 外部数据存储器,3 程序存储器 1. 程序存储器的编址 计算机的工作是按照事先编制好的程序命令一条条循序执行的, 程序存储器就是用来存放这些已编好的程序和表格常数, 它由

6、只读存储器ROM或EPROM组成。 2. 程序运行的入口地址 实际应用时, 程序存储器的容量由用户根据需要扩展, 而程序地址空间原则上也可由用户任意安排。 但程序最初运行的入口地址, MCS51单片机是固定的, 用户不能更改。 程序存储器中有复位和中断源共7个固定的入口地址。,MCS51单片机复位、 中断入口地址,单片机复位后程序计数器PC的内容为0000H, 故必须从0000H单元开始取指令来执行程序。 0000H单元是系统的起始地址, 一般在该单元存放一条无条件转移指令, 用户设计的程序是从转移后的地址开始存放执行的。 可以用MOVC指令访问程序存储器(ROM),使用PSEN信号选通片外R

7、OM。 单片机EA引脚接地,从片内ROM取指,接+5V,则从片内ROM取指。 访问程序存储器一定用16位地址。,4 内部数据存储器 1. 内部数据存储器的编址 MCS51系列单片机的内部数据存储器由读写存储器RAM组成, 用于存储数据。 它由RAM块和特殊功能寄存器(SFR)块组成。 2. 内部数据存储器RAM块 内部数据存储器RAM块共分为工作寄存器区、 位寻址区和数据缓冲区3个部分。 1) 工作寄存器区 内部RAM块的00H1FH区, 共分4个组, 每组有8个工作寄存器R0R7, 共32个内部RAM单元。,工作寄存器和RAM地址对照表,工作寄存器共有4组, 但程序每次只用1组, 其它各组不

8、工作。 哪1组寄存器工作由程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择, 其对应关系如表26所示。 CPU通过软件修改PSW中RS0和RS1两位的状态, 就可任选一个工作寄存器工作, 这个特点使MCS51单片机具有快速现场保护功能, 对于提高程序的效率和响应中断的速度是很有利的。 若程序中并不要4个工作寄存器组, 那么剩下的工作寄存器组所对应的单元也可以作为一般的数据缓冲区使用。,2) 位寻址区 20H2FH单元为位寻址区, 这16个单元(共计128位)的每1位都有一个8位表示的位地址, 位地址范围为00H7FH。 位寻址区的每1位都可当作软件触发器, 由程序直接进

9、行位处理。 通常可以把各种程序状态标志, 位控制变量存于位寻址区内。 同样, 位寻址的RAM单元也可以按字节操作作为一般的数据缓冲,内部RAM中位地址表,3) 数据缓冲区 用于存放运算数据和结果。 30H7FH是数据缓冲区, 也即用户RAM区, 共80个单元,还包括不使用的可以位寻址的字节和不使用的工作寄存器区都可以作用数据缓冲区。,4)堆栈与堆栈指针 堆栈是在片内RAM中临时开辟的暂存区,堆栈主要是为子程序调用和中断操作而设立的。其具体功能有两种:保护现场和保护断点。 MCS51单片机堆栈区不是固定的, 原则上可设在内部RAM的任意区域内, 但为了避开工作寄存器区和位寻址区, 一般设在30H

10、以后的范围内, 栈顶的位置由专门设置的堆栈指针寄存器SP(8位)指出。 MCS51单片机的堆栈属向上生长型, 如左图所示。,堆栈用堆栈指针SP指示栈顶地址。 堆栈的数据存放是后进先出,或先进后出。 堆栈有两种操作,即进栈和出栈操作,两者都是对堆栈的栈顶单元进行的。 进栈操作:先SP+1,再写入数据 出栈操作:先从SP指示的单元读出数据,再SP-1。,3. 特殊功能寄存器SFR块 特殊功能寄存器SFR, 又称为专用寄存器。 它专用于控制、 管理单片机内算术逻辑部件、 并行I/O口锁存器、 串行口数据缓冲器、 定时器/计数器、 中断系统等功能模块的工作, SFR的地址空间为80HFFH。 8051

11、的SFR有18个 占21个字节;其中3个双字节寄存器,它们是DPTR,T0,T1; SFR的地址可以被8整除的可以使用位寻址,共11个字节。 80HFFH之间的地址,除SFR外,其余地址无效。 注意SFR都有复位值,因此凡用到的SFR,在单片机复位后应重新赋值。 8052还有3个SFR,占5个单元。 程序计数器PC不是SFR。,特殊功能寄存器名称、 标识符、 地址一览表,4. 位寻址空间 在MCS51单片机的内部数据寄存器RAM块和特殊功能寄存器SFR块中, 有一部分地址空间可以按位寻址, 按位寻址的地址空间又称之为位寻址空间。 位寻址空间一部分在内部RAM的20H2FH的16个字节内, 共128位; 另一部分在SFR的80HFFH空间内, 凡字节地址能被8整除的专用寄存器都有位地址, 共93位。 因此, MCS51系列单片机共有221个可寻址位。,4 外部数据存储器 MCS51单片机访问外部数据存储器可用1个特殊功能寄存器数据指针寄存器DPTR进行寻址。 由于DPTR为16位, 可寻址的范围可达64 KB, 所以扩展外部数据存储器的最大容量是64 KB。 MOVX指令访问片外RAM 用RD和WR信号读写片外RAM,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报