实验一 系统认识实验
一、实验目的
学习Dais软件的操作,熟悉程序编写的操作步骤及调试方法。
二、实验设备
PC计算机一台,Dais-52PRO+或Dais-PRO163C实验系统一套。
三、实验内容
编写程序,将80h~8Fh共16 个数写入单片机内部RAM 的30h~3Fh空间。
四、实验步骤
1. 运行Dais软件,进入集成开发环境,软件弹出设置通信端口对话框(如图2-1-1),
请确保实验装置与PC正确连接,并已打开实验装置电源,使其进入在待命状态。这里选择与实验装置实际相连的通信端口,并单击“确定”。如通信正确则进入Dais软件主界面,否则弹出“通信出错”的信息框(如图2-1-2),请检查后重试。
图2-1-1 设置通信端口对话框 图2-1-2 通信错误信息框
2. 通信成功后,单击菜单栏“设置”→“仿真模式”项打开对话框,选择需要设置型
号、程序/数据空间。这里我们将型号设置为“MCS-51实验系统”,外部数据区设置为“系统RAM”,用户程序区设置为“片外(EA=0)”,如图2-1-3所示,最后单击“确定”按钮保存设置。
图2-1-3 设置工作方式对话框
3. 工作方式设置完毕后,单击菜单栏“文件”→“新建”项或按Ctrl+N组合键(建
议单击工具栏“”按钮)来新建一个文件,软件会出现一个空白的文件编辑窗口。
4. 在新窗口中输入程序代码(A51\\2_1.ASM):
ORG 0100H
;片内RAM首地址
ORG 0000H LJMP MAIN
MAIN: MOV R1,#30H
END
MOV A,#80H ;写入数据初值 MOV R7,#16 ;循环变量 INC R1 ;地址增量 INC A ;数据+1
DJNZ R7,LOOP1 ;循环变量-1,不为0继续 SJMP $
;结束
LOOP1: MOV @R1,A ;写数据到片内RAM
5. 单击菜单栏“文件”→“保存”项(建议单击工具栏“”按钮)保存文件。若
是新建的文件尚未命名,系统会弹出文件保存对话框(如图2-1-4),提示用户选择文件保存的路径和文件名,再单击“保存”按钮。
文件存放的路径 注意:由于编译器对路径和文件名的要求,请确保路径和文件名均不含中文和空格,不要将文件存放在“桌面”、“我的文档”等路径,并遵循“8.3”命令规则,即前缀长度不超过8字符、后缀长度不超过3字符。 输入新文件名
图2-1-4 文件保存对话框
6. 单击菜单栏“编译”→“文件编译、链接、装载”项或按Ctrl+F9组合键(建议单
击工具栏“”按钮),对当前文件进行编译和链接,若程序无语法错误,则开始自动装载,装载完毕提示如图2-1-5所示的信息框。
图2-1-5 编译信息框
7. 当编译无误且下载成功后,即进入调试状态,当前PC行高亮突出显示,源程序窗
口左侧显示小圆点以标识可执行语句行,如图2-1-6所示。
图2-1-6 进入调试状态的主界面
8. 单击菜单栏“视图”→“存储空间”→“CPU内部存储区”项打开内存窗口,如
图2-1-7。
图2-1-7 初始时的CPU内部存储区数据显示
9. 单击菜单栏“调试”→“单步运行”项或按F7快捷键(建议单击工具栏“
钮),单步运行程序,观察寄存器和内存单元的数据变化;
”按
10. 也可单击菜单栏“调试”→“连续运行”项或按F9快捷键(建议单击工具栏“”按钮),开始全速运行。
11. 在全速运行后,须暂停运行以便在待命状态查看运行结果,暂停可单击菜单栏“调
试”→“暂停”项或按Esc快捷键(建议单击工具栏“”按钮)。
12. 再观察CPU内部存储区单元,验证程序运行结果(如图2-1-8所示)。
图2-1-8 程序运行后的CPU内部存储区数据显示
13. 除了用程序修改内存单元,可以在Dais软件直接修改。用鼠标单击某个内存单元
后,按键盘的0~9或A~F,直接写入数据以覆盖该内存单元原有数据。如图2-1-9所示。
图2-1-9 修改后的内存单元数据显示
14. 除了单步或全速运行,还可以使用断点手段来调试程序。单击菜单栏“调试”→“复
位”项或按Ctrl+F2组合键(建议单击工具栏“”按钮)进行复位,以便重新运行程序。
15. 单击源程序编辑窗口左侧的行号即可快速设置断点,断点行为红色高亮显示(如图
2-1-10),若要删除该断点只需再次单击断点行的行号即可清除断点。
图2-1-10 设置断点后的源程序窗口
16. 设置断点后,单击菜单栏“调试”→“连续运行”项或按F9快捷键(建议单击工具栏“”按钮),使用全速运行方式,待程序运行到断点行时自动停下(如图2-1-11)。
图2-1-11 全速运行后遇断点暂停的源程序窗口
嵌入式系统实验报告
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)