存储器和布尔处理器.ppt_第1页
存储器和布尔处理器.ppt_第2页
存储器和布尔处理器.ppt_第3页
存储器和布尔处理器.ppt_第4页
存储器和布尔处理器.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

第3章 MCS-51存储器,MCS-51存储器,程序存储器,寻址系统,控制信号,功能,寻址系统,功能,数据存储器,控制信号,ROM用来存放始终保留的固定程序和数据,RAM用来存放程序运行时所需要的常数和变量,特 殊 功 能 寄 存 器 位寻址区,00H,1FH,20H,2FH,30H,7FH,80H,FFH,部分可位寻址,外部 ROM,内部 ROM (EA=1),外部 ROM (EA=0),0000H,0000H,0FFFH,1000H,FFFFH,外 部 RAM (包含 I/O口 地址),0000H,FFFFH,内部数据存储器,外部数据存储器空间,程序存储器空间,工作寄存器区,RAM 区,3.1 程序存储器 程序存储器ROM包括片内ROM和片外ROM两个部分, 片内有4K字ROM,片外用16位地址,两者统一编址 16位的程序计数器PC为程序存储器地址指针,寻址空间 为64KB,编址为:0000FFFFH /EA接高电平时,单片机启始从片内程序存储器取指令, 当指令地址超过片内程序存储器空间后,自动地转向片外 程序存储器取指令; /EA接低电平时,单片机直接从片外程序存储器取指令。,图2.5 程序存储器编址图 (a) 51子系列;(b) 52子系列,2程序的6个特殊入口地址,表3.1 MCS-51单片机复位、中断入口地址 操作 入口地址 复位 0000H 外部中断0 0003H 定时器/计数器0溢出 000BH 外部中断1 0013H 定时器/计数器1溢出 001BH 串行口中断 002BH 通常在这些入口地址处,存放一条绝对转移指令,使程序转移到用户安排的中断服务程序起始地址,或主程序起始地址。,3.2 内部数据存储器 128个字节,字节地址为00H7FH,1、工作寄存器区(通用寄存器) 工作寄存器分成4组,每组都有8个寄存器,用R0R7来表示。 程序中每次只用1组,其它各组不工作。使用哪一组寄存器工作由程序状态字PSW中的PSW.3(RS0)和 PSW.4(RS1)两位来选择,其对应关系如表2.4所示。 CPU既能以字节地址(00H1FH)访问它们,又能以寄存器符号(R0 R7)访问。 若程序中并不需要4组,那么其余的可用作一般的数据缓冲器。,2、位寻址区 20H2FH单元是位寻址区。这16个单元(共计168=128位)的每一位都赋予了一个位地址,位地址范围为00H7FH。通常可以把各种程序状态标志、位控制变量存于位寻址区内。 CPU既能以字节地址(20H 2FH)访问它们的每一字节,又能以位地址(00H 7FH)访问它们的每一位。 CPU以字节地址访问时,对某一个字节进行处理,使用字节指令。 CPU以位地址访问时,对某一位进行处理,使用位操作指令。,片内数据存储器中的位地址图3.5(128个位单元),3、数据缓冲区 30H7FH是数据缓冲区,也即用户RAM区,共80个单元。 由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。,堆栈是一组编有地址码的特殊的存储单元。第一个进栈的数据所在的存储单元称为栈底,最后一个进栈的数据所在的存储单元称为栈顶,栈顶的地址码由栈指针SP指示。存储单元的数目称堆栈深度。堆栈单元中存放的信息称为堆栈元素。 SP总是指向栈顶且装有数据 堆栈元素的压入和弹出遵循“先进后出”的原则 压栈: 先SP+1,后数据压栈 出栈: 先弹出,后SP-1 主机复位,SP=07H,压入数据从08H单元为起始。一般设置SP=2FH,4、堆栈和堆栈指针,3.3 特殊功能寄存器(SFR) 特殊功能寄存器(SFR,即Special Function Registers),又称为专用寄存器,专用于控制、管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。 18个专用寄存器,占用21个字节,分散在80HFFH CPU访问它们既可以用字节地址,又可用寄存器符号 PC指针不包含在21个专用寄存器中,PC指针只有寄存器符号,没有字节地址。 其中有12个专用寄存器可以位寻址,特 殊 功 能 寄 存 器 位寻址区,00H,1FH,20H,2FH,30H,7FH,80H,FFH,部分可位寻址,内部数据存储器,工作寄存器区,RAM 区,SFR中的位地址分布,串行数据缓冲器SBUF: 由两个独立的寄存器组成:发送缓冲器,接收缓冲器 存放准备发送或已经接收到的数据,一个字节地址,物理 空间上是两个独立寄存器 定时器/计数器: 两个16位定时器/计数器(T1和T0) 各由两个独立的8位寄存器组成:TH1、TL1、TH0、TL0,3.4 外部数据存储器 可扩展64K字节(扩展外部RAM或扩展外部I/O) 1、地址的重叠 程序存储器与外部数据存储器64K字节地址重叠 2、程序存储器与数据存储器在使用上是不同的,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。 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=0),0000H,0000H,0FFFH,1000H,FFFFH,外 部 RAM (包含 I/O口 地址),FFFFH,外部数据存储器空间,程序存储器空间,0000H,1、以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的寻址方式 寻址方式就是在指令中指明操作数所在地址的方式 共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 是等价的。,三、寄存器间接寻址方式 寄存器中存放的是操作数的地址,寄存器前加“” 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+DPTR 如果A中原有内容为05H,DPTR内容为0400H,该指令执行 的结果是把程序存储器0405H单元中的内容传送给A 说明: (1)专门针对程序存储器的寻址方式,寻址范围达64KB (2)本寻址方式的指令只有3条: MOVC A,A+DPTR MOVC A,A+PC JMP A+DPTR,六、相对寻址方式 在相对寻址的转移指令中,给出了地址偏移量,以 “rel”表示;把PC的当前值加上偏移量就构成了 程序转移的目的地址 目的地址 = 转移指令所在的地址 + 该转移指令的字节 + rel 偏移量“rel”是一带符号的8位二进制数补码 范围是:128 +127 向地址增加方向最大可转移(127+该转移指令字节) 个单元地址 向地址减少方向最大可转移(128-该转移指令字节) 个单元地址,01000000,01110101,1000H 1001H 1002H 1077H,+1,PC,ALU,Rel=75H,PC=1002H,1077H,程序存储器,例: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的位地址为D5H b、用位名称。例如:PSW.5是F0标志位 c、字节单元地址加位数。例如: D0H.5 d、特殊功能寄存器符号加位数。例如: PSW.5,3.7 布尔(位)处理机 布尔处理机(即位处理)是MCS-51单片机ALU所具有的一种功能。单片机指令系统中的位处理指令集(17条位操作指令);存储器中的位地址空间;借用程序状态寄存器PSW中的进位标志CY作为位操作“累加器”;位寻址的并行I/O口,构成了MCS-51单片机内的布尔处理机。它可对直接寻址的位(bit)变量进行位处理,如置位、清零、取反、测试转移以及逻辑“与“、“或“等位操作,使用户在编程时可以利用指令完成原来单凭复杂的

温馨提示

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

评论

0/150

提交评论