存储器和布尔处理器

上传人:豆浆 文档编号:48365954 上传时间:2018-07-14 格式:PPT 页数:33 大小:1.59MB
返回 下载 相关 举报
存储器和布尔处理器_第1页
第1页 / 共33页
存储器和布尔处理器_第2页
第2页 / 共33页
存储器和布尔处理器_第3页
第3页 / 共33页
存储器和布尔处理器_第4页
第4页 / 共33页
存储器和布尔处理器_第5页
第5页 / 共33页
点击查看更多>>
资源描述

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

1、第3章 MCS-51存储器MCS-51存储器程序存储器寻址系统控制信号功能寻址系统功能数据存储器控制信号ROM用来存放始终保留的固定程序和数据RAM用来存放程序运行时所需要的常数和变量特 殊功 能 寄 存 器位寻址区00H1FH20H2FH30H7FH80HFFH部分可位寻址外部ROM内部 ROM(EA=1)外部 ROM(EA=0)0000H0000H0FFFH1000HFFFFH外 部 RAM(包含 I/O口 地址)0000HFFFFH内部数据存储器外部数据存储器空间程序存储器空间工作寄 存器区RAM 区3.1 程序存储器 程序存储器ROM包括片内ROM和片外ROM两个部分, 片内有4K字R

2、OM,片外用16位地址,两者统一编址16位的程序计数器PC为程序存储器地址指针,寻址空间 为64KB,编址为:0000FFFFH/EA接高电平时,单片机启始从片内程序存储器取指令, 当指令地址超过片内程序存储器空间后,自动地转向片外 程序存储器取指令;/EA接低电平时,单片机直接从片外程序存储器取指令。图2.5 程序存储器编址图 (a) 51子系列;(b) 52子系列2程序的6个特殊入口地址表3.1 MCS-51单片机复位、中断入口地址操作入口地址复位0000H 外部中断00003H 定时器/计数器0溢出000BH 外部中断10013H 定时器/计数器1溢出001BH 串行口中断002BH通常

3、在这些入口地址处,存放一条绝对转移指令,使程 序转移到用户安排的中断服务程序起始地址,或主程序 起始地址。3.2 内部数据存储器 128个字节,字节地址为00H7FH1、工作寄存器区(通用寄存器)工作寄存器分成4组,每组都有8个寄存器,用R0R7来表示。程序中每次只用1组,其它各组不工作。使用哪一组寄存器工作由程序状态字PSW中的PSW.3(RS0)和 PSW.4(RS1)两位来选择,其对应关系如表2.4所示。 CPU既能以字节地址(00H1FH)访问它们,又能以寄存器符号(R0 R7)访问。若程序中并不需要4组,那么其余的可用作一般的数据缓冲器。PSW.4(RS1)PSW.3(RS0 )当前

4、使用的工作 寄存器组R0R7000组(00H07H)011组(08H0FH)102组(10H17H)113组(18H1FH)2、位寻址区20H2FH单元是位寻址区。这16个单元(共计168=128位)的每一位都赋予了一个位地址,位地址范围为00H7FH。通常可以把各种程序状态标志、位控制变量存于位寻址区内。CPU既能以字节地址(20H 2FH)访问它们的每一字节,又能以位地址(00H 7FH)访问它们的每一位。CPU以字节地址访问时,对某一个字节进行处理,使用字节指令。CPU以位地址访问时,对某一位进行处理,使用位操作指令。片内数据存储器中的位地址图3.5(128个位单元)3、数据缓冲区30H

5、7FH是数据缓冲区,也即用户RAM区,共80个单元。由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。堆栈是一组编有地址码的特殊的存储单元。第一个进栈的数 据所在的存储单元称为栈底,最后一个进栈的数据所在的存储单 元称为栈顶,栈顶的地址码由栈指针SP指示。存储单元的数目称 堆栈深度。堆栈单元中存放的信息称为堆栈元素。SP总是指向栈顶且装有数据堆栈元素的压入和弹出遵循“先进后出”的原则压栈: 先SP+1,后数据压栈 出栈: 先弹出,后SP

6、-1主机复位,SP=07H,压入数据从08H单元为起始。一般设置 SP=2FH 4、堆栈和堆栈指针3.3 特殊功能寄存器(SFR)特殊功能寄存器(SFR,即Special Function Registers),又 称为专用寄存器,专用于控制、管理片内算术逻辑部件、并行 I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的 工作。18个专用寄存器,占用21个字节,分散在80HFFHCPU访问它们既可以用字节地址,又可用寄存器符号PC指针不包含在21个专用寄存器中,PC指针只有寄存器符号, 没有字节地址。其中有12个专用寄存器可以位寻址 特 殊功 能 寄 存 器位寻址区00H1FH20H

7、2FH30H7FH80HFFH部分可位寻址内部数据存储器工作寄 存器区RAM 区SFR中的位地址分布串行数据缓冲器SBUF: 由两个独立的寄存器组成:发送缓冲器,接收缓冲器存放准备发送或已经接收到的数据,一个字节地址,物理空间上是两个独立寄存器定时器/计数器:两个16位定时器/计数器(T1和T0)各由两个独立的8位寄存器组成:TH1、TL1、TH0、TL03.4 外部数据存储器可扩展64K字节(扩展外部RAM或扩展外部I/O) 1、地址的重叠 程序存储器与外部数据存储器64K字节地址重叠2、程序存储器与数据存储器在使用上是不同的,访问片内 RAM用“MOV”指令,访问片外RAM用“MOVX”指

8、令。3、外部数据存储区中,外部RAM与外部I/O端口统一编址所有外部扩展的I/O端口地址均占用外部RAM单元地址访问外部扩展的I/O端口方式(指令)与访问外部数据存储器相同总结:编址与访问用于存放运算中间结果、数据暂存和缓冲、标志位等。片内、外数据存储器是两个独立的地址空间,应分别单独编址。片内256字节RAM,片外扩充到64K字节RAM。访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。片内数据存储器除128字节RAM块外,还有特殊功能寄存器(SFR)21个CPU专用寄存器分散在80HFFH中。 3.5 外部存储器工作过程外部ROM内部 ROM(EA=1)外部 ROM(EA=

9、0)0000H0000H0FFFH1000HFFFFH外 部 RAM(包含 I/O口 地址)FFFFH外部数据存储器空间程序存储器空间0000H1、以P2口作为高8位地址线。 2、以P0口作为低8位地址/ 8位数据复用线。3、控制信号线。*使用ALE信号作为低8位地址锁存控制信号。*以/EA信号作为内、外程序存储器的选择控制信号。*以/PSEN信号作为扩展程序存储器的读选通信号。*由/RD和/WR信号作为扩展数据存储器和扩展I/O口的读选通、写选通信号。 MCS-51有4个并行I/O口,共32条口线,但由于系统扩展需 要,作为I/O口使用的,就剩下P1口和P3口的部分口线。3.6 MCS-51

10、的寻址方式寻址方式就是在指令中指明操作数所在地址的方式共7种寻址方式一、寄存器寻址方式操作数在寄存器中MOV A,Rn ;(Rn)A,n=07(表示把寄存器Rn的内容传送给累加器A)寻址范围:(1)4组通用工作寄存器共32个工作寄存器。(2)部分特殊功能寄存器,例如A、B以及数据指针寄存器DPTR等。二、直接寻址方式 操作数直接以单元地址的形式给出:MOV A,40H(表示把内部RAM 40H中的内容传送给累加器A)寻址范围:(1) 内部RAM的128个单元(2) 特殊功能寄存器。除了以单元地址的形式外,还可用寄存器符号的形式给出。例如:MOV A,80H 与 MOV A,P0 是等价的。三、

11、寄存器间接寻址方式 寄存器中存放的是操作数的地址,寄存器前加“”MOV A,Ri ;i=0或1 (如果Ri中的内容为40H,把内部RAM 40H单元内容送A)寻址范围:(1)访问内部RAM和特殊功能寄存器区,其通用形式为Ri(只能用R0或R1作为间址寄存器)(2)对外部内部RAM的64K字节的间接寻址例如:MOVX A,DPTR(访问外部RAM的256个字节范围时,也可以用R0或R1作为间址寄存器)四、立即寻址方式操作数在指令中直接给出,操作数前面加“#”MOV A,#40H 五、基址寄存器加变址寄存器间址寻址方式以DPTR或PC作基址寄存器,以累加器A作为变址寄存器。MOVC A,A+DPT

12、R 如果A中原有内容为05H,DPTR内容为0400H,该指令执行的结果是把程序存储器0405H单元中的内容传送给A说明: (1)专门针对程序存储器的寻址方式,寻址范围达64KB(2)本寻址方式的指令只有3条:MOVC A,A+DPTRMOVC A,A+PCJMP A+DPTR 六、相对寻址方式 在相对寻址的转移指令中,给出了地址偏移量,以“rel”表示;把PC的当前值加上偏移量就构成了程序转移的目的地址 目的地址 = 转移指令所在的地址 + 该转移指令的字节 + rel 偏移量“rel”是一带符号的8位二进制数补码范围是:128 +127 向地址增加方向最大可转移(127+该转移指令字节)个

13、单元地址向地址减少方向最大可转移(128-该转移指令字节)个单元地址01000000011101011000H1001H1002H1077H+1PCALURel=75HPC=1002H1077H程序存储器例:C=1,PC=1000H,REL=75H,执行指令JC REL七、位寻址方式 MCS-51有位处理功能,可以对数据的位进行操作。MOV C,40H (把位40H的值送到进位位C)寻址范围包括:(1)内部RAM中的位寻址区有两种表示方法:直接位地址40H;字节单元地址加上位28H.0,指的是28H字节单元中的最低位。 (2)特殊功能寄存器中的可寻址位 a、直接使用位地址。例如:PSW.5的位

14、地址为D5Hb、用位名称。例如:PSW.5是F0标志位c、字节单元地址加位数。例如: D0H.5d、特殊功能寄存器符号加位数。例如: PSW.53.7 布尔(位)处理机布尔处理机(即位处理)是MCS-51单片机ALU所具有的一种功能。单片机指令系统中的位处理指令集(17条位操作指令);存储器中的位地址空间;借用程序状态寄存器PSW中的进位标志CY作为位操作“累加器”;位寻址的并行I/O口,构成了MCS-51单片机内的布尔处理机。它可对直接寻址的位(bit)变量进行位处理,如置位、清零、取反、测试转移以及逻辑“与“、“或“等位操作,使用户在编程时可以利用指令完成原来单凭复杂的硬件逻辑所完成的功能,并可方便地设置标志等。 思考题: 1、80C51单片机的时钟周期、机器周期、指令周期定义 及关系是如何的?当主频为12MHZ时,一个机器周期为 多少微秒?执行一条最长的指令需多少微秒? 2、80C51存储器在结构上有何特点?访问片内RAM和片 外RAM的指令格式有何区别? 3、MCS-51单片机堆栈有哪些功能?堆栈指示器(SP) 的作用是什么?在程序设计时,为什么还要对SP重新赋 值? 4、什么是准双向口?使用准双向口时,要注意什么?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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