1第4讲:Lab2000试验仪及WAVE仿真软件的使用电气工程系赵志衡Tel:86413623E-mail:zhzhhe@hit.edu.cnMCS-51单片机原理及设计2课程主要内容WAVE仿真软件MCS-51汇编程序的调试3试验仪的简单介绍•Lab2000实验仪是带有单片机扩展电路的仿真器,可以方便的完成各种基本8031实验。实验仪上扩展的实验电路包括:LED6位数码管显示、4×6键盘电路、发光二极管电平显示电路、逻辑电平输出电路、单脉冲电路、连续脉冲发生电路、继电器输出电路、A/D转换电路、D/A转换电路、可调模拟量输出电路、存储器电路和逻辑门电路等多个单元。4关于实时在线仿真的几个概念•仿真:用一个对用户来说具有“透明性”和“可控性”的CPU(仿真器提供的CPU)代替用户目标系统的CPU。他对用户目标系统的控制过程与实际CPU完全一致,只是用户可通过开发系统控制仿真CPU的运行,并可观察到程序运行的结果。•在线:当仿真CPU运行和控制的硬件环境就是实际的用户系统时(用户的硬件环境),称为在线仿真。•实时:仿真CPU运行的每一瞬时状态都可被开发系统保护记录下来,称为实时。5仿真方式•本次实验采用系统机+试验仪用户设计产品,应该采用系统机+仿真器+用户板的方式。试验仪将仿真器与用户板(扩展)作成一体,方便学生实验。6仿真调试的基本步骤(1)进入wave调试环境(2)设置仿真器(3)建立新项目、编辑新文件(4)编译(5)执行并观察结果7进入wave调试环境8仿真器设置9建立新项目(1)点击文件菜单下新建项目选项。(2)点击文件菜单下新建文件选项,出现名为NONAME1的文档编辑窗口(若屏幕上还有其它文档编辑窗口,应该关闭)。(3)在名为NONAME1的文件编辑窗口中,输入存储器清零汇编程序如下:Blockequ3000h•org0000h•ljmpstart•org0080h•start:movdptr,#Block;起始地址•movr0,#0;清256字节•clra•loop:movx@dptr,a•incdptr;指向下一个地址•djnzr0,loop;计数器减一•loop1:nop•ljmploop1•end10建立新项目•输入文件后的界面11项目的保存(4)点击文件菜单中文件另存为选项,输入相应的路径名为D:\MCS51_0,文件名为Liz.asm(一定要输入扩展名),点击“OK”。(5)点击项目菜单中加入模块文件选项,出现加入框。选择D:\MCS51_0目录下的Liz.asm文件,点击“打开”。(6)点击文件菜单中的保存项目,选择相应的目录为D:\MCS51_0,并输入项目文件名Liz,点击“保存”。注意:一定要保证项目文件与模块文件在同一目录下!12编译•点击项目菜单中编译选项(F9),若有错误将在信息窗口中出现错误提示,有关的编译信息可通过点击窗口菜单中的信息窗口选项来查看,需反复修改源程序,直到信息窗口中无编译错误为止,注意保存文件。仿真软件具有错误定位功能,如果有编译错误,将鼠标移动到信息窗口中指示错误的地方,双击左键,监控程序自动在源程序中指出错误所在的行,这种功能极大的方便了对源程序的修改。13执行及观察结果(1)点击执行菜单中的单步执行选项(F8),程序从0000H地址执行到0080H处(被绿色带所覆盖的指令是程序执行到的位置)。(2)点击窗口菜单中的数据窗口,选择XDATA。拉动XDATA窗口中右侧滚动条,直到屏幕上显示地址3000H(蓝色字)为止。14执行及观察结果•单步执行一次后的仿真器界面15执行及观察结果(3)按4次F8键,程序向下执行到标号为loop的下一条指令处,观察XDATA窗口中的地位为3000H的存储器内容由FF改为00(红色字)。16执行及观察结果(4)反复按下F8,直到外部数据存储器中地址为3000H~30FFH内容全部被清零为止。(5)若要再次从头执行程序,点击执行菜单中复位选项,使PC指针复位为0000H,再按F8,程序从头执行。(6)退出:点击文件菜单下退出选项,退出wave监控软件。17执行及观察结果(6)设置断点运行设置断点运行是调试单片机系统的主要方式之一。首先在需要设置断点的程序行设断点(将光标移动到该行,按ctrl+F8键),再按全速执行键程序将快速执行,直到断点所在处停止。(7)跟踪(F7)跟踪程序、子程序执行的每一步,观察程序运行状态。18运行结果的观察•窗口:CPU窗口CPU窗口中包括机器码窗口、SFR(特殊功能寄存器)窗口和位窗口•窗口:数据窗口常用数据窗口中的以下选项:DATA内部数据窗口XDATA外部数据窗口19END