4.1 Proteus和Keil的联合调试
使用Proteus和Keil的联合调试,在原理图的设计阶段就可以对设计进行评估,验证所设计电路的软硬件是否达到设计要求的技术指标;还可以通过改变元器件参数使整个电路性能达到最优化,以节省设计时间与经费,提高设计效率与质量。
Proteus可以和Keil联调设置步骤如下:
(1)复制安装目录Proteus\MODELS下的VDM51.dll文件到Keil安装目录的\C51\BIN目录中。
(2)修改Keil安装目录下Tools.ini文件,在C51字段加入TDRV5=BIN\VDM51.DLL("PROTEUS 6EMULATOR")并保存。在这里,不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。
(3)打开Proteus,画出相应电路,在Proteus的“Debug”菜单中选中“Use Remote Debug Monitor”。
(4)进入Keil的Project菜单Option for Target“工程名”,在Debug选项中右栏上部的下拉菜单选中Proteus Driver,再进入Settings,PC的IP设为127.0.0.1,端口号为8000。
(5)在Keil中进行debug,同时在Proteus中查看直观的结果。
通过这样的设置,就可以像使用仿真器一样调试程序。
4.2 使用虚拟串口建立上位机和下位机的通信
PC上位机与下位机的联系,传统上是通过物理接口如串并口等完成。虚拟实验室中,由于下位机在PC中用软件模拟实现,上位机与下位机的联系与传统有所区别。这里使用虚拟串口软件Virtual Serial Ports Driver XP 5.1,其目的是用软件虚拟出VB上位机和Proteus中建立的单片机系统完成通信的串口。值得注意的是,这种通信只能在两个虚拟串口之间进行,该例子中,上位机和单片机系统各使用一个虚拟串口,从而实现通信。
Virtual Serial Ports Driver XP 5.1界面如图6所示,左侧Physical ports代表PC机物理串口。该例子所用计算机为COM1和COM2,点击Add/Removeports中Add pair左边First,Second下拉框,分别选中COM3,COM4;然后点击Add pair按钮,就加入了虚拟串口COM3,COM4,如图左侧Virtual ports所示。这样,上位机VB程序以及Proteus中的单片机系统就可以像使用物理串口一样使用虚拟串口COM3,COM4。如前文所述, Proteus中的COMPIM元件使用虚拟串口COM4,VB中使用虚拟串口COM3。完成这些步骤,就能使用虚拟出的串口COM3,COM4。
5 上下位机联合调试及结果
以上步骤完成之后,启动仿真就可以实现上、下位机的联合调试。运行虚拟串口软件 (vspdXP 5.1)点击Proteus中的运行按钮,选中或取消选中VB界面中代表LED的checkbox,然后点击发送按钮,Proteus界面中对应的LED 小灯便实现亮灭。运行效果如图7所示。通过观察,该方法建立的虚拟实验室其功能得以实现。
6 结 语
在此通过一个简单实例详细介绍一种虚拟实验室的建立方法,可以看出使用纯软件的方法代替传统单片机开发硬件或软硬结合的调试方法,使得单片机实验室的建立仅依赖一台电脑和若干的软件,实现了包括上位机在内的单片机系统的调试仿真。具有直观、节省成本,与实际最为接近等特点。为个人单片机的学习提供了经济、高效的实现方案,同时,使得软、硬件配置更加灵活,缩短了开发周期,节省了开发成本,避免了制版焊接等过程中的不确定因素,为单片机项目的开发提供了新的方法。