单片机汇编语言实验教程._第1页
单片机汇编语言实验教程._第2页
单片机汇编语言实验教程._第3页
全文预览已结束

下载本文档

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

文档简介

1、本文由zaoangy贡献doc文档可能在WAP端浏览体验不佳。建议您优先选择 TXT,或下载 源文件到本机查看。实验一熟悉MCS-51寻址方式及传送类指令一.实验目的:1.熟悉 uVision2 集成调试环境 2.熟悉MCS-51 寻址方式及传送类指令二.uVision2 集成调试环境的使用uVision2是德国 Keil Software公司用于多种嵌入式微处理器的一个理想、快速、可靠的程序调试器。此调试器包含一个高速模拟器,能够让你模拟整个8051系统,包括片上外围 器件和外部硬件。1.创建项目uVisio n2 是以项目来管理你的任务,它可以使你的8051 应用系统设计变得简单。要创建一

2、个应用,你需要按下列步骤进行操作:第一次使用,首先为我们编写的实验程序在 D 盘上新建一个文件夹单片机实验;启动uVision2,新建一个项目文件并从器件库中选择一个器件,操作步骤如下:直接在桌面上点击uVision2程序图标就可以启动它。要新建一个项目文件,从uVision 2的 Project菜单中选择 New Project,这将打开一个标准的Win dows对话框,此对话框要求你输入项目文件名,例如为实验一新建项目单片机实验ex1.vu2。紧接着SelectDevice for Target,即为你的项目选择一个CPU。我们选择Gene ric下的8032。2.新建一个源文件你可以用菜

3、单选项 File-New来新建一个源文件。这将打开一个空的编辑窗口让你输入你的源代码。编辑后,我们把我们的实验程序保存为单片机实验dpj1.asm。3.将你的源文件加入到你的项目中在你的 P roject Workspace 窗口双击 Target 1 及 Suorce Group 1,将你的目 标系统一直展开到看到源文件组,如图1(a所示。右击Suorce Group 1,出现 Add files选项,选择它可打开一个标准的文件对话框,从对话框中选择你刚刚生成的文件 dpj1.asm。(a (b图1 Suorce Group 1 中的文件 STARTUP.A51 是大多数不同 的8051CP

4、U准备的启动代码。 我 们暂且先不用它,用右键点击删除它 (Remove File ,STARTUP.ASM? 。现在你的项目中只包含一个源文件:dpj1.asm如图1(b。4编译(或汇 编你的源程序 依次点击 Project、BuildTarget即可编译(或汇编你的源程序(留意一下,在工具栏上可找到相应快捷按 钮。在下面的输出窗口Output Window(如图 2可看到编译(汇编的结果,应该没有错误才可继续下面实验。否则修改你的源程序,直到没有错误为止。如图 2 4调试你的程序 依次点击 Debug,Start/Stop DebugSession进入调试模式(也可利用快捷按钮,并且如再按

5、一次该按钮,则又切回到 程序编辑状态。你现在就可以采用指令单步、函数单步、运行到光标处行、连续运行等命令调试你的 程 序(这些命令在Debug下 Step Step over,Runto Cursor line、Go。也可利用快捷按钮。你也可以设置断点后,连续执行程序进行调试。如程序运行到中间想从头再来,只要按 RST按钮即可。常用调 试快捷按钮符号Rst说明复位连续运行指令单步函数单步 Go Step into Step over Run to Cursor line 运行到光标处行 Start/StopDebug Session调试模式/编辑模式切换5.存储器、寄存器的查看、修改在调试程序

6、时,经常需要查看存储器内容,你可以查看 80C52内的4个存储器逻辑空间的任一个。在调试模式下,依次点击 V iew,Memory Win dow,你可以看到包含 4 个存储器空间的窗 口你在第一个存储器空 间的 Address栏内输入 C:0,即可看到从 0000H 开 始的一段程序存储内容;你也可以在其它 Address栏内分别填入X:0、D:0、I:0就可以查看外部数据存储器空间、直接寻址的片内存储空间(包括片内00-7FH 的 RAM,及 80H-0FFH 的 SFR 、间接寻址的片内存储空间(包 括片内 00-7FH 的 RAM,及 8032 的 80H-0FFH 的数据 RAM 。

7、 如 要修改 Memory Window 内存储单元内容,可用鼠标右键点击选定存储单元,根 据提示即可修改。 在 Project Workspace窗口你还可以看到 8031的所有寄存器,这对调试程序也很重要。如要查看单片机的外围部件,像端口 P0-P3定时器 TO、T1 等,可点击 Peripherals。 三传送类指令练习MCS-51单片机的存储空间如表所示:数据空间片内/片内片外寻址方式空间范围表示方法 RAM 直接 间接 00-7FH DATA 片内 SFR 直接 寻址 80-FFH SFR RAM 间接寻址 80H-FFH IDATA 片外 RAM 间接寻址 0000- FFFFH

8、XDATA 片内 ROM 间接寻址 0000-0FFFH CODE程序空间 片外 ROM 间接寻址 0000-0FFFH CODE ROM 间接寻址 1000H-0FFFF H CODE1直接寻址只能在DATA 区和SFR中进行,如下例 MOV A,03H ; 把地址03H 中的数移入累加器MOV 43H, 22H ;把地址22H中的数移入地址43H 中 MOV 02H, C ; 把Cy中的数移入位地址02H 中 MOV 42H, #18H ; 把立即数18移入地址42H 中 MOV 0 9H, P1 ;把端口 1中的数移入地址09H 中 2间接寻址要使用DPTR,PC ,R0,R1寄存器作为

9、指针访问各存储器。可访问的空间为CODE、IDATA、XDATA存储区,对DATA 存储区也可进行间接寻址。只能用直接寻址方式对位地址进行寻址。DATA和IDATA 区寻址:MOV R1, #22H ;设置R1 为指向DATA 区内的地址22H 的指针 MOV R0,#0A9 H ; 设置R0 为指向IDATA 区内的地址0A9H 的指针 MOV A, R1;读入地址22H 的数据 MOV R0, A ;将累加器中的数据写入地址 A9H INC R0 ; RO 中的地址变为AAH IN C R1 ; R1 中的地址变为23H MOV 34H, R0 ;将地址AAH 中的数据写入34H MOV

10、R1 , #67H;把立即数写入地址23H XDATA 区寻址:MOV DPTR, #3048H; DPTR 指向外部存储区 MOVX A, DPTR ;读入外部存储区地址 3048H 中的数 INC DPTR ; 指针加一 MOV A, #26H; 立即数26H 写入A 中 MOVXDPTR, A ;将26H 写入外部存储区地址 3 049H 中 MOV R0, #87H R0指向外部存储区地址87H MOVX A, R0 ;将外部存储区地址87H中的数读入累加器中 CODE区寻址:MOV DPTR, #TABLE_BASE ; DPTR 指向表首地址 MOV A, #5 ;把偏移量(立即数

11、5装入累加器中 MOVC A, A+DPTR ;从表中读 出数据到累加器中(5的平方SJMP INDEX2 TABLE_BASE: DB 0,1,4,9,16,25,36 ;平方表 INDEX2: MOV A, # 5 ;把偏移量(立即数5装入累加器中 ADD A, #2 ;由于SJMP EXIT指令占用2字节,修正偏移量 MOVC A, A+PC ; 从表中读出数据到累加器中(5的平方 SIMP EXIT EXI T: DB 0,1,4,9,16,25,36 ; 平方表 SJMP ¥四.实验步骤 1.熟悉uVision2集成调试环境的使用。2.按照上述二.2条,新建一源程序文本文档,并将第三步中字体为蓝色的程序录入。 3. 在已录入的程序 前插入如下程序,作为内存初始化;dpj1 MOV A, #0 MOVR0, #0FFH INI: MOV R0, A INC A DJNZ R0, INI 4.5. 6.7.在录入的程序最后加上:END 作为程序结束 保存文件名为“dpj1.asm如该 文件已存在,也可存为其它*.asm 文件。切换到调试模式,先将光标置于上

温馨提示

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

评论

0/150

提交评论