存储器配置49_第1页
存储器配置49_第2页
存储器配置49_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、存储器配置哈佛结构MCS-51单片机程序存储器和数据存储器分开设计。普林斯顿结构微机只有一个地址空间,程序和数据可以随意安排在这一地址范围内不同的空间。程序存储器(ROM)指令、常数掉电不失数据存储器(RAM)数据可用程序改写在单片机内部,程序存储器和数据存储器存贮器是分开制造的。通常,程序存储器的容量较大,数据存储器的容量较小,这是单片机用作控制的一大特点。程序存储器数据存储器片内4KB128B片外64KB64KB物理上有4个存储空间片内程序存储器片外程序存储器片内数据存储器片外数据存储器逻辑上有3个存储空间片内外统一编址的程序存储器MOVC片内数据存储器MOV片外数据存储器MOVX图存储器

2、配置程序存储器输入引脚=0访问片外程序存储器=1访问片内程序存储器程序计数器PC16位程序地址寄存器,专门用来存放下一条需要执行指令的地址,能自动加1。PC指示程序执行的位置PC中存放的是程序存储器的地址PC中存放下一条将要执行的指令的地址复位后PC=0000H寻址范围:0000H0FFFFH通常,在入口地址处写一条跳转指令,务程序。跳转至服LJMP0030HLJMP1000HLJMP2000H主程序INT0中断服务程序RETIT0中断服务程序0000H0003H000BH0030H1000H2000H64KB65536B入口地址入口地址复位0000H0003HT0000BH0013HT100

3、1BH串行口0023HT2002BHMOVC常数MOVC指令MOVDPTR,#2000HMOVA,#08HMOVCA,A+DPTR片外数据存储器最大64KB0000H0FFFFH只可用MOVX指令间接寻址方式访问读:MOVDPTR,#2008HMOVXA,DPTR写:MOVA,#12HMOVDPTR,#2008HMOVXDPTR,A片外数据存储器与片外I/O设备统一编址(如A/D、D/A、I/O芯片等)片内数据存储器(低128B)地址范围:00H7FH图通用数据区(30H7FH)80个字节用于存放的用户数据或作堆栈区使用。读:MOVA,30H;直接寻址MOVR0,#30HMOVA,R0;间接寻

4、址INCR0写:MOVA,#12HMOV30H,A位寻址区(20H2FH)16个字节即可按字节寻址,又可按位寻址8刈6=128位用途:开关决策、逻辑电路仿真、实时控制位地址空间:00H7FH位操作指令:SETBCLRCPLJBJNB2FH字节的位地址:D7D07FH7EH7DH7CH7BH7AH79H78H将2FH字节的最高位置“T不能影响其它位SETB7FHORL2FH,#10000000BMOV2FH,#10000000B最高位清“0”CLR7FHANL2FH,#01111111B若2FH字节的最高位为“1”,则跳转到LED_ONJB7FH,LED_ON若2FH字节的最高位为“0”,则跳转

5、到LED_OFFJNB7FH,LED_OFF工作寄存器区(00H1FH)32个字节4个工作寄存器组每组8个工作寄存器R0R7由RS1、RS0两位决定目前使用哪组工作寄存器RS1RS0组号000011102113方便快速保护现场主程序(0组)MOVR0,#12H;(00H)12H(程序中断)INCR0中断服务程序(2组)PUSHPSWSETBRS1CLRRS0;bank2MOVR0,#34H;(10H)34H11IPOPPSWRETI工作寄存器的功能:MOVR0,#30HMOVA,R0;间接寻址寄存器与存储器的区别:存储器:容量大速度慢有地址寄存器:容量小速度快有名字MCS-51统一编址速度一致

6、MOVA,R0;1byteMOVA,00H;2bytes片内数据存储器(高128B)地址范围:80H0FFH仅52子系列有只可用间接寻址方式访问MOVR0,#80HMOVA,R0;间接寻址MOVA,80H;直接寻址SFR特殊功能寄存器(SFR)地址范围:80H0FFH只可用直接寻址方式访问21个51子系列26个52子系列离散分布控制、管理各个功能模块(中断、定时器、串行口)控制寄存器状态寄存器数据寄存器符号寄存器名称地址ACC累加器0E0HBB寄存器0F0HPSW程序状态字0D0HSP堆栈指针81HDPL数据指针低8位82HDPH数据指针高8位83HP0P0口寄存器80HP1P1口寄存器90H

7、P2P2口寄存器0A0HP3P3口寄存器0B0HIE中断允许控制寄存器0A8HIP10B8HTMOD定时器方式选择寄存器89HTCON定时器控制寄存器88HTL0定时器0低8位8AHTH0定时器0高8位8CHTL1定时器1低8位8BHTH1定时器1高8位8DHSCON串行口控制寄存器98HSBUF串行数据缓冲寄存器99HPCON电源控制及波特率选择寄存器87H累加器ACC(Accumulator)具有特殊用途的8位寄存器专门用来存放操作数或运算结果3+5=?MOVA,#3;A=3ADDA,#5;A=3+5通用寄存器B(GeneralPurposeRegister)8位专门为乘法和除法设置的寄存

8、器3用=?MOVA,#3;A=3MOVB,#5;B=5MULAB;BAAXB程序状态字PSW(ProgramStatusWord)8位标志寄存器用来存放指令执行后的有关状态可按位寻址D7D0CYACF0RS1RS0OV-PCY进位标志位OV溢出标志位AC半进位位(辅助进位位)二进制加法无符号数有符号数11111111255-1+)0000000111111111+)1+)1000000002560CY=1最高进位位(进位标志位)(无符号数运算溢出标志位)CS=1次高进位位AC=1半进位位(辅助进位位)(用于BCD码调整)OV=0溢出标志位=CYOCS(有符号数运算溢出标志位)F0用户位RS1、

9、RS0工作寄存器组选择控制位P奇偶标志位偶校验串行通信差错控制注意标志位(状态位)和控制位区别标志位(状态位)指示灯由硬件系统根据运行状态自动置“T或清“0”,供用户通过指令查询、判断,决定程序的执行顺序。CY、AC、OV、P控制位开关由用户通过指令置“T或清“0”,以控制相应的硬件功能模块。RS0、RS1TR1TR0写读标志位硬件软件控制位软件硬件写控制位:SETBRS1;RS1=1CLRRS0;RS0=0判断标志位:JBOV,Overflow;若OV=1则跳转到OverflowJNBOV,NOT_Overflow;若OV=0则跳转到NOT_Overflow堆栈指针SP(StackPoint

10、er)8位寄存器专门用来存放堆栈的栈顶地址能自动加1和减1堆栈是一种按“后进先出”规律存取数据的存储区域处理中断、子程序调用栈区:片内RAM低128B不可对任意地址操作堆栈的操作压栈(入栈)PUSH弹栈(出栈)POPSP先加一,再入栈(向上生成)复位后SP=07H修改到SP=2FHMOVSP,#2FH数据指针DPTR(DataPointer)16位寄存器由两个8位寄存器DPH和DPL拼装而成用来存放16位地址。用于访问程序存储器和片外数据存储器访问程序存储器MOVDPTR,#2000HMOVA,#08HMOVCA,A+DPTR访问片外数据存储器MOVDPTR,#2008HMOVXA,DPTRM

11、OVA,#12HMOVDPTR,#2008HMOVXDPTR,A端口P0P3寄存器端口端口字节单元P1引脚位P1.0输出锁存、输入缓冲MOVP1,#12HMOVA,#12HSETBP1.0SETBACC.0字节地址可被8整除的寄存器可按位寻址最低位位地址与字节地址相同可按位寻址的寄存器:ABPSWP0P3不可按位寻址的寄存器:SPDPTR图地址的重叠与区分片内程序存储器VS片外程序存储器片外程序存储器=0片内程序存储器=1输入引脚EASETB程序存储器vs片内数据存储器vs片外数据存储器程序存储器MOVC片内数据存储器MOV片外数据存储器MOVX例:访问程序存储器MOVDPTR,#0030HMOVA,#0MOVCA,A+DPTRMOVCA,0030H访问片外数据存储器MOVDPTR,#0030HMOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论