一种单片机虚拟实验室的建立方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种单片机虚拟实验室的建立方法
2010-05-19 21:44:36 作者:lazypeople来源:浏览次数:556 网友评论 0 条
0 引言单片机的学习是一个实践性很强的过程,目前的单片机实验室基本采用硬件仿真设备搭建,受资金和场地的限制,单片机实验室配置的灵活性和完整性受到一定的限制。针对这些问题,...
0 引言
单片机的学习是一个实践性很强的过程,目前的单片机实验室基本采用硬件仿真设备搭建,受资金和场地的限制,单片机实验室配置的灵活性和完整性受到一定的限制。针对这些问题,在此提出一种建立基于个人PC和各种软件的单片机个人虚拟实验室方案。所谓“虚拟实验室”,就是将计算机上的各种虚拟仪器,按实验要求和设计与实现原理,虚拟出与现实相同的实验系统,进而在这个系统上完成整个实验。与传统实验模式相比,虚拟实验具有比较明显的优势,例如,涉及的实验内容全面,硬件投入少,学生可自行实验,实验过程中损耗小,与工程实践最为接近等。一般的虚拟实验室仅包含单片机系统的调试,本文在此基础上又加入了与上位机的联合调试。
在此,以使用VB通过RS 232串口控制51单片机LED的亮灭为例,介绍基于PC 和软件建立单片机虚拟实验室的过程。
1 单片机虚拟实验室的构成
原理框图如图1所示。上位机用于编写监控界面及程序,实现对单片机系统的监控,它可以使用VB,VC,Delphi等软件实现;虚拟串口用来实现上下位机通信的软件模拟,在这里也可以使用自带通信类的LabVIEW来实现上位机软件和虚拟串口两项功能;虚拟调试一般以Proteus为平台,建立单片机系统的硬件系统;联合调试软件可为单片机系统提供软
件,Proteus支持Hex,COF,D90类型文件,同时支持第三方的软件编译和调试环境,联合调试软件一般有Keil,ADS,Wave等。
为了更具有代表性和一般性,该方法的上位机软件使用VB 6.O开发,虚拟串口采用Virtual Serial Ports Drivei XP 5.1;虚拟调试平台采用Proteus 6.7 SP3;联合调试软件使用Keil C51 μVision 2。
2 系统硬件的建立
单片机系统的硬件在Proteus中实现,主要完成硬件平台的搭建和仿真效果的观察。
2.1 Proteus简介
Proteus是英国Labcenter公司开发的电路分析与实物仿真软件,它能够提供丰富的测试信号用于电路测试,同时还提供Schematic Drawing,Spice仿真与【PCB】设计与实现功能,可以仿真51系列、AVR,PIC,【ARM】等常用的MCU,并提供周边设备的仿真。Pr oteus的强大功能为虚拟实验室的构建提供了基础。
2.2 硬件平台的搭建
在这里,单片机采用AT89C52,在P1口接8个LED,单片机的P3.O,P3.1分别与串口元器件COMPIM的RXD,TXD相连,COMPIM已经自带电平转换功能,就不需要MAX232元器件,复位、晶振电路也不需要。硬件平台原理图如图2所示。
调出AT89C52属性设置窗口,为了串行通信设置方便,设置晶振Clock Frequene y为11.059 2 MHz,如图3所示,其他参数保留默认即可。打开串口元器件COMPIM属性对话框,在Physical port选项选择COM4,即使用串口4,该串口是在后面使用软件虚拟出来的,其他参数设置如图4所示,其代表波特率9 600 b/s,8个数据位,无奇偶校验,1个停止位,其余选项保持默认即可。上位机中的通信设置以及单片机的软件编写都要求与该设置一致。
3 系统软件的建立
系统软件的建立包括单片机系统软件和PC上位机软件的建立。
3.1 单片机系统软件的建立
Keil软件是目前最流行开发MCS-51系列单片机的软件。在该例中,单片机主要完成串口接收,将接收的数据送到P0口,从而实现上位机控制下位机的简单功能。该程序在。Keil软件中编写。
串口初始化函数如下:
3.2 位机控制程序的建立
上位机使用VB建立界面和通信程序,完成数据的发送。利用VB开发串口通信程序主要有两种方法:一是使用MSComm串口控件;二是调用Windows API函数。在实践中,使用VB串口控件实现通信的方法比调用API动态链接库的方法更加方便快捷,也减少了因编程不当导致的系统不稳定。
建立8个checkbox数组,分别对应控制P0口的8个小灯;8个1abe1数组,分别对应8个编号;2个按钮分别为发送、退出;1个MSComm控件。在这里,使用虚拟串口COM 3,串口设置与Proteus中的一致,运行如图5所示,程序如下:
声明全局变量:Dim DataOutValue As Integer DataOutValue为发送值。
初始化程序:主要完成对串口的设置,包括选择串口,设置波特率,设置数据格式,打开串口等。
本文来自单片机开发网,
4 虚拟环境的集成
分别建立系统的软硬件之后,还要在虚拟环境中实现软硬件的联系和上下位机的通信。
4.1 Proteus和Keil的联合调试
使用Proteus和Keil的联合调试,在原理图的设计与实现阶段就可以对设计与实现进行评估,验证所设计与实现电路的软硬件是否达到设计与实现要求的技术指标;还可以通过改变元器件参数使整个电路性能达到最优化,以节省设计与实现时间与经费,提高设计与实现效率与质量。
Proteus可以和Keil联调设置步骤如下:
(1)复制安装目录Proteus\MODELS下的VDM51.dll文件到Keil安装目录的\C5 1\BIN目录中。
(2)修改Keil安装目录下Tools.ini文件,在C51字段加入TDRV5=BIN\VDM51.D LL("PROTEUS 6EMULATOR")并保存。在这里,不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。