实验一 单片机实验软件开发环境和简单程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
姓名陈舒婷学号1515231008
时间20171114地点机电信息实验大楼
实验题目实验一软件开发环境和简单程序设计
一、实验目的与要求
1. 熟悉W A VE软件使用
2. 学习简单程序的调试方法
二、实验主要仪器及环境:
WA VE软件、W A VE软件模拟器
三、实验内容及步骤
1.启动PC机,打开W A VE软件,软件设置为模拟调试状态。在所建的项目文件中输入源程序,进行编译,编译无误后,执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序。
2.打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四、实验流程框图、实验程序
1、
(1)参考程序
ORG 0000H
START EQU 30H
MOV R0, #START
MOV R2, #10
mov a,#01h
Loop:
MOV @R0,A
INC R0
DJNZ R2,Loop
NOP
LJMP $
END
(2)说明此程序的功能
答将RAM内的30H单元到39H单元的内容全部置1。
2、加减法运算
(1)将立即数#B5H、#36H、#89H分别传送至内部RAM区40H、R2、A中。
(2)将内部RAM区40H中的内容与A中的内容相加,然后再与R2中的内容相加,结果存放至内部RAM区50H中。
(3)将A中的内容与内部RAM区40H中的内容相减,结果存放至内部RAM区60H中。
程序:
ORG 000H
MOV 40H, #0B5H
MOV R2,#36H
MOV A,#89H
ADD A,40H
ADD A,R2
MOV 50H,A
SUBB A,40H
MOV 60H,A
END
3、乘除法运算
(1)将立即数#75H、#31H分别传送至内部RAM区15H、33H中。
(2)将内部RAM区15H单元的内容与33H单元的内容相乘。
(3)将乘积的高8位和低8位分别传送至内部RAM区31H、30H中。
(4)将内部RAM区15H单元的内容除以33H单元的内容。
(5)将商和余数分别传送至内部RAM区41H、40H中。
程序:
ORG 0000H
MOV 15H, #75H
MOV 33H, #31H
MOV A,15H
MOV B,33H
MUL AB ;相乘之后B是高八位,A是低八位
MOV 31H,B
MOV 30H,A
MOV A,15H
MOV B,33H
DIV AB ;A/B 得到A(商),B(余数)
MOV 41H,A
MOV 40H,B
五、程序测试报告(调试输入数据、结果数据或状态。)
1、参考程序
运行结果:
2、加减法运算
运行结果:
3、乘除法运算
运行结果:
五、思考题
1、软件开发环境提供了哪些调试手段?各有何特点?
答:伟福仿真器为我们的调试提供了多种方法,它可以编译,以便查找语法错误;单步执行,来检查每句程序的功能;全速执行程序,来检查整段程序要完成的功能;还可以设置断点进行调试,以便分段执行程序。
2、如何将存储器块的内容移动到另一位置?
答:借助指针和寄存器,利用转移类指令即可将存储器块的内容移动到另一位置。
六、小结
本次实验用的是伟福软件模拟器,通过这次试验我基本掌握了wave仿真开发软件的使用方法和基本的编程、调试方法,了解了单片机内部存储器的结构和分配及读写存储器的方法。
除此之外,值得我们注意的是:用伟福进行模拟仿真的时候,在运行时文件保存名后缀必须为.ASM;以字母开头的16进制数前边要加‘0’,否则会报错;文件路径最好用全英文形式,避免编译出错而找半天又不知道错误出在哪里。