




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机的内部存储器结构 电子教学实验宇宙人 开发宇宙征服科技 Chengdayong 存储器结构框图 一 开发宇宙征服科技 Chengdayong 存储器结构框图 二 开发宇宙征服科技 Chengdayong 存储器结构框图 三 开发宇宙征服科技 Chengdayong 8051诞生 片内有4K字节的ROM 无法擦除 只能写一次 8031诞生 片内无ROM 8751拥有EPROM 紫外线擦除 但是价格昂贵 单片机片内ROM发展概况 2 3 1 开发宇宙征服科技 Chengdayong E2PROM的出现使程序的编写与调试更加容易 OTP onetimeprogram 技术的出现加快了单片机在各个领域的应用 在线可编程可以直接用PC机对单片机进行程序的下载 使程序编写变得更加容易 单片机片内ROM发展概况 5 6 4 开发宇宙征服科技 MCS 51单片机ROM结构框图 Chengdayong 开发宇宙征服科技 MCS 51单片机ROM结构图 Chengdayong 开发宇宙征服科技 内部ROM空间解析 在程序存储器中 有6个单元具有特殊功能 0000H 8051复位后 PC 0000H 即程序从0000H开始执行指令 PC是程序指针 控制程序的运行 0003H 外部中断0入口 000BH 定时器0溢出中断入口 0013H 外部中断1入口 001BH 定时器1溢出中断入口 0023H 串行口中断入口 52还有002BH对应T2中断 使用时 通常在这些入口地址处存放一条绝对跳转指令 使程序跳转到用户安排的中断程序起始地址 或者从0000H起始地址跳转到用户设计的初始程序上 Chengdayong 开发宇宙征服科技 MCS 51单片机内部RAM结构框图 Chengdayong 开发宇宙征服科技 MCS 51单片机低128字节RAM结构图 Chengdayong 开发宇宙征服科技 单片机片内RAM详解 一 工作寄存器组 占用片内RAM地址00H 1FH 每组工作寄存器组都有8个工作寄存器 R0 R7 组成 每个工作寄存器对应一个固定的地址 比如 工作寄存器组一中R0的地址为00H 在单片机正常工作时 只有一组工作寄存器处于前台工作 其他的在后台等待 工作寄存器组的选择由单片机中一个特殊功能寄存器来控制 Chengdayong 开发宇宙征服科技 单片机片内RAM详解 二 片内地址20H 2FH是位寻址区 可位寻址的空间 是指可通过执行指令直接对某一位进行操作的空间 在该区域内的字节地址中的每一位都对应一个位地址 在使用时可以直接对位地址进行访问 Chengdayong 开发宇宙征服科技 单片机片内RAM详解 三 可位寻址的空间是一般微机所不具备的 这种位寻址能力是8051所独有的 20H 2FH 既可以字节操作 又可以位操作 但是要用不同的指令来区分 MOV20H A 字节寻址 SETB00H 位寻址直接给出位地址 SETB20h 0 位寻址给出的是字节地址 Chengdayong 开发宇宙征服科技 单片机片内RAM详解 四 片内地址30H 7FH是普通RAM区 该区域一般作为堆栈区 大多数情况下作为普通RAM区 我们在程序里定义的变量 都可以放在该区域内 这个区域内的字节地址都不可以进行位寻址 如果将此区域作为堆栈区使用 要留出足够的空间 否则就会因为数据存储而破坏堆栈内容 Chengdayong 开发宇宙征服科技 单片机片内RAM详解 五 80H FFH地址空间的分布 说明 对于80H FFH的空间 89C51系列的单片机没有普通RAM区 而对与89C52系列的单片机来说才有普通RAM区 在C语言编写程序时 如果定义的变量前加上idata的限制 那该变量就在此区域中 在特殊功能寄存器区 凡是地址能被8整除的 都可以进行位寻址 其他的都不能进行位寻址 在高128字节的普通RAM区 都不可以进行位寻址 Chengdayong 开发宇宙征服科技 单片机片内RAM详解 六 关于寻址方式的问题我们会在后面的指令系统中介绍 在这里只需要知道这两部分空间 80H FFH中的普通RAM区和SFR区 对应的地址是相同的 是通过不同指令 寻址方式 来区别到底访问的是哪个空间的 Chengdayong 开发宇宙征服科技 单片机片内RAM详解 七 特殊功能寄存器 SpecialFunctionRegister 专用于控制 选择 管理 存放单片机内部各部分的工作方式 条件 状态 结果的寄存器 不同的SFR管理不同的硬件模块 负责不同的功能 各司其职 换言之 要让单片机实现预定的功能 必须有相应的硬件和软件 而软件中最重要的一项工作就是对SFR写命令 要求 Chengdayong 开发宇宙征服科技 特殊功能寄存器地址分布及功能表 一 Chengdayong 开发宇宙征服科技 特殊功能寄存器地址分布及功能表 二 Chengdayong 开发宇宙征服科技 常用特殊功能寄存器中英文对照 P0 P1 P2 P3 四个并行输入 输出口的寄存器 SCON SerialControlRegister 串口控制寄存器SBUF SerialDateBuffer 串行数据缓冲器PCON PowerControlRegister 电源控制寄存器TMOD Timer CounterModeRegister 定时器工作模式寄存器TCON Timer CounterControlRegister 定时器控制寄存器TH0 TL0 TH1 TL1 分别是T0 T1的记数初值寄存器 IP InterruptPriorityRegister 中断优先级控制寄存器IE InterruptEnableRegister 中断允许控制寄存器 Chengdayong 开发宇宙征服科技 特殊功能寄存器 SFR 解析 一 特殊功能寄存器 PC 又叫做程序计数器PC ProgramCounter 它是16位的按机器周期自动增1计数器总指向下一条指令所在首地址 当前PC值 一切分支 跳转 调用 中断 复位等操作的本质就是 改变PC值 Chengdayong 开发宇宙征服科技 特殊功能寄存器 SFR 解析 二 数据指针寄存器DPTR数据指针DPTR是一个16位的专用寄存器 其高位字节寄存器用DPH表示 低位字节寄存器用DPL表示 既可作为一个16位寄存器DPTR来处理 也可作为两个独立的8位寄存器DPH和DPL来处理 DPTR主要用来存放16位地址 当对64KB外部数据存储器空间寻址时 作为间址寄存器用 在访问程序存储器时 用作基址寄存器 Chengdayong 开发宇宙征服科技 特殊功能寄存器 SFR 解析 三 程序状态字寄存器PSWCY PSW 7 进位 借位标志位 若ACC在运算过程中发生了进位或借位 则CY 1 否则 0 它也是布尔处理器的位累加器 可用于布尔操作 AC PSW 6 半进位 借位标志位 若ACC在运算过程中 D3位向D4位发生了进位或借位 则AC 1 否则 0 机器在执行 DAA 指令时自动要判断这一位 F0 PSW 5 可由用户定义的标志位 OV PSW 2 溢出标志位 OV 1时特指累加器在进行运算时出错 超出范围 OV 0时未出错 Chengdayong 开发宇宙征服科技 特殊功能寄存器 SFR 解析 四 程序状态字寄存器PSWPSW 1 未定义P PSW 0 奇偶标志位 P 1表示累加器中 1 的个数为奇数 P 0表示累加器中 1 的个数为偶数 CPU随时监视着ACC中的 1 的个数 并反映在PSW中 Chengdayong 开发宇宙征服科技 特殊功能寄存器 SFR 解析 五 程序状态字寄存器PSWRS1 PSW 4 RS0 PSW 3 工作寄存器组选择位 RS1 RS0 00则选择了工作寄存器组0区R0 R7分别代表00H 07H单元 RS1 RS0 01则选择了工作寄存器组1区R0 R7分别代表08H 0FH单元 RS1 RS0 10则选择了工作寄存器组2区R0 R7分别代表10H 17H单元 RS1 RS0 11则选择了工作寄存器组3区R0 R7分别代表18H 1FH单元 Chengdayong 开发宇宙征服科技 单片机堆栈详解 一 堆栈 在片内RAM中 常常要指定一个专门的区域来存放某些特别的数据 它遵循先进后出和后进先出 LIFO FILO 的原则 这个RAM区叫堆栈 功用 1 子程序调用和中断服务时CPU自动将当前PC值压栈保存 返回时自动将PC值弹栈 2 保护现场 恢复现场3 数据传输 Chengdayong 开发宇宙征服科技 单片机堆栈详解 二 00H 20H 2FH 7FH 1FH 30H 80H FFH 52子系列才有的RAM区 普通RAM区 位寻址区 工作寄存器区 SP栈顶 下一个进栈的数据将存在此处 数据进栈 已经进栈的数据存放在此 初始SP 复位后SP 07H 数据进栈时 首先SP 1指向08H单元 第一个放进堆栈的数据将放进08H单元 然后SP再自动增1 仍指着栈顶 堆栈区由特殊功能寄存器堆栈指针SP管理堆栈区可以安排在RAM区任意位置 一般不安排在工作寄存器区和可按位寻址的RAM区 通常放在RAM区的靠后的位置 Chengdayong 开发宇宙征服科技 单片机堆栈详解 三 00H 20H 2FH 7FH 1FH 30H 80H FFH 52子系列才有的RAM区 普通RAM区 位寻址区 工作寄存器区 SP栈顶 当前要出栈的数据 数据出栈 SP 1指向下一个将要出栈的数据 初始SP 复位后SP 07H 数据进栈时 首先SP 1指向08H单元 第一个放进堆栈的数据将放进08H单元 然后SP再自动增1 仍指着栈顶 堆栈区由特殊功能寄存器堆栈指针SP管理堆栈区可以安排在RAM区任意位置 一般不安排在工作寄存器区和可按位寻址的RAM区 通常放在RAM区的靠后的位置 Chengdayong 开发宇宙征服科技 单片机堆栈详解 四 00H 20H 2FH 7FH 1FH 30H 80H FFH 52子系列才有的RAM区 普通RAM区 位寻址区 工作寄存器区 数据出栈 SP 1指向新的栈顶 也就是下一个将要出栈的数据 初始SP 复位后SP 07H 数据进栈时 首先SP 1指向08H单元 第一个放进堆栈的数据将放进08H单元 然后SP再自动增1 仍指着栈顶 堆栈区由特殊功能寄存器堆栈指针SP管理堆栈区可以安排在RAM区任意位置 一般不安排在工作寄存器区和可按位寻址的RAM区 通常放在RAM区的靠后的位置 Chengdayong 开发宇宙征服科技 单片机堆栈详解 五 PUSHAPUSHBPUSHPSW POPAPOPBPOPPSW这样的指令顺序对不对呢 Chengdayong 开发宇宙征服科技 51单片机存储器配置 片内RAM128字节 00H 7FH 片内RAM前32个单元是工作寄存器区 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市政工程监理工作总结范文
- 高中数学难题解析与习题集
- 三年级数学计算题专项练习汇编及答案
- (2025年标准)打包垃圾协议书
- 遂宁能源职业学院《焙烤工艺学》2024-2025学年第一学期期末试卷
- (2025年标准)村民分房回迁协议书
- 厦门兴才职业技术学院《航空维修工程学》2024-2025学年第一学期期末试卷
- (2025年标准)村级调解不成协议书
- (2025年标准)促销付款协议书
- 许昌电气职业学院《初等数论初步》2024-2025学年第一学期期末试卷
- 2025年人教版山东省济南市九年级中考英语模拟试卷(含答案无听力音频及原文)
- 水利工程安全生产工作目标与实施方案
- 消毒供应中心培训课件
- 软包安装合同协议
- 教师531行动计划表范文
- 2025年一级建造师《建筑工程管理与实务》试卷真题(附解析)
- 物业薪酬管理办法
- 空调系统的应急预案
- 外场管理制度
- 集团公司新闻宣传工作管理办法
- 金属非金属矿山安全规程的完整性与实施
评论
0/150
提交评论