0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PC和单片机实现虚拟实验室的构建

电子设计 来源:郭婷 作者:电子设计 2019-01-09 08:19 次阅读

引 言

单片机的学习是一个实践性很强的过程,目前的单片机实验室基本采用硬件仿真设备搭建,受资金和场地的限制,单片机实验室配置的灵活性和完整性受到一定的限制。针对这些问题,在此提出一种建立基于个人PC和各种软件的单片机个人虚拟实验室方案。所谓“虚拟实验室”,就是将计算机上的各种虚拟仪器,按实验要求和设计原理,虚拟出与现实相同的实验系统,进而在这个系统上完成整个实验。与传统实验模式相比,虚拟实验具有比较明显的优势,例如,涉及的实验内容全面,硬件投入少,学生可自行实验,实验过程中损耗小,与工程实践最为接近等。一般的虚拟实验室仅包含单片机系统的调试,本文在此基础上又加入了与上位机的联合调试。

在此,以使用VB通过RS 232串口控制51单片机LED的亮灭为例,介绍基于PC和软件建立单片机虚拟实验室的过程。

1 单片机虚拟实验室的构成

原理框图如图1所示。上位机用于编写监控界面及程序,实现对单片机系统的监控,它可以使用VB,VC,Delphi等软件实现;虚拟串口用来实现上下位机通信的软件模拟,在这里也可以使用自带通信类的LabVIEW来实现上位机软件和虚拟串口两项功能;虚拟调试一般以Proteus为平台,建立单片机系统的硬件系统;联合调试软件可为单片机系统提供软件,Proteus支持Hex,COF,D90类型文件,同时支持第三方的软件编译和调试环境,联合调试软件一般有KeilADS,Wave等。

基于PC和单片机实现虚拟实验室的构建

为了更具有代表性和一般性,该方法的上位机软件使用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,并提供周边设备的仿真。Proteus的强大功能为虚拟实验室的构建提供了基础。

2.2 硬件平台的搭建

在这里,单片机采用AT89C52,在P1口接8个LED,单片机的P3.O,P3.1分别与串口元件COMPIM的RXD,TXD相连,COMPIM已经自带电平转换功能,就不需要MAX232元件,复位、晶振电路也不需要。硬件平台原理图如图2所示。

基于PC和单片机实现虚拟实验室的构建

调出AT89C52属性设置窗口,为了串行通信设置方便,设置晶振Clock Frequeney为11.059 2 MHz,如图3所示,其他参数保留默认即可。打开串口元件COMPIM属性对话框,在Physical port选项选择COM4,即使用串口4,该串口是在后面使用软件虚拟出来的,其他参数设置如图4所示,其代表波特率9 600 b/s,8个数据位,无奇偶校验,1个停止位,其余选项保持默认即可。上位机中的通信设置以及单片机的软件编写都要求与该设置一致。

基于PC和单片机实现虚拟实验室的构建

3 系统软件的建立

系统软件的建立包括单片机系统软件和PC上位机软件的建立。

3.1 单片机系统软件的建立

Keil软件是目前最流行开发MCS-51系列单片机的软件。在该例中,单片机主要完成串口接收,将接收的数据送到P0口,从而实现上位机控制下位机的简单功能。该程序在。Keil软件中编写。

串口初始化函数如下:

基于PC和单片机实现虚拟实验室的构建

3.2 位机控制程序的建立

上位机使用VB建立界面和通信程序,完成数据的发送。利用VB开发串口通信程序主要有两种方法:一是使用MSComm串口控件;二是调用Windows API函数。在实践中,使用VB串口控件实现通信的方法比调用API动态链接库的方法更加方便快捷,也减少了因编程不当导致的系统不稳定。

基于PC和单片机实现虚拟实验室的构建

建立8个checkbox数组,分别对应控制P0口的8个小灯;8个1abe1数组,分别对应8个编号;2个按钮分别为发送、退出;1个MSComm控件。在这里,使用虚拟串口COM3,串口设置与Proteus中的一致,运行如图5所示,程序如下:

基于PC和单片机实现虚拟实验室的构建

声明全局变量:Dim DataOutValue As Integer DataOutValue为发送值。

初始化程序:主要完成对串口的设置,包括选择串口,设置波特率,设置数据格式,打开串口等。

4 虚拟环境的集成

分别建立系统的软硬件之后,还要在虚拟环境中实现软硬件的联系和上下位机的通信。

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。

基于PC和单片机实现虚拟实验室的构建

5 上下位机联合调试及结果

以上步骤完成之后,启动仿真就可以实现上、下位机的联合调试。运行虚拟串口软件 (vspdXP 5.1)点击Proteus中的运行按钮,选中或取消选中VB界面中代表LED的checkbox,然后点击发送按钮,Proteus界面中对应的LED 小灯便实现亮灭。运行效果如图7所示。通过观察,该方法建立的虚拟实验室其功能得以实现。

基于PC和单片机实现虚拟实验室的构建

6 结 语

在此通过一个简单实例详细介绍一种虚拟实验室的建立方法,可以看出使用纯软件的方法代替传统单片机开发硬件或软硬结合的调试方法,使得单片机实验室的建立仅依赖一台电脑和若干的软件,实现了包括上位机在内的单片机系统的调试仿真。具有直观、节省成本,与实际最为接近等特点。为个人单片机的学习提供了经济、高效的实现方案,同时,使得软、硬件配置更加灵活,缩短了开发周期,节省了开发成本,避免了制版焊接等过程中的不确定因素,为单片机项目的开发提供了新的方法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44486

    浏览量

    631836
  • PC
    PC
    +关注

    关注

    9

    文章

    2056

    浏览量

    153919
  • 串行通信
    +关注

    关注

    4

    文章

    562

    浏览量

    35230
收藏 人收藏

    评论

    相关推荐

    基于Proteus软件的单片机实验室建设

    基于Proteus 软件的单片机实验室建设单片机技术是现代电子工程领域一门迅速发展的技术,应用于各种嵌入式系统中。单片机技术的发展和推广极大地推动了电子工业的发展,其在教学和产业界的技
    发表于 04-21 11:22

    单片机虚拟实验室的建立

    单片机虚拟实验室的建立单片机课程是机电、自动化等专业的一门重要课程,可以充分体现学生利用已学知识解决实际工程问题的能力。由于该学科是多基础、多理论的实践性学科,在教学过程中必须软件硬件
    发表于 04-21 11:24

    基于Proteus软件的单片机实验室建设

    仿真的单片机实验室建设方案。该方案配置有限的硬件设备,很好地解决了资金和设备维护问题;大量的仿真工作是在软件环境中实现,大大增强了实验室向学生开放的便利性。在实际运行中,取得了良好的教
    发表于 11-16 12:00

    基于LabVIEW和Matlab虚拟实验室实现

    【摘要】 对Matlab和LabVIEW的混合编程进行了探讨,主要研究SIT软件包和动态链接库(DLL)两种技术,并在此基础上以单相半波电路实验为例详细介绍了构建虚拟电力电子实验室的方
    发表于 12-19 22:56

    虚拟实验室构建思路

    我想做虚拟实验室,比如像物理实验、化学实验,目前没有太多的思路,有经验的朋友指导下,目前正在看电路算法。
    发表于 07-28 11:04

    如何激活掌上单片机实验室

    一、背景前面已经构建了掌上单片机实验室的硬件基础,并选择、安装了配套的编程环境,目前要做的工作就是将它激活,即基于所选择的 Arduino IDE,在构建的硬件上,编写相应程序,使所提
    发表于 08-30 08:05

    单片机实验室

    单片机原理》实验室于2002年建立,主要承担电子信息工程专业的《单片机与接口技术》和物理学(师范类)专业的《单片机原理与应用》课程的实验
    发表于 08-10 11:59 43次下载

    单片机虚拟实验室的建设

    [摘要]本文以学院单片机课程的实验教学为背景,较为全面地阐述了基于Proteus软件仿真的单片机虚拟实验室只配置有限的硬件设备,就能够很好地
    发表于 09-09 17:45 36次下载

    单片机虚拟实验室的建立

    单片机虚拟实验室的建立单片机课程是机电、自动化等专业的一门重要课程,可以充分体现学生利用已学知识解决实际工程问题的能力。由于该学科是多基础、多
    发表于 04-21 11:24 1074次阅读

    网络互动型机械工程虚拟实验室构建

    虚拟实验室在网络化教学中有着非常重要的作用,基于多媒体技术以及Web软件构建网络互动型虚拟实验室已成为一种趋势。探讨了
    发表于 06-21 15:27 23次下载
    网络互动型机械工程<b class='flag-5'>虚拟</b><b class='flag-5'>实验室</b>的<b class='flag-5'>构建</b>

    网络虚拟实验室实现方法

    文章描述了网络 虚拟实验室 的定义、框架结构、特点以及面临的关键技术,并且就当前实现网络虚拟实验室的几种主流技术进行了比较和概括.
    发表于 07-04 11:11 16次下载
    网络<b class='flag-5'>虚拟</b><b class='flag-5'>实验室</b>及<b class='flag-5'>实现</b>方法

    使用Proteus软件构建虚拟实验室有没有可能?

    介绍了Proteus 软件以及基于Proteus 进行单片机系统开发的过程, 并在Proteus 环境下完成了基于AT89C51 单片机的AD 转换试验。 提出了利用Proteus 软件构建
    发表于 10-12 16:44 15次下载
    使用Proteus软件<b class='flag-5'>构建</b><b class='flag-5'>虚拟</b><b class='flag-5'>实验室</b>有没有可能?

    如何进行单片机实验室的建设

    如何进行单片机是 电子工程专业 的一 门关键 学科,也 是一 门实践性很强 的学科 ,因此在单 片教 学过程 中,单片机实验室发挥着重要的作用。但是就目前而言,
    发表于 05-06 08:00 0次下载
    如何进行<b class='flag-5'>单片机</b><b class='flag-5'>实验室</b>的建设

    基于Proteus的单片机虚拟仿真网络实验室

    提出以任务驱动学习为主的一种基 于P roteus 的单片机虚拟仿真网络实验室建设及使用方法,通过将网络技术、仿真技术和虚拟技术融合,对改革传统实验
    发表于 05-31 10:08 46次下载

    掌上单片机实验室 — 硬件基础(2)

    一、背景在“掌上单片机实验室-构思”一文中,探讨了基于四代圆梦小车实现掌上实验室的可能和益处。本文开始尝试具体设计一套基于此构思的掌上单片机
    发表于 12-01 14:06 1次下载
    掌上<b class='flag-5'>单片机</b><b class='flag-5'>实验室</b> — 硬件基础(2)