资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第三章,MCS-51,存储器和布尔处理器,内存:,存放,当前执行的,程序和数据,主机,能直接访问,,存取,速度快,,容,量小,。,外存:,存放,暂不执行的,程序和数据,主机,不能直接访问,,存取,速度慢,,容,量大,。,存储器的,功能,是,存储程序和数据。,3.1 概述,3.1.1 存储器的分类,11/17/2024,1,第三章 MCS-51存储器和布尔处理器内存:存放当前执行的,RAM,存储器,双极型:,由双极型晶体管构成,速度快、功耗大、集成度低、价格贵,。,MOS型:,由MOS管构成,速度比双极型RAM慢、功耗小、集成度高、价格便宜。按信息的存储方式分为,:,静态RAM,和,动态RAM,及新出现的,iRAM。,ROM,EEPROM,电擦除(擦除以,Byte,为单位)。,可擦写EPROM,紫外线(,一次全部,)擦除,需专门的擦除设备。,掩膜ROM,出厂时已固化。,可编程PROM,用户一次固化。,FLASHROM,随机改写,速度快(擦除以,Block,为单位)。,11/17/2024,2,RAM存储器双极型:由双极型晶体管构成,速度快、功耗大、集成,EEPROM FLASHROM,区别,FLASH,集成度高,,,容量大,,,写入速度更快,。,FLASH擦除以,Block,为单位;EEPROM擦除以,Byte,为单位,11/17/2024,3,EEPROM FLASHROM区别FLASH集成度高,容量大,3.1.2 8051的,片内,存储器,8051单片机与一般微机的存储器配置方式很不相同。,一般微机通常采用,冯诺依曼结构,,,只有,一个逻辑空间,,可以随意安排ROM或RAM。访问存储器时,同一地址对应唯一的存储单元,可以是ROM也可以是RAM,并用同类访问指令。,而MCS-51则不同:,11/17/2024,4,3.1.2 8051的片内存储器 8051单片机与一般微,8051在,物理结构,上设计成,程序,存储器与,数据,存储器独立,分开,的,哈佛结构,:,片内程序,存储器,4KB(ROM 0000H,0FFFH),片内数据,存储器,128B(RAM 00H,7FH),3.2 MCS-51的存储器结构,8051在,物理结构,上有,四个,存储空间:,片,内,程序存储器、片,外,程序存储器、,片,内,数据存储器、片,外,数据存储器。,11/17/2024,5,8051在物理结构上设计成程序存储器与数据存储器独立,64KB,ROM,EA=0,EA=1,0000H,0FFFH,1000H,FFFFH,4KB,ROM,FFH,80H,7FH,00H,SFR,RAM,64KB,RAM,(I/O),0000H,FFFFH,片内,片外,片外,程序存储器,数据存储器,11/17/2024,6,64KBEA=0EA=10000H0FFFH1000HFFF,8051在,逻辑,上,即从用户角度上8051有三个存储空间:,片,内外,统一编址的,程序存储器,片,内外,不,统一编址的,数据存储器,特殊功能寄存器,(,片内),访问这几个不同的逻辑空间时,采用的指令:,片,内外,程序,存储器空间-,MOVC,片,内,数据,存储器空间和,SFR,-,MOV,片,外,数据存储器地址空间-,MOVX,11/17/2024,7,8051在逻辑上,即从用户角度上8051有三个存储空,3.2.1,程序存储器及地址空间,作用,-,程序存储器用于存放编好的程序和表格常数。,8051,片内有,4K,字节ROM,片外用16位地址线最多可扩展,64K,字节,ROM,,两者是,统一,编址的。,如果,EA,端保持,高,电平,8051执行,片内前4KB ROM,地址(0000H0FFFH)中的程序。当寻址范围超过,4KB,(1000HFFFFH)时,则从片外存储器取指令。,当,EA,端保持,低,电平时,8051的所有取指令操作均在,片外,程序存储器中进行,这时片外存储器可以从,0000H,开始编址。,11/17/2024,8,3.2.1 程序存储器及地址空间作用-程序存储器用于存放,在程序存储器中,有,6个单元具有特殊功能,0003H,:外部,中断,0入口。,000BH,:定时器0溢出,中断,入口。,0013H,:外部,中断,1入口。,001BH,:定时器1溢出,中断,入口。,0023H,:串行口,中断,入口。,使用时,通常在这些,入口地址处存放,一条绝对,跳转指令,,使程序跳转到用户安排程序上。,0000H,:,8051复位后,,PC0000H,,即程序从,0000H,开始执行指令。,11/17/2024,9,在程序存储器中,有6个单元具有特殊功能0003H:外部中断,3.2.2,数据存储器及地址空间,数据存储器,片外RAM,64KB,地址范围,0000HFFFFH,片内RAM,128B,地址范围,00H7FH,使用时只能用,MOVX,指令访问,使用,MOV,指令访问,可以进行堆栈操作,11/17/2024,10,3.2.2 数据存储器及地址空间数据存储器片外RAM64K,片内数据存储器空间分布图,通用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,.,.,.,11/17/2024,11,片内数据存储器空间分布图通用RAM区位地址区寄存器区7FH寄,片内数据存储器空间分布图,通用RAM区,(80B),位地址区,(16B),7FH,寄存器3组,寄存器2组,寄存器1组,寄存器0组,寄存器0组,寄存器区,4组(32B),.,.,.,.,.,.,.,.,.,RS1、RS0=,00,R7,R6,R5,R4,R3,R2,R1,R0,00H,01H,02H,03H,04H,05H,06H,07H,00H,30H,2FH,20H,1FH,.,.,.,11/17/2024,12,片内数据存储器空间分布图通用RAM区位地址区7FH寄存器3组,片内数据存储器空间分布图,通用RAM区,(80B),位地址区,(16B),7FH,寄存器3组,寄存器2组,寄存器1组,寄存器0组,寄存器1组,R7,R6,R5,R4,R3,R2,R1,R0,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH,寄存器区,4组(32B),.,.,.,.,.,.,.,.,.,RS1、RS0=,01,00H,30H,2FH,20H,1FH,.,.,.,11/17/2024,13,片内数据存储器空间分布图通用RAM区位地址区7FH寄存器3组,片内数据存储器空间分布图,通用RAM区,(80B),位地址区,(16B),7FH,寄存器3组,寄存器2组,寄存器1组,寄存器0组,寄存器2组,R7,R6,R5,R4,R3,R2,R1,R0,10H,11H,12H,13H,14H,15H,16H,17H,寄存器区,4组(32B),.,.,.,.,.,.,.,.,.,RS1、RS0=,10,00H,30H,2FH,20H,1FH,.,.,.,11/17/2024,14,片内数据存储器空间分布图通用RAM区位地址区7FH寄存器3组,片内数据存储器空间分布图,通用RAM区,(80B),位地址区,(16B),7FH,寄存器3组,寄存器2组,寄存器1组,寄存器0组,寄存器3组,R7,R6,R5,R4,R3,R2,R1,R0,18H,19H,1AH,1BH,1CH,1DH,1EH,1FH,寄存器区,4组(32B),.,.,.,.,.,.,.,.,.,RS1、RS0=,11,00H,30H,2FH,20H,1FH,.,.,.,11/17/2024,15,片内数据存储器空间分布图通用RAM区位地址区7FH寄存器3组,片内数据存储器空间分布图,通用RAM区,(80B),位地址区,(16B),7FH,寄存器3组,寄存器2组,寄存器1组,寄存器0组,位地址区,20H,21H,22H,23H,24H,25H,26H,27H,28H,29H,2AH,2BH,2CH,2DH,2EH,2FH,00H,01H,02H,03H,04H,05H,06H,07H,08H,0FH,10H,7FH,78H,70H,68H,60H,58H,50H,48H,40H,38H,30H,28H,20H,77H,6FH,67H,1FH,5FH,57H,4FH,47H,3FH,37H,2FH,27H,1FH,17H,.,.,D7 D6 D5 D4 D3 D2 D1 D0,.,.,.,.,.,.,.,.,.,00H,30H,2FH,20H,1FH,.,.,.,11/17/2024,16,片内数据存储器空间分布图通用RAM区位地址区7FH寄存器3组,片内数据存储器空间分布图,通用RAM区,(80B),位地址区,(16B),00H,30H,2FH,20H,1FH,7FH,寄存器3组,寄存器2组,寄存器1组,寄存器0组,通用RAM区,.,.,.,.,.,.,.,.,.,.,.,.,共,80,个字节,作为一般的数据缓冲区并可设置堆栈区,11/17/2024,17,片内数据存储器空间分布图通用RAM区位地址区00H30H7F,3.2.3,特殊功能寄存器(21个字节),SFR,(Special Functional Register),见书P40表3-6,与ALU相关的(,3,个),A Register(Acc,umulator,):,累加器,通常用,A,或,ACC,表示。可字节寻址(E0H),,也可,位,寻址(E0HE7H),在运算器做运算时其中一个数一定是在,ACC,中。,B Register,:,暂存寄存器。,暂存寄存器。在做乘、除法时放乘数或除数及结果。,PSW (P,rogram,S,tatus,W,ord,):,PSW是,8,位寄存器,用于作为,程序运行状态的标志,。借此,可以了解CPU的当前状态,并作出相应的处理。,11/17/2024,18,3.2.3 特殊功能寄存器(21个字节)SFR(Spec,它的,各位功能,如下:,当CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标志位置1或清0。这些标志的状态,可由专门的指令来测试,也可通过指令来读出。它为计算机确定程序的下一步进行方向提供依据。PSW寄存器中各位的名称及位置如上所示,下面说明各标志位的作用。,D7H,D6H,D5H,D4H,D3H,D2H,D1H,D0H,CY,AC,F0,RS1,RS0,OV,P,PSW位地址,11/17/2024,19,它的各位功能如下:当CPU进行各种逻辑操作或算术运算,CY,:,进位标志。,加减运算时,保存最高位进位、借位状态。,AC,:,半进位标志。,例:,78H+97H,0111 1000,+1001 0111,1 0000 1111,D7H,D6H,D5H,D4H,D3H,D2H,D1H,D0H,CY,AC,F0,RS1,RS0,OV,P,PSW位地址,有进位,CY=1,没有半进位AY=0,11/17/2024,20,CY:进位标志。D7HD6HD5HD4HD3HD2HD1H,RS1、RS0,:工作寄存器组选择位。,0 0 选择工作寄存器0组,(内部RAM地址,00H07H,),0 1 选择工作寄存器1组,(内部RAM地址,08H0FH,),1 0 选择工作寄存器2组,(内部RAM地址,10H17H,),1 1 选择工作寄存器3组,(内部RAM地址,18H1FH,),P,:奇偶校验位,它用来表示累加器,A,内容中
展开阅读全文