MCS51存储器和布尔处理器(第3章)

上传人:cn****1 文档编号:567624541 上传时间:2024-07-21 格式:PPT 页数:32 大小:381.69KB
返回 下载 相关 举报
MCS51存储器和布尔处理器(第3章)_第1页
第1页 / 共32页
MCS51存储器和布尔处理器(第3章)_第2页
第2页 / 共32页
MCS51存储器和布尔处理器(第3章)_第3页
第3页 / 共32页
MCS51存储器和布尔处理器(第3章)_第4页
第4页 / 共32页
MCS51存储器和布尔处理器(第3章)_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《MCS51存储器和布尔处理器(第3章)》由会员分享,可在线阅读,更多相关《MCS51存储器和布尔处理器(第3章)(32页珍藏版)》请在金锄头文库上搜索。

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

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

3、是RAM,并用同类访问指令。 而MCS-51则不同:7/21/20247/21/20244 4 8051在物理结构上设计成程序存储器与数据存储器独立分开的哈佛结构: 片内程序存储器4KB(ROM 0000H0FFFH) 片内数据存储器128B(RAM 00H7FH)3.2 MCS-51的存储器结构8051在物理结构上有四个存储空间: 片内程序存储器、片外程序存储器、 片内数据存储器、片外数据存储器。7/21/20247/21/20245 564KBROMEA=0EA=10000H0FFFH1000HFFFFH4KBROMFFH80H7FH00H SFRRAM64KBRAM(I/O)0000HF

4、FFFH片内片外片外程序存储器数据存储器7/21/20247/21/20246 6 8051在逻辑上,即从用户角度上8051有三个存储空间: 片内外统一编址的程序存储器 片内外不统一编址的数据存储器 特殊功能寄存器(片内)访问这几个不同的逻辑空间时,采用的指令: 片内外程序存储器空间-MOVC 片内数据存储器空间和SFR-MOV 片外数据存储器地址空间-MOVX7/21/20247/21/20247 73.2.1 程序存储器及地址空间作用-程序存储器用于存放编好的程序和表格常数。8051片内有4K字节ROM,片外用16位地址线最多可扩展64K字节ROM,两者是统一编址的。如果EA端保持高电平,

5、8051执行片内前4KB ROM地址(0000H0FFFH) 中的程序。当寻址范围超过4KB(1000HFFFFH)时,则从片外存储器取指令。当EA端保持低电平时,8051的所有取指令操作均在片外程序存储器中进行,这时片外存储器可以从0000H开始编址。7/21/20247/21/20248 8在程序存储器中,有6个单元具有特殊功能0003H0003H:外部中断0入口。000BH000BH:定时器0溢出中断入口。0013H0013H:外部中断1入口。001BH001BH:定时器1溢出中断入口。0023H0023H:串行口中断入口。 使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到

6、用户安排程序上。0000H0000H: 8051复位后,PC0000H,即程序从0000H 开始执行指令。7/21/20247/21/20249 93.2.2 数据存储器及地址空间数据存储器片外RAM64KB,地址范围0000HFFFFH片内RAM128B,地址范围00H7FH使用时只能用MOVXMOVX指令访问使用MOVMOV指令访问,可以进行堆栈操作7/21/20247/21/20241010片内数据存储器空间分布图通用RAM区 (80B) 位地址区 (16B)寄存器区4组(32B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器区4组(32B). . . . . . . . .

7、 .由PSW中的2位RS1、RS0来决定选 哪一组为当前工作寄存器: RS1、RS0=00 选0组 RS1、RS0=01 选1组 RS1、RS0=10 选2组 RS1、RS0=11 选3组在位地址区,每一个BIT都有一个 地址,共168=128位00H00H30H30H2FH2FH20H20H1FH1FH. . . .7/21/20247/21/20241111片内数据存储器空间分布图通用RAM区 (80B) 位地址区 (16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器0组寄存器区4组(32B). . . . . . . . . .RS1RS1、RS0=RS0=0000R7R

8、6R5R4R3R2R1R000H00H01H01H02H02H03H03H04H04H05H05H06H06H07H07H00H00H30H30H2FH2FH20H20H1FH1FH. . . .7/21/20247/21/20241212片内数据存储器空间分布图通用RAM区 (80B) 位地址区 (16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器1组R7R6R5R4R3R2R1R008H08H09H09H0AH0AH0BH0BH0CH0CH0DH0DH0EH0EH0FH0FH寄存器区4组(32B). . . . . . . . . .RS1RS1、RS0=RS0=01010

9、0H00H30H30H2FH2FH20H20H1FH1FH. . . .7/21/20247/21/20241313片内数据存储器空间分布图通用RAM区 (80B) 位地址区 (16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器2组R7R6R5R4R3R2R1R010H10H11H11H12H12H13H13H14H14H15H15H16H16H17H17H寄存器区4组(32B). . . . . . . . . .RS1RS1、RS0=RS0=101000H00H30H30H2FH2FH20H20H1FH1FH. . . .7/21/20247/21/20241414片内数据

10、存储器空间分布图通用RAM区 (80B) 位地址区 (16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器3组R7R6R5R4R3R2R1R018H18H19H19H1AH1AH1BH1BH1CH1CH1DH1DH1EH1EH1FH1FH寄存器区4组(32B). . . . . . . . . .RS1RS1、RS0=RS0=111100H00H30H30H2FH2FH20H20H1FH1FH. . . .7/21/20247/21/20241515片内数据存储器空间分布图通用RAM区 (80B) 位地址区 (16B)7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组位地址区2

11、0H20H21H21H22H22H23H23H24H24H25H25H26H26H27H27H28H28H29H29H2AH2AH2BH2BH2CH2CH2DH2DH2EH2EH2FH2FH00H00H01H01H02H02H03H03H04H04H05H05H06H06H07H07H08H08H0FH0FH10H10H7FH7FH78H78H70H70H68H68H60H60H58H58H50H50H48H48H40H40H38H38H30H30H28H28H20H20H77H77H6FH6FH67H67H1FH1FH5FH5FH57H57H4FH4FH47H47H3FH3FH37H37H2

12、FH2FH27H27H1FH1FH17H17H.D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0. . . . . . . . . .00H00H30H30H2FH2FH20H20H1FH1FH. . . .7/21/20247/21/20241616片内数据存储器空间分布图通用RAM区 (80B) 位地址区 (16B)00H00H30H30H2FH2FH20H20H1FH1FH7FH7FH寄存器3组寄存器2组寄存器1组寄存器0组通用RAM区. . . . . . . . . . . . .共80个字节,作为一般的数据缓冲区并可设置堆栈区7/21/2

13、0247/21/202417173.2.3 特殊功能寄存器(21个字节)SFR (Special Functional Register) 见书P40表3-6与与ALUALU相关的(相关的(3 3个)个) A Register (AccA Register (Accumulatorumulator) ): 累加器,通常用A A或ACCACC表示。可字节寻址(E0H), 也可位寻址(E0HE7H) 在运算器做运算时其中一个数一定是在ACCACC中。 B RegisterB Register:暂存寄存器。 暂存寄存器。在做乘、除法时放乘数或除数及结果。 PSW (PSW (P Programrog

14、ram S Statustatus W Wordord ):): PSW是8位寄存器,用于作为程序运行状态的标志。借此,可以了解CPU的当前状态,并作出相应的处理。7/21/20247/21/20241818它的各位功能如下: 当CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标志位置1或清0。这些标志的状态,可由专门的指令来测试,也可通过指令来读出。它为计算机确定程序的下一步进行方向提供依据。PSW寄存器中各位的名称及位置如上所示,下面说明各标志位的作用。D7H D6H D5H D4HD3HD2HD1HD0H CY AC F0 RS1 RS0 OV PPSW位地址7/

15、21/20247/21/20241919 CYCY:进位标志。 加减运算时,保存最高位进位、借位状态。 AC:半进位标志。 例:78H+97H 0111 1000 +1001 0111 1 0000 1111 D7H D6H D5H D4HD3HD2HD1H D0H CY AC F0 RS1 RS0 OV PPSW位地址有进位CY=1没有半进位AY=07/21/20247/21/20242020 RS1、RS0:工作寄存器组选择位。 0 0 选择工作寄存器0组(内部RAM地址00H07H) 0 1 选择工作寄存器1组(内部RAM地址08H0FH) 1 0 选择工作寄存器2组(内部RAM地址10

16、H17H) 1 1 选择工作寄存器3组(内部RAM地址18H1FH) P:奇偶校验位,它用来表示累加器A内容中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。 例:某运算结果是78H(01111000),P=0。D7H D6H D5H D4HD3HD2HD1H D0H CY AC F0 RS1 RS0 OV PPSW位地址7/21/20247/21/20242121F0:用户标志位。作为软件标志,由编程人员决定 何时使用。OV:OV(PSW.2):溢出标志位,运算结果的D7或 D6位中只有一位产生进/借位时,置位OV,表示产生溢出。D7H D6H D5H D4HD3HD2HD1H

17、 D0H CY AC F0 RS1 RS0 OV PPSW位地址7/21/20247/21/20242222与指针相关的(与指针相关的(2 2个)个) SP (SP (S Stack tack P Pointerointer) ): 堆栈指针,8位寄存器,用来指定堆栈的栈顶位置,初值为07H07H,它是加1计数。 DPTR (DDPTR (Dataata P Poinoint te er)r)(分成DPHDPH、DPLDPL两个):): 数据指针可以用它来访问外部数据存储器中的任一单元,也可以作为通用寄存器来用,由我们自已决定如何使用。7/21/20247/21/20242323P0P0、P1

18、P1、P2P2、P3P3: 四个并行输入四个并行输入/ /输出口的寄存器(锁存器)。它里面的输出口的寄存器(锁存器)。它里面的内容对应着管脚的输出。内容对应着管脚的输出。SCON (SSCON (Serialerial Con Controltrol RegisterRegister) )SBUFSBUF (S(Serial Date erial Date BufBuffer) fer) PCON (PCON (P Powerower Con Controltrol RegisterRegister) ) 与端口相关的(与端口相关的(7 7个)个)与定时与定时/ /计数器相关的(计数器相关的(

19、6 6个)个)TMOD (TTMOD (Timer/Counterimer/Counter Mod Mode Registere Register) ) 定时器工作模式寄存器。定时器工作模式寄存器。TCON (TTCON (Timer/Counter imer/Counter ConControl Registertrol Register) ) 定时器控制寄存器。定时器控制寄存器。TH0TH0、TL0 TL0 、TH1TH1、TL1TL1:分别是分别是T0T0、T1T1的记数初值寄存器。的记数初值寄存器。7/21/20247/21/20242424IP (IIP (Interrupt nte

20、rrupt P Priorityriority RegisterRegister) ) IE (IIE (Interruptnterrupt E Enable Registernable Register) ) 与中断相关的(与中断相关的(2 2个)个)课堂练习补充题:1.下列是关于8031单片机存储空间的描述,分析其对错: a.a.特殊功能寄存器容量为21B, 没有位地址。 b.b.外部数据存储器容量可达64kB, 字节地址和位地址范围均为0000HFFFFH c. c.程序存储器容量可达64kB, 字节地址和位地址范围均为0000HFFFFH7/21/20247/21/20242525d.

21、d. 内部数据存储器容量为128B, 字节地址和位地址范围均为00H7FHe.特殊功能寄存器容量为21B, 有一部分特殊功能寄存器具有位地址。f.f.程序存储器容量可达64kB,地址范围为0000HFFFFH。 2.MCS-51单片机的工作寄存器组如何选择?若PSW 的RS1、RS0位的内容是01,那么此时工作寄存器R1的字节地址是多少? 3.MCS-51内部RAM的寄存器区一共有多少个存储单元?分为多少组?每组有多少个存储单元?分别以什么作为寄存器名?7/21/20247/21/202426264.8051存储空间的结构与8086/8088有什么不同?它的物理结构是怎样的?5.MCS-51单

22、片机的内部数据存储器容量是多少?它有 什么特点?7/21/20247/21/20242727注(了解):注(了解): 8052/8032既有高128B的内部RAM,又有全部的SFR,它们地址空间重叠,依靠不同的寻址方式实现区别访问.比较: MOV A,#01(MOV 0E0H,#01) MOV R1,#0E0H MOV R1,#01H7/21/20247/21/202428283.3 外部程序存储器与访问 P0口和P2口输出16位地址。读取的指令码由P0口输入。P0口分时复用,所以必须用地址锁存器,锁存信号有ALE引脚提供。当EA=1时,CPU首先访问内部ROM,当PC4095时,CPU自动转

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

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号