清零程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一清零程序一、实验目的
掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验时间地点
时间:2014年4月15日
地点:8B204
三、实验内容
把2000H~20FFH单元的内容清零。
四、实验程序框图
五、实验程序
(1)基本程序
ORG 0000H
LJMP SE01
ORG 0640H
SE01: MOV R0,#00H
MOV DPTR,#2000H
LOO1: CLR A
MOVX @DPTR,A
INC DPTR
INC R0
CJNE R0,#00H,LOO1
LOOP:SJMP LOOP
END
(2)带注释的基本程序(为方便程序阅读仅对注释部分做了详细的注释而已)ORG 0000H
LJMP SE01
ORG 0640H
SE01: MOV R0,#00H ;(00H)送R0,R0 为计数器
MOV DPTR,#2000H ;(2000H)送DPTR
LOO1: CLR A ;累加器A 清零
MOVX @DPTR,A ;存储空间内容清零
INC DPTR ;DPTR 加1
INC R0 ;R0 加1
CJNE R0,#00H,LOO1 ;若R0 不等于00,则跳转至LOO1 继续循环
LOOP: SJMP LOOP
END
六、实验步骤
使用DICE-51单片机仿真系统,用连续或单步方式运行实验程序,检查执行程序前后2000~20FF单元中的内容变化。
首先打开DICE-51单片机仿真系统软件,新建一个文件名尾缀为.asm的文件,将程序输入到文件当中,打开程序存储器和数据存储器,任意改变存储单元中的内容,经编译,连接,装载后,先采用单步方式运行实验程序,由数据存储器中可以看到2000~20FF单元的内容逐渐清零,程序运行结束2000~20FF单元的内容都为0;再采用连续方式运行实验程序,实验结果为2000~20FF单元的内容都为0。
七、思考
假使把1000H~10FFH 中的内容改成FF,如何修改程序,请分别用连续和单步方式运行程序来完成验证。
修改后的程序如下所示:
ORG 0000H
LJMP LOO2
ORG 1000H
MOV R0,#00H
MOV DPTR,#1000H
LOO2:MOVX @DPTR,#0FFH
INC DPTR
INC R0
CJNZ R0,#00H,LOO2
SJMP $
END
验证步骤:
首先打开DICE-51单片机仿真系统软件,新建一个文件名尾缀为.asm的文件,将程序输入到文件当中,打开程序存储器和数据存储器,任意改变存储单元中的内容,经编译,连接,装载后,先采用单步方式运行实验程序,由数据存储器中可以看到1000~10FF单元的内容逐渐清零,程序运行结束1000~10FF单元的内容都为0;再采用连续方式运行实验程序,实验结果为1000~10FF单元的内容都为0。
八、实验心得
通过清零实验,我对DICE-51单片机仿真系统软件有了一个初步的认识,懂得新建源程序,编译,连接,装载,运行源程序,得到实验结果;怎么通过观察仿真系统中的程序存储器和数据存储器内容的变化,可以了解到单片机内部的结构具体的变化,从而验证实验程序的正确性,帮助我们更好地了解到单片机的结构。使用DICE-51单片机仿真系统软件能够更方便,快捷地校正,修改程序,DICE-51单片机仿真系统提供了一个相对具体的仿真环境,是学习单片机的一个有用工具。