第一次数传指令试验_第1页
第一次数传指令试验_第2页
第一次数传指令试验_第3页
第一次数传指令试验_第4页
第一次数传指令试验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、指令系统和汇编语言程序设计实验 本章实验主要包括指令系统和汇编语言程序设计两部分。采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。实验操作说明Keil 软件调试方式分为:软件仿真方式和硬件调试两种。 软件仿真实验上机操作步骤:1、进入Keil,点击桌面上“Keil Version 3”图标,进入Keil系统窗口;2、新建工程: 1)打开“工程”菜单中的新建,在弹出的对话框中,键入自己定义的工程名;2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定;3)

2、存入C:keil 文件夹中。(机房,安装在C盘,改为C:keil)3、打开“视图”菜单中的“工程窗口”;4、在“工程窗口”中,右击“目标1”,为工程设置参数; 1)在弹出的快捷菜单中选择“为目标“目标1”设置选项”; 2)在弹出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”; 3)选择“调试”选项卡,在单选框选择“软件仿真方式”; 4)确定,即完成了“软件仿真方式”的设置。5、新建文件 1)打开“文件”菜单,选择“新建”; 2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序; 3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入C:keil 文件夹中

3、(在大机房,安装在C盘,改为C:keil);例如:a.asm。6、将刚建的新文件添入当前的工程中 1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”; 2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,弹出一个对话框; 3)在对话框中选择“文件类型”为*.*; 4) 选择文件所在路径,同时找到刚键入的a.asm文件,点击“add”按钮,然后点击“close”按钮; 5) 在“工程窗口”点击“源代码组1”左侧的+号,显示添加的a.asm文件,添加成功。7、汇编 1)在“工程窗口”点击“源代码组1”的a.asm文件; 2)打开“a.asm”文件编辑窗口; 3)点击

4、工具按钮中的“重建所有的目标文件”,进行汇编; 4)在“输出窗口”显示汇编是否有错,无错,进入调试; 有错,在编辑窗口修改程序,改后,再次汇编,直至无错后进入调试;8、调试程序 1)点击“开始/停止调试”按钮,进入调试界面; 2)在程序窗口中有一个黄箭头指向程序的第一条可执行指令的开头; 3)选择调试方式进行调试; 在“调试”菜单中选择:跟踪、单步、运行、断点等方式; 或按单步或跟踪命令按钮,按一次单步,执行一条指令,pc指针指向下一条要被执行的指令; 检查运行结果 打开“视图”菜单,选择“存储器窗口”,弹出存储器对话框; 在存储器对话框的下方选择memory1在地址栏中键入“C:0X0000

5、”回车,建立程序存储器的观察窗口; 选择memory2在地址栏中键入“D:0X00”回车,建立内部数据存储器的观察窗口; 选择memory3在地址栏中键入“X:0X0000”回车,建立外部数据存储器的观察窗口; 在“project workspace”窗口中观察r0-r7,a,pc,dptr,psw,要观察各个标志位,打开psw左侧的+号; 9、设置PC指针 当程序的首地址不是0000H时,汇编结束后,PC指针仍然指向0000H的地方,在调试程序前,一定要将PC设置到你的程序首地址处,方法为:1)将光标移到程序的第一条指令处,击鼠标右键;2)在快捷菜单中选择“Set Program Count

6、er”命令,PC指针即可指向程序的第一条指令。指令系统实验实验一 熟悉键盘操作及数传指令编程设计实验目的熟悉软件模拟调试的环境及键盘操作。掌握汇编语言程序设计的方法,加深对指令的理解。学会软件模拟调试和察看修改观察项的方法。实验内容印证数据传送指令的功能、寻址方式以及PC指针、SP指针、DPTR指针、Ri指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。 三、实验步骤进入调试软件环境,输入源程序;汇编源程序;用单步方式运行程序;检查并记录各寄存器和存储单元内容的变化。四、程序清单内部RAM数据传送(MOV指令)1)寄存器寻址与立即寻址,需要查看的数据有A、PSW和不同

7、寄存器区的Rn等单元的内容。ORG 0000HAJMP 0050HORG 0050HMAIN: MOV PSW,#00H ;RS1=0,RS0=0 0组寄存器 MOV R0,#30H MOV A,R0 MOV R6,A SETB RS1SETB RS0 ; RS1=1,RS0=1 3组寄存器MOV R0,#30H MOV A,R0 MOV R6,AMOV PSW,#10H ;RS1=1,RS0=0 2组寄存器MOV R0,#30H MOV A,R0 MOV R6,ACLR RS1SETB RS0 ;RS1=0,RS0=1 1组寄存器MOV R0,#30H MOV A,R0 MOV R6,A S

8、JMP $ END 2) 直接寻址,需查看30H、31H、32H、40H、ACC、PSW、02H等单元的内容。 ORG 0000H AJMP 0060H ORG 0060HMAIN: MOV 30H,#45H MOV 31H,#46H MOV 02H,31H MOV 0E0H,30H MOV 32H,ACC MOV ACC,PSW MOV 40H,ACC SJMP $ END 3)寄存器间接寻址,需查看R0、RO等的内容。 ORG 0000HAJMP 0070HORG 0070HMAIN:MOV 30H,#66H MOV R0,#30H MOV R0,#30H INC R0 MOV R0,#3

9、1H SJMP $ END外部程序存储器数据传送(MOVC指令)根据A中数据查外部程序存储器单元2000H200FH单元中的字形码,依次存入内部RAM以30H开始的单元。ORG 0000HAJMP 0080HORG 0080HMAIN:MOV R0,#30HMOV R2,#08HMOV R3, #00H LOOP: MOV A,R3MOV B,#02H ADD A,B MOV DPTR,#2000H MOVC A,A+DPTR MOV R0,A INC R0 INC R3 DJNZ R2,LOOP SJMP $ ORG 2000H TABL: DB 0C0H,0F9H,0A4H,0B0H,99

10、H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,086H,08EH END堆栈操作(PUSH和POP指令)需要查看的数据有50H、51H、A及SP指针和堆栈区中数据随PUSH和POP指令执行后的变化情况和数据的存放次序等。1)可用于保护现场和恢复现场的程序ORG 0000HAJMP 0090HORG 0090H MAIN:MOV SP,#5FHMOV 50H,#3BHMOV 51H,#2FHMOV A,#12H PUSH 50H PUSH 51H PUSH ACCPOP 0E0H POP 51H POP 50H SJMP $ END 2)可用于数据交换的

11、程序ORG 0000HAJMP OOA0HORG 00A0H MAIN:MOV SP,#6FHMOV 50H,#3BHMOV 51H,#2FH PUSH 50H PUSH 51H POP 50H POP 51H SJMP $ END4.数据交换 (SWAP、XCHD、XCH指令) 记录每条指令运行后的结果,从而加深对各种不同的交换指令的理解。 1)SWAP指令 ORG 0000H AJMP 00B0HORG 00B0H MAIN:MOV A,#58H SWAP A MOV 40H,A SJMP $ END 2) XCHD 指令 ORG 0000H AJMP 00C0H ORG 00C0H MA

12、IN:MOV A,#30H MOV R0,#30H MOV R0,#09H XCHD A,R0 MOV 41H,A SJMP $ END 3)XCH 指令 ORG 0000H AJMP 00D0H ORG 00D0H AMIN:MOV R0,#50H MOV 50H,#1 MOV A,#89H XCH A,50H MOV R7,#3 XCH A,R7 XCH A,R0 SJMP $ END5. 外部数据存储器数据传送(MOVX指令)将内部RAM中40H单元的内容送到外部数据存储器(或I/O口)3695H单元。DPTR 作指针 ORG 0000H AJMP 00F0H ORG 00F0H MAIN:MOV 40H,#99H MOV A,40H MOV DPTR,#3695H MOVX DPTR,A SJMP $ ENDRi作指针 ORG 0000H AJMP 0100H ORG 0100H MA

温馨提示

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

评论

0/150

提交评论