MCS-51存储器和布尔处理器(第3章).ppt

上传人:本田雅阁 文档编号:2103576 上传时间:2019-02-14 格式:PPT 页数:32 大小:381.51KB
返回 下载 相关 举报
MCS-51存储器和布尔处理器(第3章).ppt_第1页
第1页 / 共32页
MCS-51存储器和布尔处理器(第3章).ppt_第2页
第2页 / 共32页
MCS-51存储器和布尔处理器(第3章).ppt_第3页
第3页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《MCS-51存储器和布尔处理器(第3章).ppt》由会员分享,可在线阅读,更多相关《MCS-51存储器和布尔处理器(第3章).ppt(32页珍藏版)》请在三一文库上搜索。

1、2019/2/14,1,第三章 MCS-51存储器和布尔处理器,内存:存放当前执行的程序和数据,主机能直接访问,存取速度快,容量小。 外存:存放暂不执行的程序和数据,主机不能直接访问,存取速度慢,容量大。,存储器的功能是存储程序和数据。, 3.1 概述,3.1.1 存储器的分类,2019/2/14,2,RAM,存储器,双极型:由双极型晶体管构成,速度快、功耗大、集成度低、价格贵。,MOS型:由MOS管构成,速度比双极型RAM慢、功耗小、集成度高、价格便宜。按信息的存储方式分为:静态RAM和动态RAM及新出现的iRAM。,ROM,EEPROM,电擦除(擦除以Byte为单位)。,可擦写EPROM,

2、紫外线(一次全部)擦除,需专门的擦除设备。,掩膜ROM,出厂时已固化。,可编程PROM,用户一次固化。,FLASHROM,随机改写,速度快(擦除以Block为单位) 。,2019/2/14,3,EEPROM FLASHROM区别,FLASH集成度高,容量大,写入速度更快。 FLASH擦除以Block为单位; EEPROM擦除以Byte为单位,2019/2/14,4,3.1.2 8051的片内存储器,8051单片机与一般微机的存储器配置方式很不相同。 一般微机通常采用冯诺依曼结构,只有一个逻辑空间,可以随意安排ROM或RAM。访问存储器时,同一地址对应唯一的存储单元,可以是ROM也可以是RAM,

3、并用同类访问指令。 而MCS-51则不同:,2019/2/14,5,8051在物理结构上设计成程序存储器与数据存储器独立分开的哈佛结构: 片内程序存储器4KB(ROM 0000H0FFFH) 片内数据存储器128B(RAM 00H7FH),3.2 MCS-51的存储器结构,8051在物理结构上有四个存储空间: 片内程序存储器、片外程序存储器、 片内数据存储器、片外数据存储器。,2019/2/14,6,片外,片外,程序存储器,数据存储器,2019/2/14,7,8051在逻辑上,即从用户角度上8051有三个存储空间: 片内外统一编址的程序存储器 片内外不统一编址的数据存储器 特殊功能寄存器(片内

4、),访问这几个不同的逻辑空间时,采用的指令: 片内外程序存储器空间-MOVC 片内数据存储器空间和SFR-MOV 片外数据存储器地址空间-MOVX,2019/2/14,8,3.2.1 程序存储器及地址空间,作用-程序存储器用于存放编好的程序和表格常数。 8051片内有4K字节ROM,片外用16位地址线最多可扩展64K字节ROM,两者是统一编址的。 如果EA端保持高电平,8051执行片内前4KB ROM地址(0000H0FFFH) 中的程序。当寻址范围超过4KB(1000HFFFFH)时,则从片外存储器取指令。 当EA端保持低电平时,8051的所有取指令操作均在片外程序存储器中进行,这时片外存储

5、器可以从0000H开始编址。,2019/2/14,9,在程序存储器中,有6个单元具有特殊功能,0003H:外部中断0入口。 000BH:定时器0溢出中断入口。 0013H:外部中断1入口。 001BH:定时器1溢出中断入口。 0023H:串行口中断入口。 使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排程序上。,0000H: 8051复位后,PC0000H,即程序从0000H 开始执行指令。,2019/2/14,10,3.2.2 数据存储器及地址空间,数据存储器,片外RAM64KB,地址范围0000HFFFFH,片内RAM128B,地址范围00H7FH,使用时只能用MOV

6、X指令访问,使用MOV指令访问,可以进行堆栈操作,2019/2/14,11,片内数据存储器空间分布图,通用RAM区 (80B),位地址区 (16B),寄存器区 4组(32B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,寄存器区 4组(32B),. . . . . . . . .,由PSW中的2位RS1、RS0来决定选 哪一组为当前工作寄存器: RS1、RS0=00 选0组 RS1、RS0=01 选1组 RS1、RS0=10 选2组 RS1、RS0=11 选3组,在位地址区,每一个BIT都有一个 地址,共168=128位,00H,30H 2FH 20H 1FH,. . .,2019

7、/2/14,12,片内数据存储器空间分布图,通用RAM区 (80B),位地址区 (16B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,寄存器0组,寄存器区 4组(32B),. . . . . . . . .,RS1、RS0=00,00H,30H 2FH 20H 1FH,. . .,2019/2/14,13,片内数据存储器空间分布图,通用RAM区 (80B),位地址区 (16B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,寄存器1组,寄存器区 4组(32B),. . . . . . . . .,RS1、RS0=01,00H,30H 2FH 20H 1FH,. . .,

8、2019/2/14,14,片内数据存储器空间分布图,通用RAM区 (80B),位地址区 (16B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,寄存器2组,寄存器区 4组(32B),. . . . . . . . .,RS1、RS0=10,00H,30H 2FH 20H 1FH,. . .,2019/2/14,15,片内数据存储器空间分布图,通用RAM区 (80B),位地址区 (16B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,寄存器3组,寄存器区 4组(32B),. . . . . . . . .,RS1、RS0=11,00H,30H 2FH 20H 1FH,.

9、. .,2019/2/14,16,片内数据存储器空间分布图,通用RAM区 (80B),位地址区 (16B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,位地址区,. . . . . . . . .,00H,30H 2FH 20H 1FH,. . .,2019/2/14,17,片内数据存储器空间分布图,通用RAM区 (80B),位地址区 (16B),00H,30H 2FH 20H 1FH,7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,通用RAM区,. . .,. . . . . . . . .,共80个字节,作为一般的数据缓冲区并可设置堆栈区,2019/2/14,18,3.

10、2.3 特殊功能寄存器(21个字节),SFR (Special Functional Register) 见书P40表3-6 与ALU相关的(3个) A Register (Accumulator): 累加器,通常用A或ACC表示。可字节寻址(E0H), 也可位寻址(E0HE7H) 在运算器做运算时其中一个数一定是在ACC中。 B Register:暂存寄存器。 暂存寄存器。在做乘、除法时放乘数或除数及结果。 PSW (Program Status Word ): PSW是8位寄存器,用于作为程序运行状态的标志。借此,可以了解CPU的当前状态,并作出相应的处理。,2019/2/14,19,它的

11、各位功能如下:,当CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标志位置1或清0。这些标志的状态,可由专门的指令来测试,也可通过指令来读出。它为计算机确定程序的下一步进行方向提供依据。PSW寄存器中各位的名称及位置如上所示,下面说明各标志位的作用。,2019/2/14,20,CY:进位标志。 加减运算时,保存最高位进位、借位状态。 AC:半进位标志。 例:78H+97H 0111 1000 +1001 0111 1 0000 1111,有进位 CY=1,没有半进位AY=0,2019/2/14,21,RS1、RS0:工作寄存器组选择位。 0 0 选择工作寄存器0组(内部

12、RAM地址00H07H) 0 1 选择工作寄存器1组(内部RAM地址08H0FH) 1 0 选择工作寄存器2组(内部RAM地址10H17H) 1 1 选择工作寄存器3组(内部RAM地址18H1FH) P:奇偶校验位,它用来表示累加器A内容中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。 例:某运算结果是78H(01111000),P=0。,2019/2/14,22,F0:用户标志位。作为软件标志,由编程人员决定 何时使用。 OV:OV(PSW.2):溢出标志位,运算结果的D7或 D6位中只有一位产生进/借位时,置位OV,表 示产生溢出。,2019/2/14,23,与指针相关的(

13、2个) SP (Stack Pointer): 堆栈指针,8位寄存器,用来指定堆栈的栈顶位置,初值为07H,它是加1计数。 DPTR (Data Pointer)(分成DPH、DPL两个): 数据指针可以用它来访问外部数据存储器中的任一单元,也可以作为通用寄存器来用,由我们自已决定如何使用。,2019/2/14,24,P0、P1、P2、P3: 四个并行输入/输出口的寄存器(锁存器)。它里面的内容对应着管脚的输出。 SCON (Serial Control Register) SBUF (Serial Date Buffer) PCON (Power Control Register),与端口相

14、关的(7个),与定时/计数器相关的(6个),TMOD (Timer/Counter Mode Register) 定时器工作模式寄存器。 TCON (Timer/Counter Control Register) 定时器控制寄存器。 TH0、TL0 、TH1、TL1:分别是T0、T1的记数初值寄存器。,2019/2/14,25,IP (Interrupt Priority Register) IE (Interrupt Enable Register),与中断相关的(2个),课堂练习 补充题: 下列是关于8031单片机存储空间的描述,分析其对错: a.特殊功能寄存器容量为21B, 没有位地址。

15、 b.外部数据存储器容量可达64kB, 字节地址和位地址范围均为0000HFFFFH c.程序存储器容量可达64kB, 字节地址和位地址范围均为0000HFFFFH,2019/2/14,26,d. 内部数据存储器容量为128B, 字节地址和位地址范围均为00H7FH e.特殊功能寄存器容量为21B, 有一部分特殊功能寄存器具有位地址。 f.程序存储器容量可达64kB,地址范围为0000HFFFFH。 2.MCS-51单片机的工作寄存器组如何选择?若PSW 的RS1、RS0位的内容是01,那么此时工作寄存器R1的字节地址是多少? 3.MCS-51内部RAM的寄存器区一共有多少个存储单元?分为多少

16、组?每组有多少个存储单元?分别以什么作为寄存器名?,2019/2/14,27,4.8051存储空间的结构与8086/8088有什么不同?它的物理结构是怎样的? 5.MCS-51单片机的内部数据存储器容量是多少?它有 什么特点?,2019/2/14,28,注(了解):,8052/8032既有高128B的内部RAM,又有全部的SFR,它们地址空间重叠,依靠不同的寻址方式实现区别访问. 比较: MOV A,#01(MOV 0E0H,#01) MOV R1,#0E0H MOV R1,#01H,2019/2/14,29,3.3 外部程序存储器与访问,P0口和P2口输出16位地址。读取的指令码由P0口输入

17、。P0口分时复用,所以必须用地址锁存器,锁存信号有ALE引脚提供。 当EA=1时,CPU首先访问内部ROM,当PC4095时,CPU自动转向访问外部程序存储器,同时PSEN信号有效,以选通外部程序存储器。,3.3.1 外部程序存储器与访问,2019/2/14,30,当EA=0时,所有取指操作均对外部程序存储器进行(8031必须如此)。 ALE:访问外部存储器时,允许地址锁存信号输出,并以1/12震荡器速率输出。非访问外部存储器时,以1/6震荡器固定不变的速率输出。 PSEN:访问外部程序存储器选通信号(每个机器周期2次,执行MOVX类指令除外),CPU每个机器周期访问外部存储器2次。,2019/2/14,31,3.3.2 外部数据存储器与访问,外部数据存储器的访问地址可由工作寄存器Ri(由P0输出8位地址)或数据指针DPTR提供(DPL由P0输出;DPH由P2输出)。 读写数据的操作由P0和P2口输出、由P0口输入。 访问外部RAM的读写选通信号由RD、WR提供,均为低电平有效。 通过指令来区别内、外部RAM。,2019/2/14,32,作业:P50 3、6、7,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1