一种单片机虚拟实验室的建立方法.doc_第1页
一种单片机虚拟实验室的建立方法.doc_第2页
一种单片机虚拟实验室的建立方法.doc_第3页
一种单片机虚拟实验室的建立方法.doc_第4页
一种单片机虚拟实验室的建立方法.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

乐档网,我分享,我快乐!/本文档下载自乐档网,更多免费文档请访问网址/doc/info-bbbd14c72cc58bd63186bdd3.html一种单片机虚拟实验室的建立方法虚拟仪器与应用田建伟等:一种单片机虚拟实验室的建立方法一种单片机虚拟实验室的建立方法田建伟,胡德安,陈益平,刘强(南昌航空大学江西南昌330063)摘要:为了解决传统基于硬件的单片机实验室诸多弊端,建立基于PC和软件的虚拟实验室,即在Proteus中建立单片机硬件系统,通过Keil和Proteus的连接实现单片机系统的软硬件调试,通过虚拟串口实现上下位机的联合仿真调试。与现有基于Proteus的虚拟实验室相比,不仅实现了下位机的仿真调试,更实现了包括上位机在内的联合调试的虚拟环境。实验证明,该方法可用于单片机学习和单片机项目开发的前期工作,具有一定的实用性和工程应用价值。关键词:单片机;虚拟实验室;Proteus;虚拟串口中图分类号:TP368.1文献标识码:A文章编号:10042373X(2009)142176204MethodofConstructingSingleChipComputerVirtualLaboratoryTIANJianwei,HUDean,CHENYiping,LIUQiang(NanchangHangkongUniversity,Nanchang,330063,China)Abstract:Inordertosolvethedefectsoftraditionalsinglechipcomputerhardware2basedlaboratory,virtuallaboratorybasedonPCandsoftwareisconstruct:thesinglechipcomputerhardwareisconstructedinthe,thedebuggingofhard2wareandsoftwareisachievedviatheconnectionofKeilandjointofPCandsinglechipcomputerisrealizedviavirtualserialports.Comparedtothe,notonlythesimula2tiondebuggingofundermachineisrealized,butalsodebuggingincludingPCisrealized.ItprovesthatthissinglechipcomputerandthepreliminaryworkofprojectItofprojects.Keywordslaboratory;Proteus;virtualserialport0引言1单片机虚拟实验室的构成单片机的学习是一个实践性很强的过程,目前的单片机实验室基本采用硬件仿真设备搭建,受资金和场地的限制,单片机实验室配置的灵活性和完整性受到一定的限制1,2。针对这些问题,在此提出一种建立基于个人PC和各种软件的单片机个人虚拟实验室方案。所谓“虚拟实验室”,就是将计算机上的各种虚拟仪器,按实验要求和设计原理,虚拟出与现实相同的实验系统,进而在这个系统上完成整个实验。与传统实验模式相比,虚拟实验具有比较明显的优势3,例如,涉及的实验内容全面,硬件投入少,学生可自行实验,实验过程中损耗小,与工程实践最为接近等。一般的虚拟实验室仅包含单片机系统的调试,本文在此基础上又加入了与上位机的联合调试。在此,以使用VB通过RS232串口控制51单片机LED的亮灭为例,介绍基于PC和软件建立单片机虚拟实验室的过程。原理框图如图1所示。上位机用于编写监控界面及程序,实现对单片机系统的监控,它可以使用VB,VC,Delphi等软件实现4;虚拟串口用来实现上下位机通信的软件模拟,在这里也可以使用自带通信类的LabVIEW来实现上位机软件和虚拟串口两项功能;虚拟调试一般以Proteus为平台,建立单片机系统的硬件系统;联合调试软件可为单片机系统提供软件,Proteus支持Hex,COF,D90类型文件,同时支持第三方的软件编译和调试环境,联合调试软件一般有Keil,ADS,Wave等。图1虚拟实验室原理框图为了更具有代表性和一般性,该方法的上位机软件使用VB6.0开发,虚拟串口采用VirtualSerialPortsDriverXP5.1;虚拟调试平台采用Proteus6.7SP3;联收稿日期:2008210216176现代电子技术2009年第14期总第301期合调试软件使用KeilC51Vision2。2系统硬件的建立?新型元器件?的软件。在该例中,单片机主要完成串口接收,将接收的数据送到P0口,从而实现上位机控制下位机的简单功能。该程序在Keil软件中编写。单片机系统的硬件在Proteus中实现,主要完成硬件平台的搭建和仿真效果的观察。2.1Proteus简介Proteus是英国Labcenter公司开发的电路分析与实物仿真软件,它能够提供丰富的测试信号用于电路测试,同时还提供SchematicDrawing,Spice仿真与PCB设计功能,可以仿真51系列、AVR,PIC,ARM等常用的MCU,并提供周边设备的仿真5。Proteus的强大功能为虚拟实验室的构建提供了基础。2.2硬件平台的搭建图3单片机属性设置图4COMPIM属性设置串口初始化函数如下:voidUART_init()SCON=0x58;/选择串口工作方式,打开允许接收TMOD=0x21;/定时器1工作在方式2,定时器0工作在方式1TH1=0xfd;/s(系统时钟11.0592MHz)TR1;/启动定时器T1;1;/允许串行口中断1/设计串行口中断优先级EA=1;/单片机中断允许在这里,单片机采用AT89C52,在P1口接8个LED,单片机的P3.0,P3.1分别与串口元件COMPIM的RXD,TXD相连,COMPIM已经自带电平转换功能,就不需要MAX232元件,复位、晶振电路也不需要。硬件平台原理图如图2所示。串口接收终端处理函数如下:com_interrupt(void)interrupt4using3if(RI)/处理接收中断RI=0;/清除中断标志位P0=SBUF;/接收串口数据,送入P0口图2硬件平台原理图调出AT89C52属性设置窗口,为了串行通信设置方便,设置晶振ClockFrequency为11.0592MHz,如图3所示,其他参数保留默认即可。打开串口元件COMPIM属性对话框,在Physicalport选项选择COM4,即使用串口4,该串口是在后面使用软件虚拟出来的,其他参数设置如图4所示,其代表波特率9600b/s,8个数据位,无奇偶校验,1个停止位,其余选项保持默认即可。上位机中的通信设置以及单片机的软件编写都要求与该设置一致。3系统软件的建立3.2位机控制程序的建立上位机使用VB建立界面和通信程序,完成数据的发送。利用VB开发串口通信程序主要有两种方法:一是使用MSComm串口控件;二是调用WindowsAPI函数。在实践中,使用VB串口控件实现通信的方法比调用API动态链接库的方法更加方便快捷,也减少了因编程不当导致的系统不稳定6。建立8个checkbox数组,分别对应控制P0口的8个小灯;8个label数组,分别对应8个编号;2个按钮系统软件的建立包括单片机系统软件和PC上位机软件的建立。3.1单片机系统软件的建立Keil软件是目前最流行开发MCS251系列单片机分别为发送、退出;1个MSComm控件。在这里,使用虚拟串口COM3,串口设置与Proteus中的一致,运行如图5所示,程序如下:声明全局变量:DimDataOutValueAsIntegerDataOutValue为发送值。初始化程序:主要完成对串口的设置,包括选择串177虚拟仪器与应用田建伟等:一种单片机虚拟实验室的建立方法(1)复制安装目录Proteus下的VDM51.dll文件到Keil安装目录的目录中。(2)修改Keil安装目录下Tools.ini文件,在C51口,设置波特率,设置数据格式,打开串口等。PrivateSubForm_Load()DataOutValue=0将发送变量值预设为0MSComm1.Settings="9600,n,8,1"设置数据传输率和发送字符格式MSComm1.CommPort=3设置通信串口,使用虚拟串口MSComm1.OutBufferSize=512设置发送缓冲区512BMSComm1.OutBufferCount=0MSComm1.PortOpen=True打开虚拟串口EndSub字段加入TDRV5=BIN.DLL("PROTEUS6EMULATOR")并保存。在这里,不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。(3)打开Proteus,画出相应电路,在Proteus的“Debug”菜单中选中“UseRemoteDebugMonitor”。(4)进入Keil的Project菜单OptionforTarget“工程名”,在Debug选项中右栏上部的下拉菜单选中ProteusDriver,再进入Settings,PC的IP设为,端口号为8000。(5)在Keil中进行debug,同时在Proteus中查看Checkbox控件Click事件代码,生成控制单片机所需的数据:PrivateSubCheck1_Click(IndexAsInteger)IfCheck1(Index).Value=1Then该复选框是否被选中DataOutValue=DataOutValueOr2Index若选中将该位置的输出变量设置为1ElseDataOutValue=DataOutValueAnd(25522In2dex)否则设置为0EndIfEndSub直观的结果。通过这样的设置,就可以像使用仿真器一样调试程序。4.2PC,传统上是通过物理接发送按钮Command1的Click事件代码,完成控制命令的发送:PrivateSubtemp(1)=()MSComm1.tempEndSub,由于下位机在PC,上位机与下位机的联系与传统有所。这里使用虚拟串口软件VirtualSerialPortsDriverXP5.1,其目的是用软件虚拟出VB上位机和Proteus中建立的单片机系统完成通信的串口。值得关闭串口,关闭程序:PrivateSubCommand2_Click()MSComm1.PortOpen=FalseUnloadMeEndSub注意的是,这种通信只能在两个虚拟串口之间进行,该例子中,上位机和单片机系统各使用一个虚拟串口,从而实现通信。VirtualSerialPortsDriverXP5.1界面如图6所示,左侧Physicalports代表PC机物理串口。该例子所用计算机为COM1和COM2,点击Add/Removeports中Addpair左边First,Second下拉框,分别选中COM3,COM4;然后点击Addpair按钮,就加入了虚拟串口COM3,COM4,如图左侧Virtualports所示。这样,上位机VB程序以及Proteus中的单片机系统就可以像使用物理串口一样使用虚拟串口COM3,COM4。如前文所述,Proteus中的COMPIM元件使用虚拟串口COM4,VB中使用虚拟串口COM3。完成这些步骤,就能使用虚拟出的串口COM3,COM4。5上下位机联合调试及结果图5VB控制界面4虚拟环境的集成分别建立系统的软硬件之后,还要在虚拟环境中实现软硬件的联系和上下位机的通信。4.1Proteus和Keil的联合调试使用Proteus和Keil的联合调试,在原理图的设计阶段就可以对设计进行评估,验证所设计电路的软硬件是否达到设计要求的技术指标;还可以通过改变元器件参数使整个电路性能达到最优化,以节省设计时间与经费,提高设计效率与质量。Proteus可以和Keil联调设置步骤如下:178以上步骤完成之后,启动仿真就可以实现上、下位机的联合调试。运行虚拟串口软件(vspdXP5.1)点击Proteus中的运行按钮,选中或取消选中VB界面中代表LED的checkbox,然后点击发送按钮,Proteus界面中对应的LED小灯便实现亮灭。运行效果如图7所现代电子技术2009年第14期总第301期示。通过观察,该方法建立的虚拟实验室其功能得以实现。?新型元器件?机开发硬件或软硬结合的调试方法,使得单片机实验室的建立仅依赖一台电脑和若干的软件,实现了包括上位机在内的单片机系统的调试仿真。具有直观、节省成本,与实际最为接近等特点。为个人单片机的学习提供了经济、高效的实现方案,同时,使得软、硬件配置更加灵活,缩短了开发周期,节省了开发成本,避免了制版焊接等过程中的不确定因素,为单片机项目的开发提供了新的方法。参考文献1马正强.单片机虚拟实验室的建立J.单片机与嵌入式系图6虚拟串口软件的设置统应用,2005(3):20223.2李学礼.基于Proteus软件的单片机实验室建设J.单片机与嵌入式系统应用,2005(9):526.3董普松.Proteus在单片机系统设计中的应用J.现代电子技术,2008,31(14):1532154.4林华,宋世发.一类上下位机控制系统的仿真设计J.湖北汽车工业学院学报,2008(1):48250,80.5周润景.基于Proteus真M.:,2006.单M.北京:机械工业出版,黄惟公.基于LabVIEW与Proteus的教学测控系统设计J.上海计量测试,2008(3):14216.图7上8黄章华,陆华忠,李灌辉,基于LabVIEW和单片机的步进电机控制系统设计J.现代电子技术,2007,30(17):1792181.9李长林.VisualBasic串口通信技术与典型实例M.北京:6结语清华大学出版社,2006.10范逸之,陈立元,孙德萱,等.利用VisualBasic实现串并行在此通过一个简单实例详细介绍一种虚拟实验室的建立方法,可以看出使用纯软件的方法代替传统单片通信技术

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论