51单片机典型项目实战全能一本通(C语言版)(视频版)
上QQ阅读APP看书,第一时间看更新

2.6 Proteus与μVision 3的联调

第1章介绍了在Proteus下完成原理图的设计文件(文件名后缀.DSN)后,把在keil µVision 3下编写的C51程序,经过调试、编译最终生成“.hex”文件,并把“.hex”文件载入虚拟单片机中,然后进行软硬件联调,如果要修改程序,需再回到keil µVision 3下修改,再经过调试、编译,重新生成“.hex”文件,重复上述过程,直至系统正常运行为止。但是对于较为复杂的程序,如果没有达到预期效果,就可能需要Proteus与Keil µVision 3进行联合调试。

联调之前需要安装vudgi.exe文件,该文件可到Proteus的官方网站下载。vudgi.exe文件安装后,需在Proteus与µVision 3中进行相应设置。

设置时,首先打开Proteus需要联调的程序文件,但不要运行,然后选中“调试”菜单中的“使用远程调试监控”选项,使Keil µVision 3能与Proteus进行通信。

完成上述设置后,在Keil µVision 3中打开程序项目文件,然后单击菜单Project→Optioons for Target选项(或单击工具栏上的Optioons for Target按钮),打开图2-21所示的项目对话框。

图2-21 项目对话框

在Debug选项卡中选定右边的Use及Proteus VSM Simulator选项。如果Proteus与KeilµVision 3安装在同一台计算机中,单击Setting按钮,在打开的对话框中可保持HOST与PORT的默认值127.0.0.1与8000不变,如图2-22所示。如果跨计算机调试,则需要进行相应的修改。

图2-22 保持默认值

完成上述设置后,在Keil µVision 3中全速运行程序时,Proteus中的单片机系统也会自动运行,出现的联调界面如图2-23所示。左半部分为Keil μVision 3的调试界面,右半部分是Proteus ISIS的界面。如果希望观察运行过程中某些变量的值或者设备状态,需要在Keil μVision 3中恰当使用各种Step In/ Step Over/ Step Out/ Run To Cursor Line及Breakpoint进行跟踪,以观察右边虚拟硬件系统运行的情况。总之,需要恰当配合Keil μVision 3中的各种调试手段,如单步、跳出、运行到当前行、设置断点等来联调单片机系统运行的软硬件。

图2-23 联调界面

需要说明的是,联调方式不支持需要调试的程序项目的中文名称及路径,因此需将项目的中文文件名“流水灯.Uv2”改为英文文件名led.Uv2。

需要注意的是,这种联调方式在有些场合并不适用。例如,进行键盘扫描时就不能用单步跟踪,因为程序运行到某一步骤时,单击键盘的按键后,再回到Keil C中继续单步跟踪,按键早已释放了。