首页 单片机结构存储器结构

单片机结构存储器结构

举报
开通vip

单片机结构存储器结构 专用寄存器组 专用寄存器组主要用来指示当前要执行指令的内存地址、存放操作数和指示指令执行后的状态等。 专用寄存器组主要包括以下专用寄存器: 1)程序计数器PC(ProgramCounter) PC是二进制16位的程序地址寄存器,用来存放下一条需要执行指令的地址,能自动加1。 单片机复位后PC内容为0000H 2)累加器ACC(Accumulator) 二进制8位寄存器,专门用来存放操作数或运算结果。 MOVA,#03H;A3 ADDA,#05H;AA+05H 3)通用寄存器B(GeneralPurposeRe...

单片机结构存储器结构
专用寄存器组 专用寄存器组主要用来指示当前要执行指令的内存地址、存放操作数和指示指令执行后的状态等。 专用寄存器组主要包括以下专用寄存器: 1)程序计数器PC(ProgramCounter) PC是二进制16位的程序地址寄存器,用来存放下一条需要执行指令的地址,能自动加1。 单片机复位后PC内容为0000H 2)累加器ACC(Accumulator) 二进制8位寄存器,专门用来存放操作数或运算结果。 MOVA,#03H;A3 ADDA,#05H;AA+05H 3)通用寄存器B(GeneralPurposeRegister) 二进制8位寄存器,专用于乘法和除法,乘除运算前,用于存放乘数或除数,运算后用于存入乘积的高八位或除法的余数。MOVA,#05H;A5MOVB,#03H;B3MULA,B;BAAxB=5*3 4)程序状态字PSW(ProgramStatusWord) PSW用来存放指令执行后的有关状态 (1)Cy:进位标志位,表示加减运算过程中最高位A7(ACC最高位)有无进位或借位。 (2)AC:辅助进位位,用于表示加减运算过程中低4位有无向高4位(即A4)进位或借位。 (3)F0:用户标志位,由用户确定。 (4)RS1和RS0:工作寄存器组(R0-R7)选择,用户通过改变RS1和RS0的状态来决定工作寄存器的实际物理地址。 主要用于保护R0-R7中的数据,多用于中断服务程序。 (5)OV:溢出标志,指示运算过程中是否发生了溢出。 (6)P:奇偶标志位,用于指示运算结果中1的个数 例:F0=0,RS1=0,RS0=0,执行下面指令后,PSW=?MOVA,#0FH;ADDA,#0F8H; OV确定方法:OV=OV=CPCS=11=0 PSW=C1H 5)堆栈指针SP(stackpointer) 8位寄存器,能自动加1或减1,专门用于存放堆栈的栈顶地址。 堆栈是一种能按“先进后出”或“后进先出”规律存取数据的RAM区域(P16),主要用于子程序和中断服务程序中保护现场。例:下面指令设定了栈底地址70HMOVSP,#70H 6)数据指针DPTR 16位寄存器,可以用来存入片内ROM的地址,也可以用来存放片外RAM或片外ROM的地址.例:设片外RAM的2000H单元中有一个数x,若要把它取入累加器A中。MOVDPTR,#2000H;DPTR2000HMOVXA,@DPTR;Ax五、MCS—51单片机存储器及存储空间 1MCS—51单片机存储器分类及配置 MCS—51单片机存储器的分类从物理结构上可分为:片内、片外程序存储器(8031和8032没有片内程序存储器)与片内、片外数据存储器4个部分;从寻址空间分布可分为:程序存储器、内部数据存储器和外部数据存储器3大部分;从功能上可分为:程序存储器、内部数据存储器、特殊功能寄存器、位地址空间和外部数据存储器5大部分。 片内、片外程序存储器和数据存储器各自总容量为64KB。 2MCS51单片机的存储空间 64KB的外部ROM地址空间 64KB的外部RAM地址空间 4KB的片内ROM(8051) 128B片内RAM 特殊功能寄存器MCS—51单片机存储器空间结构图(a)程序存储器;(b)内部数据存储器;(c)外部数据存储器 3程序存储器 1.程序存储器的编址 计算机的工作是按照事先编制好的程序命令一条条循序执行的,程序存储器就是用来存放这些已编好的程序和表格常数,它由只读存储器ROM或EPROM组成。 2.程序运行的入口地址 实际应用时,程序存储器的容量由用户根据需要扩展,而程序地址空间原则上也可由用户任意安排。但程序最初运行的入口地址,MCS—51单片机是固定的,用户不能更改。程序存储器中有复位和中断源共7个固定的入口地址。MCS—51单片机复位、中断入口地址 单片机复位后程序计数器PC的内容为0000H,故必须从0000H单元开始取指令来执行程序。0000H单元是系统的起始地址,一般在该单元存放一条无条件转移指令,用户 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的程序是从转移后的地址开始存放执行的。 可以用MOVC指令访问程序存储器(ROM),使用PSEN信号选通片外ROM。 单片机EA引脚接地,从片内ROM取指,接+5V,则从片内ROM取指。 访问程序存储器一定用16位地址。 4内部数据存储器  1.内部数据存储器的编址 MCS—51系列单片机的内部数据存储器由读写存储器RAM组成,用于存储数据。它由RAM块和特殊功能寄存器(SFR)块组成。 2.内部数据存储器RAM块 内部数据存储器RAM块共分为工作寄存器区、位寻址区和数据缓冲区3个部分。 1)工作寄存器区 内部RAM块的00H~1FH区,共分4个组,每组有8个工作寄存器R0~R7,共32个内部RAM单元。工作寄存器和RAM地址对照表工作寄存器共有4组,但程序每次只用1组,其它各组不工作。哪1组寄存器工作由程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择,其对应关系如表2―6所示。CPU通过软件修改PSW中RS0和RS1两位的状态,就可任选一个工作寄存器工作,这个特点使MCS—51单片机具有快速现场保护功能,对于提高程序的效率和响应中断的速度是很有利的。若程序中并不要4个工作寄存器组,那么剩下的工作寄存器组所对应的单元也可以作为一般的数据缓冲区使用。 2)位寻址区 20H~2FH单元为位寻址区,这16个单元(共计128位)的每1位都有一个8位表示的位地址,位地址范围为00H~7FH。位寻址区的每1位都可当作软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志,位控制变量存于位寻址区内。同样,位寻址的RAM单元也可以按字节操作作为一般的数据缓冲 内部RAM中位地址表 3)数据缓冲区 用于存放运算数据和结果。 30H~7FH是数据缓冲区,也即用户RAM区,共80个单元,还包括不使用的可以位寻址的字节和不使用的工作寄存器区都可以作用数据缓冲区。 4)堆栈与堆栈指针 堆栈是在片内RAM中临时开辟的暂存区,堆栈主要是为子程序调用和中断操作而设立的。其具体功能有两种:保护现场和保护断点。 MCS—51单片机堆栈区不是固定的,原则上可设在内部RAM的任意区域内,但为了避开工作寄存器区和位寻址区,一般设在30H以后的范围内,栈顶的位置由专门设置的堆栈指针寄存器SP(8位)指出。MCS—51单片机的堆栈属向上生长型,如左图所示。 堆栈用堆栈指针SP指示栈顶地址。 堆栈的数据存放是后进先出,或先进后出。 堆栈有两种操作,即进栈和出栈操作,两者都是对堆栈的栈顶单元进行的。 进栈操作:先SP+1,再写入数据 出栈操作:先从SP指示的单元读出数据,再SP-1。 3.特殊功能寄存器SFR块 特殊功能寄存器SFR,又称为专用寄存器。它专用于控制、管理单片机内算术逻辑部件、并行I/O口锁存器、串行口数据缓冲器、定时器/计数器、中断系统等功能模块的工作,SFR的地址空间为80H~FFH。 8051的SFR有18个占21个字节;其中3个双字节寄存器,它们是DPTR,T0,T1; SFR的地址可以被8整除的可以使用位寻址,共11个字节。 80H~FFH之间的地址,除SFR外,其余地址无效。 注意SFR都有复位值,因此凡用到的SFR,在单片机复位后应重新赋值。 8052还有3个SFR,占5个单元。 程序计数器PC不是SFR。特殊功能寄存器名称、标识符、地址一览表 4.位寻址空间 在MCS—51单片机的内部数据寄存器RAM块和特殊功能寄存器SFR块中,有一部分地址空间可以按位寻址,按位寻址的地址空间又称之为位寻址空间。位寻址空间一部分在内部RAM的20H~2FH的16个字节内,共128位;另一部分在SFR的80H~FFH空间内,凡字节地址能被8整除的专用寄存器都有位地址,共93位。因此,MCS—51系列单片机共有221个可寻址位。
本文档为【单片机结构存储器结构】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
xiaowu0912
多年轨道交通运输经验
格式:ppt
大小:943KB
软件:PowerPoint
页数:0
分类:
上传时间:2019-01-01
浏览量:14