实验一 指令与寻址方式认知实验(Keil)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一指令与寻址方式认知实验
一、实验目的
1.了解单片机基本指令及其寻址方式;
2.掌握在µVision环境中查看指令操作结果的技巧。
二、实验仪器和设备
Keil软件;THKSCM-2综合实验装置;
三、实验原理及实验内容
1.示例及相关设置
(1)建立一个文件夹:lx31。
(2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx31.asm文件名存盘到lx31文件夹中。
ORG 0000H
MAIN:MOV R7,#16
MOV A,#00H
MOV R0,#30H
LP:MOV @R0,A
INC R0
INC A
DJNZ R7,LP
SJMP $
END
(3)在lx31文件夹下建立新工程,以文件名lx31存盘(工程的扩展名系统会自动添加)。
(4)在Project菜单的下拉选项中,单击Options for Target ‘Target1’,在弹出的窗口中要完成一下设置:
○1单片机芯片选择AT89C51选择完器件,按“确定”后会弹出一个提示信息框,提示“Copy Startup Code to Project Folder and Add File to Project?”,选择“是”。
○2晶振频率设为11.0592MHz。
○3Output标签下的Create HEX File前小框中要打钩。
○4在Debug标签选择Use Simulator(软件模拟)。
(5)在Project菜单的下拉选项中,单击build Target 选项完成汇编,生成目标文件(.HEX)。利用单步、执行到光标处两种方法运行程序,观察程序运行的结果。
(6)分析程序的功能,研究观察以下指令的寻址方式及其操作效果。
2.示例及相关设置
(1)建立一个文件夹:lx32。
(2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx32.asm文件名存盘到lx32文件夹中。
ORG 0000H
MOV R0,#20H
MOV R1,#22H
MOV A,@R0
ADD A,@R1
MOV 24H,A
INC R0
INC R1
MOV A,@R0
ADDC A,@R1
MOV 25H,A
SJMP $
END
(3)在lx32文件夹下建立新工程,以文件名lx32存盘(工程的扩展名系统会自动添加)。
(4)在Project菜单的下拉选项中,单击Options for Target ‘Target1’,在弹出的窗口中要完成一下设置:
○1单片机芯片选择AT89C51选择完器件,按“确定”后会弹出一个提示信息框,提示“Copy Startup Code to Project Folder and Add File to Project?”,选择“是”。
○2晶振频率设为11.0592MHz。
○3Output标签下的Create HEX File前小框中要打钩。
○4在Debug标签选择Use Simulator(软件模拟)。
(5)在Project菜单的下拉选项中,单击build Target 选项完成汇编,生成目标文件(.HEX)。利用单步、执行到光标处两种方法运行程序,观察程序运行的结果。
(6)分析程序的功能,说明指令ADDC A,@R1与ADD A,@R1的异同。
(7)设计小程序,观察以下几组指令的操作效果:
ADD、ADDC;
AJMP、SJMP;
MOV、MOVC;
XCD、XCHD、SW AP;
ANL、ORL;
DJNZ;
JZ、JC;
RL、RLC等。
(8)设计小程序,研究一下指令,观察堆栈的操作效果:
PUSH、POP;
ACALL、RET。
四、实验结果和数据分析
问题:1、完成三中1与2的(5)(6)两步,并写出结果。
2、结合三中第2的(7)(8)两步设计一个小程序,并给出结果。