存储器单元的检查_第1页
存储器单元的检查_第2页
存储器单元的检查_第3页
存储器单元的检查_第4页
存储器单元的检查_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、第1页,共48页,2022年,5月20日,16点2分,星期二单片机的存储器有哪些类型?单片机存储器的地址空间如何分配?如何对不同的存储器单元空间进行检查?涉及问题第2页,共48页,2022年,5月20日,16点2分,星期二 单片机的存储器采用哈佛体系结构。 程序存储器和数据存储器互相独立,有各自的寻址机构和寻址方式。 通用微机的存储器结构采用普林斯顿体系结构。 只有一个存储器逻辑空间,可随意安排ROM或RAM,访问时用同一种指令。单片机的存储器有哪些类型?参见教材单片机的C51应用程序设计第 5、6 页 第3页,共48页,2022年,5月20日,16点2分,星期二内部存储资源外部扩展存储资源

2、片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器从物理地址看分两大类、4个存储地址空间:参见教材单片机的C51应用程序设计第 6 页 第4页,共48页,2022年,5月20日,16点2分,星期二程序存储器用于存放程序及表格常数。在单片机应用时,只能读,不能写。数据存储器用于存放程序运行所需要的给定参数和运行结果。在单片机应用时,既能读,又能写。第5页,共48页,2022年,5月20日,16点2分,星期二Keil C51的Memory窗口能显示各种存储区的内容。如何对不同的存储器单元进行检查?参见教材单片机的C51应用程序设计第 316 页 单片机存储器的地址空间如何分配?不同的单

3、片机,存储器的地址空间有所不同。第6页,共48页,2022年,5月20日,16点2分,星期二 程序存储器参见教材单片机的C51应用程序设计第 5 页、第 59 页 以8051为例 存储容量:64KB 地址范围:0000HFFFFH第7页,共48页,2022年,5月20日,16点2分,星期二 片内与片外程序存储器的选择 EA引脚接高电平-片内以8051为例参见教材单片机的C51应用程序设计第 5 页 、第 59、60 页 第8页,共48页,2022年,5月20日,16点2分,星期二 EA引脚接低电平-片外以8051为例参见教材单片机的C51应用程序设计第 5 页 、第 60 页 第9页,共48页

4、,2022年,5月20日,16点2分,星期二 程序存储器低端的几个特殊单元 以8051为例参见教材单片机的C51应用程序设计第 6 页 第10页,共48页,2022年,5月20日,16点2分,星期二1、打开实验例程实验1C51 工程文件。2、编译。3、调试,查看反汇编窗口、程序存储器的情况。4、运行,查看反汇编窗口、P1口的情况。思考:1、反汇编窗口中出现了几种语言?2、程序存储器中存放的是什么?3、能修改程序程序存储器的内容吗?演示第11页,共48页,2022年,5月20日,16点2分,星期二反汇编窗口(Dissambly Window)点击ViewDissambly Window可以打开反

5、汇编窗口。该窗口可以显示反汇编后的代码、源程序和相应反汇编代码的混合代码。可以在该窗口进行在线汇编、利用该窗口跟踪已找行的代码、在该窗口按汇编代码的方式单步执行。Keil C51中的参见教材单片机的C51应用程序设计第 314页 第12页,共48页,2022年,5月20日,16点2分,星期二存储器观察窗口(Memory Window)在调试状态下,选择主菜单View下的Memory Window选项,可打开或关闭存储器观察窗口。存储器观察窗口分4页,分别是Memory#1 Memory#4。每一页都可以显示程序存储器、内部数据存储器和外部数据存储器的值。参见教材单片机的C51应用程序设计第 3

6、16 页 Keil C51中的第13页,共48页,2022年,5月20日,16点2分,星期二通过在Address后的编缉框内输入“字母:数字”即可显示相应内存值,其中字母可以是C、D、I、X、S。例如:C:30 C:0X500 C:1000H 字符存储空间C片内及片外ROMD直接寻址的片内RAMI间接寻址的片内RAMX片外RAMS系统占用空间第14页,共48页,2022年,5月20日,16点2分,星期二在存储器窗口的地址栏处输入C:0000H后回车,则可以观看所有单片机片内程序存储器从地址0开始的单元内容,即查看程序的二进制代码。下面用横线画出来的部分就是已经编辑的源程序转化成的机器语言的十六

7、进制数(对应的机器码)。第15页,共48页,2022年,5月20日,16点2分,星期二如果在存储器窗口的地址栏处输入D:30H后回车,则可以观看单片机片内数据存储器30H单元开始的内容。如果在存储器窗口的地址栏处输入I:10后回车,显示10号单元开始的内部数据存储器的内容。该部分是间接寻址方式。如果在存储器窗口的地址栏处输入X:0 x1000后回车,显示从1000H单元开始的外部数据存储器的内容。第16页,共48页,2022年,5月20日,16点2分,星期二第一部份又有多个选择项,其中Decimal项是一个开关,如果选中该项,则窗口中的值将以十进制的形式显示,否则按默认的十六进制方式显示。Un

8、signed和Signed则分别代表无符号形式和有符号形式。 Unsigned和Signed后分别有三个选项。Char:以单字节方式显示。Int:将相邻双字节组成整型数方式显示。Long:将相邻四字节组成长整型方式显示。第17页,共48页,2022年,5月20日,16点2分,星期二究竟从哪一个单元开始的相邻单元则与你的设置有关。以整型为例,如果你输入的是I:0,那么00H 和01H单元的内容将会组成一个整型数;如果你输入的是I:1,01H和02H单元的内容全组成一个整型数,以此类推。第三部份的Modify Memory at X:xx 用于更改鼠标处的内存单元值,选中该项即出现一个对话框,可以

9、在这个对话框内输入要修改的内容。 第18页,共48页,2022年,5月20日,16点2分,星期二这些窗口的显示值可以以各种形式显示,如十进制、十六进制、字符型等,改变显示方式的方法是点鼠标右键,在弹出的快捷菜单中选择。 该菜单用分隔条分成三部份,其中第一部份与第二部份的三个选项为同一级别。选中第一部份的任一选项,内容将以整数形式显示。选中第二部份的Ascii项则将以字符型式显示。选中Float项将相邻四字节组成的浮点数形式显示。选中Double项则将相邻8字节组成双精度形式显示。 第19页,共48页,2022年,5月20日,16点2分,星期二1、打开实验例程实验1 ASM 工程文件,编译调试,

10、查看程序存储器的情况,说明程序代码存放的地址。2、打开实验例程实验2 ASM 工程文件。修改工程设置,选择软件仿真。编译调试,查看程序存储器的情况,说明程序代码存放的地址。3、在第2步的基础上,运行程序。如有问题,查找原因,修改程序,直至能够运行。思考:第一条指令要放在程序存储器的哪个地方?我来演示第20页,共48页,2022年,5月20日,16点2分,星期二 数据存储器参见教材单片机的C51应用程序设计第 5 页、第 60 页 以8051为例 存储容量:256B 地址范围:00HFFH 存储容量:64KB 地址范围:0000HFFFFH片内、片外数据存储器独立编址。第21页,共48页,202

11、2年,5月20日,16点2分,星期二 工作寄存器区:共32个字节,分成4个工作寄存器组,每组8个单元。 寄存器0组 :地址00H07H; 寄存器1组 :地址08H0FH; 寄存器2组 :地址10H17H; 寄存器3组 :地址18H1FH。以8051为例参见教材单片机的C51应用程序设计第 5 页、第 60 页 第22页,共48页,2022年,5月20日,16点2分,星期二当前工作寄存器组选择 PSW寄存器中: 以8051为例参见教材单片机的C51应用程序设计第 5 页、第 60、61页 第23页,共48页,2022年,5月20日,16点2分,星期二 位寻址区:共16个单元,128位以8051为

12、例第24页,共48页,2022年,5月20日,16点2分,星期二 通用RAM区 30H7FH,共80字节 数据缓冲 堆栈一般设置在这个区域 先进后出,后进先出 堆栈指针SP指示栈顶 复位时SP=07H 系统初始化通常重新设置以8051为例参见教材单片机的C51应用程序设计第 8页、第 61页 第25页,共48页,2022年,5月20日,16点2分,星期二与运算器相关3个 ACC B PSW与定时/计数器相关6个 TH0,TL0 TH1,TL1 TMOD TCON指针类3个 SP DPH,DPL与口相关7个 P0,P1,P2,P3 SBUF SCON PCON与中断相关2个 IE IP 特殊功能

13、寄存器 SFR (Special Function Register) 51系列单片机共21个SFR 单片机中各功能部件所对应的寄存器参见教材单片机的C51应用程序设计第 7页、第 64、65页 第26页,共48页,2022年,5月20日,16点2分,星期二序号标识符名称字节地址位地址1ACC累加器E0HE0HE7H2BB寄存器F0HF0HF7H3PSW程序状态字D0HD0HD7H4SP堆栈指针81H5DPH数据指针(高8位)83H6DPL数据指针(低8位)82H7P0P0口80H80H87H8P1P1口90H90H97H9P2P2口A0HA0HA7H10P3P3口B0HB0HB7H11IP中

14、断优先级控制寄存器B8HB8HBFH12IE中断允许控制寄存器A8HA8HAFH13TMOD定时器/计数器方式控制寄存器89H第27页,共48页,2022年,5月20日,16点2分,星期二14TCON定时器/计数器控制寄存器88H88H8FH15T2CON定时器/计数器2控制寄存器C8HC8HCFH16TH0定时器/计数器0(高字节)8CH17TL0定时器/计数器0(低字节)8AH18TH1定时器/计数器1(高字节)8DH19TL1定时器/计数器1(低字节)8BH20TH2定时器/计数器2(高字节)CDH21TL2定时器/计数器2(低字节)CCH22RLDH定时器/计数器2重自动装载(高字节)

15、CBH23RLDL定时器/计数器2重自动装载(低字节)CAH24SCON串行口控制寄存器98H98H9FH25SBUF串行数据缓冲器99H26PCON电源控制及波特率选择寄存器97H第28页,共48页,2022年,5月20日,16点2分,星期二 与运算器相关的寄存器(3个)1、累加器ACC,8位。提供操作数,存结果。2、寄存器B,8位。主要用于乘、除法运算。3、程序状态字寄存器PSW,8位。 P:奇偶标志位。ACC中结果有奇数个1时P=1,否则P=0。 OV:溢出标志位。有溢出时OV=1,否则OV=0; RS1、RS0:当前工作寄存器组选择位; F0:用户标志位,由用户自己定义; AC:辅助进

16、位、借位标志; CY:进位、借位标志。有进位、借位时 CY=1,否则CY=0; D7D6D5D4D3D2D1D0CyACF0RS1RS0OV/P第29页,共48页,2022年,5月20日,16点2分,星期二寄存器观察窗口(Project Window)在调试状态下,选择主菜单View下的Project Window选项,可打开或关闭工程项目窗口。工程项目窗口中的寄存器页(Regs)给出了当前的工作寄存器组(r0r7)和系统寄存器的值。系统寄存器组有一些是实际存在的寄存器如a、b、sp、dptr、pc、psw等特殊寄存器,有一些是实际中并不存在或虽然存在却不能对其操作的如PC、Status等。K

17、eil C51中的第30页,共48页,2022年,5月20日,16点2分,星期二寄存器及其存储器映射如下图:第31页,共48页,2022年,5月20日,16点2分,星期二每当程序中执行到对某寄存器的操作时,该寄存器会以反色(蓝底白字)显示。用鼠标单击然后按下F2键,即可修改该值。在执行程序的过程中可以看到,这些值会随着程序的执行发生相应的变化。 第32页,共48页,2022年,5月20日,16点2分,星期二思考:1、R2共变化了几次?R2的这几个数值分别对应哪几个存储单元?2、通过什么可以切换当前工作寄存器组?切换当前工作寄存器组有什么用处?我来演示 ORG 0000H MOV R2,#30H

18、 MOV PSW,#08H MOV R2,#45H MOV PSW,#10H MOV R2,#91H MOV PSW,#18H MOV R2,#0C2H END 打开一个含汇编语言文件的工程项目,修改程序,编译通过。调试,单步运行,查看R2、PSW、片内数据存储器的变化。第33页,共48页,2022年,5月20日,16点2分,星期二思考:1、单片机的位寻址区主要有两大块,它们分别为哪两大部分?2、位地址与字节地址是如何区分的?我来演示 ORG 0000H CPL 00H CPL 7FH CPL 80H CPL P0.1 CPL C MOV 20H,#34H MOV 20H,C END 打开一个

19、含汇编语言文件的工程项目,修改程序,编译,调试,单步运行,查看并讲述片内数据存储器、P0口的变化。第34页,共48页,2022年,5月20日,16点2分,星期二思考:1、SP怎么变化?2、数据的传送有什么规律?我来演示 ORG 0000HMOV SP,#60HPUSH ACCPUSH BPUSH 30HPUSH 31HPOP 40HPOP 41H POP 42H POP 43HEND 打开一个含汇编语言文件的工程项目,修改程序,编译,调试,单步运行,修改变量值,查看SP、ACC、B、片内数据存储器的变化。第35页,共48页,2022年,5月20日,16点2分,星期二第5次 作业 教材单片机的C

20、51应用程序设计P39 8、8051内部RAM低128字节可分成几个区域?其中通用寄存器区的字节地址范围为多少?如何实现寄存器组的切换?可位寻址区的字节地址和位地址范围分别为多少?第36页,共48页,2022年,5月20日,16点2分,星期二实验二实验科目:单片机应用及C51编程实验名称:存储器单元的检查第37页,共48页,2022年,5月20日,16点2分,星期二一、实验目的 学习利用Keil C51软件对51单片机内RAM、片外RAM、片内外ROM及特殊功能寄存器等不同存储器单元空间的检查方法,加深对单片机存储器地址空间分配的理解。 第38页,共48页,2022年,5月20日,16点2分,

21、星期二二、实验内容 通过单步执行简单的汇编程序,利用Keil C51软件提供的寄存器窗口、内存窗口、片内ROM及片外ROM窗口观察各存储器空间的内容,掌握不同空间的不同检查方法。 第39页,共48页,2022年,5月20日,16点2分,星期二三、仪器设备计算机Keil uVision3 软件第40页,共48页,2022年,5月20日,16点2分,星期二四、实验步骤一、基本任务1、建立一个文件夹(以自己的学号姓名命名),建立一个新工程(以姓名拼音命名),在工程中新建一个汇编程序文件(以姓名拼音命名),并把文件添加到当前工程中。第41页,共48页,2022年,5月20日,16点2分,星期二2、输入

22、下列程序。3、编译,修改错误,直至通过。 ORG 0000H MOV A,#34H ADD A,#34H MOV R7,A ADD A,#34H MOV 34H,A MOV B,A MOV DPTR,#1000H MOVX DPTR,A MOV DPTR,#0000H MOV A,#01H MOVC A,A+DPTR MOV P1,A END 第42页,共48页,2022年,5月20日,16点2分,星期二4、调试,查看程序存储器的内容。5、单步运行,查看工作寄存器、特殊寄存器、片内数据存储器、片外数据存储器的内容。6、更改工作寄存器、SFR、片内RAM、片外RAM的内容。7、单击“RST”按钮让CPU复位。8、全速运行。第43页,共48页,2022年,5月20日,16点2分,星期二二、提高任务1、移除除工程中的原文件,添加新文件。2、输入下列程序。3、编译,调试,查看程序存储器的内容。4、单步运行,查看SP、R

温馨提示

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

评论

0/150

提交评论