构建单片机虚拟实验室

2024-05-31

构建单片机虚拟实验室(精选10篇)

构建单片机虚拟实验室 篇1

0、引言

Proteus是目前最好的模拟单片机外围器件的工具,可以仿真51系列、AVR, PIC等常用的MCU及外围电路(如LCD、RAM、ROM、键盘、马达、LED、AD/DA、部分SPI器件、部分IIC器件等),当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,但对初学者来说,主要是熟悉单片机设计的原理和方法,用Proteus和Keil相结合的虚拟实验室也是非常可取的。

Keil是德国开发的的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件,后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,其界面友好,操作也不复杂,用户极为庞大。Keil的uVision2可以进行纯粹的软件仿真(仿真软件程序,不接硬件系统);也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可以使用u Vision2的内嵌模块Keil Monitor-51,在不需要额外的硬件仿真器的条件下,搭建单片机硬件系统对项目程序进行实时仿真。

Keil C与Proteus在各自的环境下都可以进行一定程度仿真调试。然而,Keil C只能对程序进行调试,不能看到硬件的运行结果,因此并不直观;而Proteus软件在对单片机系统进行仿真调试的时候只能对硬件做出改动,不能直观的了解程序运行的情况,难以对程序中存在的不足和错误进行修改。如果能把这两者结合起来,同时观察程序的运行情况和当时硬件系统所处的状态,则可以方便地找出系统设计中存在的软、硬件错误。

利用PROTEUS与Keil整合构建单片机虚拟实验室,解决了传统单片机教学中以理论为主实践少,且实践以验证实践为主;学校设备落后的问题。使得每个学单片机的人,都可以拥有自己的"实验室"。

Proteus和Keil C51联合使用有两种方法,一种是离线联合仿真,另一种是在线联合仿真。

1、Keil C与Proteus的在线联合仿真

下面具体介绍Proteus 6.9与Keil C联合仿真的步骤[2]:

1)确保计算机上安装有TCP/IP协议。

2)安装Proteus 6.9和keil uision2ㄢ

3)从Proteus的官方网站上下载Proteus VSM AGDI Driver(其下载地址是http://downloads.labcenter.co.uk/vdmagi.exe)ㄢ

4)安装该驱动程序 (vdmagdi.exe) 。

安装完成后,在keil文件夹下的TOOLS.INI文件中的[C51]字段的最后多了两行内容,分别是TDRV5=BINVDM51.DLL ('Proteus VSM Simulator') 和BOOK10=HLPVDMAGDI.HLP ('Proteus VSM AGDI Driver') , 前者用于keil和Proteus6.9的联接,而后者是一个帮助文档。同时,该驱动程序还会对Proteus安装目录下BIN文件夹中的PROSPICE.dll文件进行修改,该动态链接库文件是专门用于Proteus的仿真功能的,如果是未经授权的非法用户,则不能与keil正确联接,会弹出"Error:Target DLL has been cancelled.Debugger aborted!"的出错提示。

5)进入keil开发环境,建立一个工程文件,在选中"Target1"的情况下选择Project→Options for Target'Target1'。

6)在'Debug'选项卡中,选择左边的"Use:',在下拉框中选择"Protesu VSM Simulator", 其它的选择默认值就可以了。点击"确定"按钮保存设置。这样,对于单机联接调试来说,在Keil里的设置就结束了。需要注意的是,对于每一个不同的工程文件,都要按此进行重新设置。

7)打开Proteus ISIS原理图输入环境,在菜单栏中选择"DE-BUG→Use Remote Debug Monitor", 选中之后,在该选项前有一个凹下去的"√"的符号。和keil不同,这项设置对于所有的原理图都有效,不用总是重新设置了。

所有这些设置完成以后,就可以开始联合仿真了。

在Proteus ISIS环境中画出电路图,然后在Keil C集成开发环境中编写相应的程序,检查无误后,在keil环境下选择"DE-BUG→Start/Stop Debug Session", 或使用快捷键"Ctrl+F5", 这时,Keil会将机器码自动加载到Proteus ISIS中的单片机模型中去,不用再次手动绑定HEX文件,Proteus就好像keil开发环境中的一个插件一样,在keil中进行程序的单步、过程调试时,对应的Proteus中的电路则会按照程序的语句做出相应的运作。当要取消联合调试时,只需再次按下"Ctrl+F5"就可以了。

2、Keil C与Proteus的离线联合仿真

所谓离线联合是指两者互相独立工作,先通过Keil C51编辑、修改、编译源程序并生成HEX等单片机能识别的文件,然后再运行Proteus ISIS, 将HEX文件与原理图中的MCU进行绑定即可,这种方法是最常使用的。

下面以一个实际例子来说明Keil C与Proteus是如何离线联合仿真的。

2.1 硬件电路的实现

运行Proteus ISIS, 通过选择相应的元器件,绘制硬件电路原理图(如图1所示)

2.2 软件的实现

打开keil uVision 2, 新建一个项目,命名为dlkg.uv2.选择project菜单下的Select Device for Target为这一项目选择目标CPU, 这里选择ATMEL公司的AT89C52,接着单击Project菜单下的Option for Target'工程名'菜单项,选择Debug选项卡,进行相应的设置,然后新建一个源文件dlkg.asm, 写入源程序(见图2中程序)。注意必须生成.hex文件才能实现软件对硬件电路的控制。.hex文件的生成方法:在Project窗口中右击Target 1, 选"Options for Target'target 1'", 在"OUTPUT"中勾选"Creat HEX File", 再点OK选择按钮就可以了。

单击Debug菜单下的Start/Stop Debug Session菜单项,这时切换到Proteus界面。右击硬件电路图中的单片机芯片AT89C52,在弹出的窗口中的Program File中加入dlkg.hex文件,然后单击图1中的play键,单片机就能正常工作了,这时发现四个按钮开关能分别控制四个灯的熄灭了。

3、结束语

本文介绍了利用Proteus和Keil软件构建单片机虚拟实验室的两类方法,结合一个实际例子,说明了用Proteus和Keil软件构建虚拟单片机实验室不仅简单可行,而且非常经济,解决了传统单片机实验室设备资金短缺和维护难的问题。不过,仿真软件不可能完全模拟出实际的硬件环境,另外要注意,虚拟实验室跟实际的基于开发板和仿真器的单片机实验有很多不同之处,如Proteus软件仿真时基本上没考虑其晶振的,因为它默认芯片上自带有晶振电路的,而实际开发板电路必须接晶振电路的。一定要在理解单片机的基础上多做硬件调试,只有这样才能真正学好单片机。

参考文献

[1].胡文金, 钟秉翔, 杨健。单处机应用技术实训教程[M]。重庆:重庆大学出版社, 2005:2-3。

[2].刘炳尧。keilC+Proteus6.9-搭建自己的单片机仿真实验室[J]。电子制作, 2007, 8:52-54。

[3].先锋工作室。单片机程序设计实例[M]。清华大学出版社, 2003, 6:44-45

[4].程兴国。单片机虚拟实验室的构建[J]。襄樊学院学报, 2008, 29 (2) :72-74。

构建单片机虚拟实验室 篇2

关键词::虚拟仿真;农业院校;实验平台;机械工程

随着经济社会的发展,各种精密机床和实验设备在高校实验室的使用越老越多。但与此同时,由于数控加工系统普遍设备昂贵,使用和维护成本高,而且带有一定的危险性,很难容纳多学生的学习。通过VR虚拟现实技术可以很好的避免这些问题。虚拟实验室是一种开放的网络虚拟实验教学系统,该系统是以教学为基础的网络技术,通过虚拟现实技术来构建,把现在实验教学中的实验资源虚拟和数字化,从而达到课程实验教学的目标。

1农业院校机械工程学科的特点

构建单片机虚拟实验室 篇3

关键词:仿真实验室;Proteus;硬件实验

中图分类号:TP391.9 文献标识码:A 文章编号:1007-9599 (2013) 09-0000-02

1 引言

随着计算机技术的发展,仿真虚拟实验室的综合运用,社会对学生的综合素质要求也不断提高,学生需要很强的动手能力和实验能力[1]。使用Proteus软件构建硬件仿真虚拟实验室系统,不仅成本低,而且学生还可以按照自己的思路设计硬件系统,完成大多数实验,从而提高学生的积极性和动手能力[2-3]。利用Proteus构建硬件仿真虚拟实验室,不仅成本低,设备管理和维护简单,还可以培养学生的动手能力,提高学生的创造性和积极性。

2虚拟仿真实验室结构

2.1 Proteus仿真实验室概念

所谓虚拟仿真实验室是指利用计算机仿真技术,在计算机上学习电路、微机原理、嵌入式系统等课程,并进行对应的实验(设计、仿真、调试、运行)。以虚拟设备代替实体设备、以软件代替硬件,就是虚拟仿真实验室的本质 [4]。

2.2 Proteus仿真实验室系统架构

图1 Proteus虚拟仿真系统架构

如图1所示基于Proteus的虚拟仿真实验室的系统架构,该Proteus是建立在计算机网络平台上的一个综合设计实验系统。本Proteus仿真虚拟系统是一个从概念到产品的完整系统,从图中可以看出,该仿真系统可以实现原理图设计、单片机编程、系统仿真、PCB设计。

2.3 计算机网络平台

由图1可以看出,本课题的虚拟仿真实验室的基础是计算机网络平台,通过该计算机网络平台,学校内师生可以在任何地点、任何时间对其进行访问和使用学习。因此,将Proteus仿真系统服务器存放在校内的网络中心,与学校各师生进行网络连接,可以保证本Proteus仿真系统的开放性,使得学校内更多的师生可以使用该平台,充分发挥其多学科实验覆盖的特性。该计算机网络平台的拓扑结构图如图2所示。

图2 计算机网络平台拓扑结构

2.4 Proteus软件平台

Proteus是一种功能强大的电子设计自动化软件,使用Proteus软件,可以实现原理图设计、模拟电路设计、数字电路设计、MCU混合仿真和PCB系统设计,除此之外,Proteus还可以进行仿真嵌入式系统的实验,其最大的特点在于Proteus可以提供x86、单片机、ARM等系统的仿真实验。

2.5 Proteus试验系统

Proteus是该虚拟仿真实验室中最核心的一部分,为了增强学生的认知度以及提高学生的动手能力和教师的教学能力,在仿真试验中,应该首选利用Proteus绘制原理图、编译程序。而且在教学试验中,为了提高教学的说服力,教师可以将自己编译好的程序用编程器烧录至Rom中,然后对目标实验板进行运行并观察结果,这样可以给学生提供仿真和验证的机会,避免了理论脱离实际。

3 虚拟仿真实验室实验内容

通过对高校计算机硬件基础课程教学内容的研究与分析,充分发挥Proteus仿真实验室的优势,本课题对x86、单片机的教学内容进行拆分,把本仿真实验内容分为三类:基础性实验、综合性实验、创造性实验。

基础性实验包括MCU最小系统实验、汇编语言程序设计实验、中断实验、计数器实验等以验证性实验,该实验主要以提高学生对理论知识的吸纳和提高学生的动手能力为主,目的在于使得学生能够掌握书本的基础知识。

综合性实验包括模拟交通灯控制设计、电子万年历设计、波形发生器设计、直流电机控制设计等以培养学生综合能力的实验。该实验室基于基础性实验之上的实验,是在学生完成硬件课程的基础知识学习后开设的综合性实验,主要内容是教师给定一个课题,学生按照课题的要求,对系统进行分析、电路设计、软件设计、仿真调试、PCB设计与制作等。

创新性实验是建立在基础性实验和综合性实验之上的一种创新实验。学生在完成硬件课程学习的基础上,利用本创新性实验完成毕业设计等工作,学生可以根据自己的想法通过该系统完成设计与仿真,并对其进行研究。

4 虚拟仿真实验室实验方法

传统的硬件实验中,一般不存在硬件电路的设计,主要是因为传统x86、单片机的硬件部分大多数都是由电路板或者实验箱提供的,因此实验多为验证性实验,缺乏创新性实验,不利于培养学生的动手能力和创新能力。然而,基于Proteus的虚拟仿真实验中,所有的硬件和软件都可以由学生自主创新设计与实现,硬件的修改与软件修改一样简单,大大节省了实验的成本和时间。

5 虚拟仿真实验室教学目标

通过本课题的基于Proteus的硬件虚拟仿真实验室可以实现以下3个目标:

5.1 实验教学系统的重大改革。通过本系统可以进行基础性实验、综合性实验、创新性实验,使得硬件实验得到根本性的改变。在本系统中,电路设计、程序设计、仿真实验、PCB设计与制作集为一体,教师和学生不再受时间、地点、设备的限制,充分享受实验带来的知识和乐趣。

5.2 教师教学模式改革。教师在课堂上引入本仿真实验系统后,有利于教学课程的改革,将理论与实际联系在一起,使得学生在最大程度上接收与掌握理论知识。

5.3 有效培养学生的创新能力和综合能力。当前学生急需培养实验动手能力和创新能力,在传统的实验当中,忽视了学生的设计能力培养,基本没有设计到学生的创新能力培养。因此普遍存在着学生学习的理论知识不知道如何运用到实际生活中去。

6 结束语

构建基于Proteus的硬件虚拟仿真实验室系统,不仅可以减少学校的硬件投入,更可以帮助学生更好的掌握理论教学知识,加深对原理的理解。学生通过该系统进行基础性实验、综合性实验、创新性实验,加强学生的综合能力的培养和创新能力的培养。而且,本系统也有利于促进教学系统的改革。

参考文献:

[1]刘萌,郑煊.基于Proteus的单片机虚拟实验室的构建[J].山东教育学院学报,2009,6(4):12-15.

[2]田建伟,胡德安.一种单片机虚拟实验室的建立方法[J].现代电子技术,2009(14):67-69.

[3]胡敬朋,王聪.基于Proteus的电子产品仿真设计[J].电气电子教学学报,2009,5(4):121-123.

[4]陈龙,张亚君.Proteus仿真软件在单片机实验教学中的应用[J].实验技术与管理,2009(8):87-89.

单片机虚拟实验室的建立 篇4

1 简介proteus软件

本文建立单片机虚拟实验室所使用的核心软件就是proteus。它不仅能够对单片机的CPU的运行情况进行仿真,而且对于单片机的外电路甚至于不包含单片机的电路,proteus软件也能对其在一定程度上进行仿真。所以,我们在执行相关程序时,重点考察的对象并不是存储器的改变,而是直接观察结果,看程序运行后电路的工作情况。只有这样,单片机的实验操作才能和相应的工程做到有机的统一。

2 简述proteus软件仿真的工作过程

基于proteus软件的ISIS程序,系统即可进入仿真环境。具体应用proteus软件的仿真过程可以简述为以下几步:首先,选中view菜单,根据具体情况设置捕捉对其项目的相关内容,并同时对system项中的界面大小、颜色等项进行相关设置。然后,运行元件命令后,打开pick devices,从中选择并放置仿真电路所需的各种元器件,根据实际电路设计将其连接,并按要求设定元器件的工作参数,并在软件环境下编程处理。其次,执行Define code generation tools命令,确定编译的路径、工具等。最后,在执行命令项Add/remove source files的环境下,输入相应的电路程序,通过debug选项进行仿真检测电路工作情况。

3 简述单片机实验的组织

单片机的实践教学中,一般包括以下几点:系统资源、软件技术、硬件的接口电路、软硬件结合的应用系统。下面以51单片机为例,简述单片机实验的组织情况。

3.1 关于软件技术的实验

关于软件技术实验,主要包括以下几个方面;对具体语句的执行、对具体算法的实现、对错误语法的检查、对错误逻辑的验证。当然具体实验的操作还需根据具体情况而定。

3.2 关于硬件接口电路的实验

单片机硬件的接口电路理论不仅涉及到电子电路的相关知识,还需要考虑到实际的应用需要。一般地,硬件的接口电路的相关理论主要包括如何选择或连接元器件、如何设置电路更好的工作方式、如何保障电路的稳定性以及其空间需求等知识内容。由于仿真情况下的电路工作环境与实际情况还是存在一定差距的,所以若进行单片机的实际教学,还需要求学生自己设计电路和电路的工作环境。通常情况下,可以让学生根据相关的条件,使学生对接口电路及相应的程序自行设计;或者也可以让学生根据程序设计对应的接口电路。

3.3 关于软硬件结合的应用系统的实验

实现软硬件结合,单片机就有一个应用系统了。此时的重点将不再是硬件设施的相关问题,而是软件系统如何设计、做相关的调试,并最终运行。

4 简述虚拟实验室的建立方法

要做好单片机的虚拟实验室的建设工作,一般需要考虑以下几个方面。第一,需要尽可能地保障虚拟环境与实际情况基本相符,虚拟环境下的硬件设备的供应尽可能完整。另外,在设计硬件电路时,一方面要考虑到对系统的扩展。也就是说,如果实际的应用系统需求的容量大于单片机的相关功能单元中的ROM,RAM,I/O口以及定时器、计数器等的设备容纳量时,可以通过选择适当的芯片对单片机进行片外扩展。另一方面,如果实际系统需要配置如键盘、显示器、打印机、A/D转换器、D/A转换器等设备时,系统可以对接口电路进行合理设计以满足设备调试。学生们通过对proteus软件的科学应用,以上要求都可以实现。第二,通过使用WAVE软件工具实施对应用软件的编制和调试,学生可以借此学到单片机软件的开发方法及相应的技巧。第三,在软件的调试界面选用WAVE软件,硬件的调试界面选用proteus软件的基础上,通过WAVE软件与Proteus软件的整合,即可以对虚拟的硬件和软件进行总调。第四,将WAVE软件和proteus软件所提供的软件和硬件调试进行有机整合。一般地,我们利用proteus软件绘制出所要仿真的硬件的电路图,利用WAVE软件写入相应的程序,进行编译后,系统即会生成一个*.HEX文件;并且利用proteus软件打开已绘制完成的硬件的电路图,双击芯片89C51,并打开Program File选项,在加载完成生成的*.HEX文件后即可对编译的程序进行仿真了。

5 结语

随着单片机技术在社会、工程中的应用越来越广泛,人们对其信息化、智能化的要求也会越来越高。因此,熟练掌握proteus等软件进行相关的模拟仿真成为了单片机技术发展的必然。学习proteus软件,不仅可以在机电、自动化等相关专业的教学中进行模拟仿真,还可以建立个人实验室做仿真试验,在减弱经费、时间、场地等客观条件对单片机实验的限制的同时,也在一定程度上提高了学生以及相关工程人员的实践操作能力,并且对进一步推动单片机技术的发展起到了重要的作用。

参考文献

[1]胡文金,钟秉翔,杨健.单片机应用技术实训教程[M].重庆:重庆大学出版社,2012:20-35.

[2]刘炳尧.KeilC+Protcus6.9-搭建自己的单片机仿真实验室[J].电子制作,2 01 3(8):52-54.

构建单片机虚拟实验室 篇5

关键词:MATLAB Web Server;杨氏双缝干涉;虚拟实验;仿真

中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)12-21720-02

Constructing of Web-based Virtual Optical Laboratory Based on Matlab Web

HAN Zhi-nai, LI Ling-yun

(Department of Physics Nanjing Xiaozhuang College, Nanjing 210017, China)

Abstract:Taking Young's double-slot interference experiment as an example, this paper introduces briefly MATLAB Web Server and correlative technology, presents a process to establish virtual optical lab using MATLAB Web Server. Some results are studied by computers simulation.

Key words:MATLAB Web Server; Young's double-slot interference; virtual lab; simulation

1 引言

光學实验内容比较抽象,如不借助实验,学生很难理解实验原理和过程。传统学校教育中光学实验的进行一般要稳定的环境、高精密的仪器,在实验进行中,往往很难调试到理想的状态。而远程教育中的实验教学由于学生与教育机构存在空间上的分离,一直是传统远程教育的难点,成为制约远程教育质量的一个重要因素。随着计算机技术、网络技术和仿真技术的发展,网络虚拟实验平台的构建已经成为可能。通过网络环境实施光学虚拟实验,能够拓宽信息渠道与流量,扩大了实践活动的范围,不仅为学校实验教学提供了辅助教学手段,而且为远程教育中的实验教学增加了活力。通过计算机仿真光学实验,配合理论课的讲解,把光学课程涉及的现象展示在学生面前,能够加深学生对光学内容的理解。同时学生可以根据对光学原理和规律的理解,自己设置仿真实验中的可控参数,探索和发现光学世界的奥秘,调动学习的积极性。

MATLAB是美国Mathworks公司80年代开始推出的一种简便的工程计算语言。它强大的矩阵处理与运算功能、丰富的图形绘制能力深受用户的青睐,其应用范围涵盖了当今几乎所有的工业应用与科学研究领域。MATLAB提供了具有网络功能的核心工具包MATLAB Web Server,可以通过HTTP协议,在安装了Web服务器的主机上提供MATLAB计算的远程服务。利用MATLAB Web Server,将MATLAB的应用范围扩展到网络上,实现远程的可视化建模和仿真,使开发网络虚拟实验系统成为切实可行。基于MATLAB开发的网络虚拟实验平台由于MATLAB本身功能的强大,在实验数据处理等多方面都表现出极强的优势。

2 MATLAB Web关键技术介绍

2.1 MATLAB的Web技术简介

MATLAB Web Server包含主要包括matlabserver、Matweb和matweb.m文件[1]。Matlabserver用来管理web应用程序和matlab之间的通信。它是一个多线程TCP/IP服务器。可以在matweb.conf中配置到任何合法的TCP/IP端口。Matlabserver通过调用matweb.m来处理网页中隐含字段mlmfile所指定的M文件,在Web网页、MATLAB、M文件三者之间建立联系。Matweb是matlabserver的TCP/IP客户端,它使用CGI方式从HTML文件中将输入的实验数据传递到matlabserver中执行。matweb.m是要调用的matlab的应用程序。

MATLAB Web Server的核心是matweb.exe,负责解释客户机通过html页面发送的请求,转换为运行MATLAB应用程序所需要的参数,接着启动一个MATLAB进程,并将指定的MATLAB应用程序及其参数传递给该进程进行计算。计算完毕后,MATLAB程序还要负责将计算结果以html页面的方式,通过matweb输出给客户端的浏览器[2]。MATLAB Web Server的原理结构如图1所示。

2.2 MATLAB Web Server配置

2.2.1 服务器配置

服务器要提供WWW服务,就必须有一个传统的Web服务器,如IIS服务器或Apache Web Server。本文以微软公司的IIS架构Web服务器,在IIS管理器中新建Web站点,并在该站点建立“cgi-bin”和“icons”两个虚拟目录。“cgi-bin”用来存放CGI文件(如Matlab.exe、Matlabserver.exe),“icons”用于存放Matlab文件生成的图片文件和应用程序所需的图片文件,其他的HTML文件和M文件放在根目录下。

2.2.2 建立并设置Matlab配置文件

在新建Web站点的根目录下,建立Matlab配置文件Matweb.conf和Matlabserver配置文件Matlabserver.conf,并对其进行配置。Matweb.conf的内容如下:

[sflab]

mlserver=10.1.73.33

mldir=e:/sflab

其中,sflab是MATLAB应用程序名,mlserver设置Matlabserver服务器的IP地址,mldir是设置MATLAB应用的工作目录。Matwebserver.conf的内容包括两部分:端口号p,可同时并发的最大线程数m。

3 杨氏双缝干涉实验的实例构建

杨氏双缝干涉实验是利用分波前法获得相干光束的典型例子。实验示意图如图2所示,单色光通过两个窄缝s1,s2射向屏幕,相当于位置不同的两个同频率同相位的光源向屏幕照射的叠合,由于到达屏幕各点的距离不同引起相位差,叠合的结果是在有的点加强,在有的点抵消,造成干涉现象[3]。

图2 双缝干涉图

3.1 MATLAB Web应用程序的实现

本网络虚拟实验平台的浏览器端采用的是框架结构,窗口左侧是参数输入部分,右侧是实验结果部分。

(1)输入网页shuangfeng-1.htm部分代码

请输入初始参数:

波长=

两缝之间的距离=

屏幕与缝之间的距离=

(2)输出网页shuangfeng-2.htm部分代码

仿真结果为:

变量GraphFileName的值是一个MATLAB定义的变量,用函数htmlrep可以对其进行改变。

(3)MATLAB应用文件sflab.m部分代码

function retstr=sflab(instruct)

retstr = char('');

mlid=getfield(instruct,'mlid');

cd(instruct.mldir);

bochang=str2double(instruct.bochang); %获得网页上输入的波长值

a=str2double(instruct.a); %獲得网页上输入的两个缝之间的距离

d=str2double(instruct.d); %获得网页上输入的屏幕与缝之间的距离

wscleanup('icons/ml*sf.jpeg',1,'icons/');

f=figure('visible','off');

ym=5*bochang*d/a;xs=ym; %设定光屏范围

n=101;

ys=linspace(-ym,ym,n);

for i=1:n

r1=sqrt((ys(i)-a/2).^2+d^2); %缝1到光屏上任意一点距离

r2=sqrt((ys(i)+a/2).^2+d^2); %缝2到光屏上任意一点距离

phi=2*pi*(r2-r1)/bochang;%相位差

B(i,:)=4*cos(phi/2).^2;

end

N=255;

Br=(B/4.0)*N;

subplot(1,2,1)

image(xs,ys,Br); %画干涉条纹

colormap(gray(N));

subplot(1,2,2)

plot(B,ys); %画出光强变化曲线

xlabel('x');ylabel('y');title('x,y相图');

pos=get(gcf,'position');

set(gcf,'position',pos,'PaperPosition',[.25,.25,20,15]); %设置图片大小

drawnow;

s.GraphFileName=sprintf('icons/%ssf.jpeg',instruct.mlid); %设置图片名

wsprintjpeg(f,s.GraphFileName);

s.GraphFileName=sprintf('/icons/%ssf.jpeg',instruct.mlid); %设置图片路径

close all;

templatefile = which('shuangfeng-2.htm');%指定输出HTML文件

retstr = htmlrep(s, templatefile);

3.2 实验结果分析

图3 单色光的干涉条纹图

本实验平台通过在浏览器端对实验参数波长、两缝之间的距离以及屏幕与缝之间的距离的调节,观察光的干涉现象。当波长=0.0000005,两缝之间的距离=0.0017,屏幕与缝之间的距离=1时,得出实验结果如图3所示。其左图为光屏上的干涉条纹图,右图为光屏上沿y轴方向光强的变化曲线。从图3中可知,干涉条纹是以图2中水平线OO'对称,沿上下两侧交替,等距离排列。

4 结束语

网络虚拟实验可以作为课堂实验教学的补充,为教师进行实验教学提供了新的辅助工具,便于学生对实验内容的预习、复习和自学。同时网络虚拟实验为远程教育中实验教学的开展注入了新的活力,是实验教学发展的重要方向。

基于MATLAB的网络虚拟实验平台主要是使用MATLAB Web Server组件构建,使用B/S结构,服务器端接受客户端发送的实验请求,分析和处理实验参数,经过计算模拟最终将结果返回客户端。整个系统不涉及具体的实验仪器硬件设备,浏览器端也无需安装实验运行所需的庞大MATLAB软件。基于MATLAB Web的网络虚拟实验平台,不但充分发挥了Internet和MATLAB各自的优势,提高了编程的效率,而且实验数据稳定可靠,在学校课堂实验教学与远程教育领域的实验教学中都有着广泛的应用前景。

参考文献:

[1] MATLAB Web Server User's Guide.Available online at:http://www.mathworks.com/access/helpdesk/help/pdf_doc/webserver/webserver.pdf.

[2]何强, 何英. MATLAB扩展编程[M]. 北京:清华大学出版社,2002:73-85.

[3]胡守信, 李柏年. 基于MATLAB的数学实验[M].北京:科学出版社,2004:139-141.

[4]王宏. MATLAB的Web应用和开发[J]. 计算机应用,2001,21(3).

构建单片机虚拟实验室 篇6

关键词:单片机,虚拟实验,Proteus,Keil

单片机具有功能强, 集成度高, 结构简单, 应用灵活, 易于掌握, 可靠性高, 价格低廉等优点, 在机电一体化、工业控制、家用电器及职能仪表等很多领域得到了广泛的应用, 已成为机电产品设备升级改造智能化实现的重要手段。相关的单片机课程也是高校电气信息类及其相关专业的必修课, 具有较强的综合性和实践性。该课程以微型计算机原理、数字电子技术、模拟电子技术、电路原理及电机和电器等领域的相关理论, 同时要求学生能够通过设计软件进行相关硬件电路的设计、编写调试相关程序、采用软硬件结合的方式来构建具有相应功能的单片机系统。早期的单片机试验系统功能单一, 设备比较陈旧, 无法满足目前教学实验的要求。

1 单片机虚拟实验系统组成

虚拟实验是指在计算机系统中采用虚拟现实技术实现的各种虚拟实验环境, 实验者可以像在近似真实的环境中一样完成各种预定的实验项目。随着计算机技术和仿真软件的发展, 虚拟仿真技术得到了广泛的应用。EDA软件PROTEUS除了其具有和其它EDA软件工具一样的原理图输入系统 (ISIS) 、布图/编辑 (ARES) 、混合模型仿真功能外, 其革命性的功能是, 它的电路仿真是互动性, 针对微处理器的应用, 还可以直接在基于原理图的虚拟原型上编程, 并实现软件源代码级的实时调试, 如有显示及输出, 配合系统配置的虚拟仪器如示波器、逻辑分析仪等, 还能看到运行后输入输出的效果。采用PROTEUS软件的原理图输入功能可以搭建单片机硬件控制系统, 结合单片机开发软件Keil u Vision4能够实行基于源代码级的调试。Keil调试器具备全速、单步、设置断点等调试功能, 同时可以观察各个变量、寄存器的当前状态, 并且通过设置可与Proteus联机调试单片机系统。另外, 利用互联网相关技术可以实现实验室虚拟系统的资源共享, 学生可以在教室, 图书馆甚至宿舍随时访问单片机虚拟实验系统, 进行一些创新性实验。

2 单片机虚拟实验模块电路与软件设计

单片机课程是一门实践性较强的课程, 围绕课堂教学内容, 需要配套相关实验来巩固和强化, 从而培养学生观察力和实际动手能力。单片机虚拟实验首先包括仿真软件PROTEUS和编程软件Keil u Vision4综合仿真的技巧和方法, 其次是仿真功能模块原理图设计, 然后是相关功能软件编程, 最后是仿真调试。虚拟仿真软件在单片机课程教学中会结合教学内容进行集体授课, 学生可以在自己的电脑上进行学习和演练。根据一些电路原理在PROTEUS设计相关功能的电路, 在Keil u Vision4中编写单片机C语言控制程序。在掌握这些软件的基础上, 进行相关模块的实验设计。配合教学内容, 首先是单片机输入输出控制实验。实验内容包括键盘输入、跑马灯控制、数码管驱动技术及继电器控制等。先让学生从简单的功能着手, 先搭建单片机最小系统, 保证仿真系统能够有效正常运行, 通过键盘输入控制跑马灯显示, 观测实验效果, 通过编程改变跑马灯的运行状态。在数码管驱动实验中, 让学生掌握静态和动态显示技术。由于虚拟仿真系统实验结果能立刻直观在电脑屏幕上显示, 一些相关和创意等马上得到体验, 学生们的积极性很高, 也极大增加了他们的学习兴趣。除了一些基本实验模块外, 我们还设计了一些数据采集模块, 例如基于SPI总线和IIC总线的A/D转换和DAC模拟量输出模块。让学生数字在51系统中如何模拟这两种总线机制, 为以后其它芯片的总线驱动打下基础。显示模块中除了常规的数码管显示外, 还增加了LCD显示驱动。通讯模块中包括串行通讯模块和多机通讯模块。实验仿真系统模块中除了包含课堂教学重点知识点外, 还增加各种其它应用模块, 同学们可以根据自己感兴趣的方向选择相关模块。所有这些模块都提供相关硬件原理图、软件模块函数, 具有很好的移植性。当需要时, 可以直接拷贝调用。

3 单片机虚拟实验系统的优势

采用PROTEUS和Keil u Vision4联合仿真实验系统, 具有比较明显的优势。1) 控制程序可以用Keil u Vision4进行汇编或者C51来调试, 灵活方便。对于硬件电路设计可以方便进行移植, 克服传统实验教学试验中不能更改、实验内容固定等局限性, 可以发挥学生的创造性和学习的积极性;2) 硬件投入少, 更新方便。传统实验设备功能非常单一, 实验条件有限。只能实现固定内容的实验。采用PROTEUS所提供的元件库, 能够方便搭建各种功能实验, 也可以进行创新实验, 不用担心硬件额外开销和设备损坏。大大减少实验耗材的消耗。采用虚拟系统的升级也较为方便, 只需要定期进行相关软件升级, 减少升级周期和节约成本;3) 开放性创性实验, 锻炼解决实际工程问题的能力。学生可以通过网络访问虚拟实验室的相关资源, 进行各种创新性试验, 实际工程问题也可以通过虚拟仿真进行验证, 再进行硬件的投入, 这样既省时又省力而且减少投入, 极大地提高了学生的积极性。

4 结论

虚拟试验系统主要采用的软件技术并不能完全代替实物, 在单片机课程设计中, 学生虚拟完成的控制系统, 需要做成实物并得到正确的验证。同时在此期间还有各种电子设计大赛, 科研立项以及全国大学生电子设计大赛等, 通过这些实际环节的锻炼能有效解决仿真与实际的不足, 极大地提高了学生的单片机实际应用能力。

参考文献

[1]周润景, 张丽娜.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社, 2006.

[2]张秀国.单片机虚拟实验室的建设与使用[J].中国现代教育装备, 2010 (19) .

构建单片机虚拟实验室 篇7

运行Proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pick devices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Define code generation tools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files命令下,加入单片机硬件电路的对应程序;通过debug菜单命令仿真程序和电路的运行情况。

2 Proteus软件所提供的调试手段

对于单片机硬件电路和软件的调试,Proteus提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。

对于总体执行效果的调试方法,只需要执行debug菜单下的execute菜单项或F12快捷键启动执行,用debug菜单下的pause animation菜单项或pause键暂停系统的运行;或用debug菜单下的stop animation菜单项或shift-break组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。

对于软件的分步调试,应先执行debug菜单下的start/restart debugging菜单项命令,此时可以选择step over、step into和step out命令执行程序(可以用快捷键F10、F11和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了start/restart debuging命令后,在debug菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。

3 实验的组织

3.1 系统资源的实验教学

任何一种单片机均提供了一定的系统资源。对于51系列单片机来讲,其所提供的资源是以寄存器和存储器的方式体现出来的。对于寄存器内容的查看,可以采用多种可以模拟仿真51单片机的软件来实现。对于Proteus软件来讲,可以执行在debug菜单下registers菜单项命令打开相应的窗口。对于系统内部存储器的查看,同样是执行debug菜单下的internal memory菜单项命令打开相应的窗口。

3.2 软件技术

在软件技术的实验中所涉及到的内容主要包括对语言中具体语句的执行效果验证、算法的具体实现、程序中语法错误的检查和逻辑错误的验证等内容。对于纯软件的实验教学内容,教师在实验设置时应充分考虑到学生的能力并作好具体的准备工作,以达到预期的教学目的。

3.3 硬件接口电路

作为Proteus仿真软件,其仿真电路时所模拟的元件真实工作情况,和单片机应用系统的实际工作环境还是有一定的差别。因此只能根据教学的需要,让学生自行设计电路并设置其工作方式。其实验可以通过两种方式组织实施,一是根据具体的要求,让学生设计接口电路并编写相应的程序;一是根据程序的要求,设计单片机接口电路。

3.4 软件和硬件结合的应用系统

软件和硬件的结合,就是一个单片机的应用系统了。这一步的实验可以在课程设计中以课题的方式提出来处理,也可以将其分解成不同的接口部分在接口电路的多次实验中分次完成。在这一阶段,硬件电路的设计已经不是最为关键的了,而软件系统的设计、调试和运行才是实验的主要内容。因此,可以以建议性的意见给出具体的硬件电路,并提出该电路所需要完成的具体工作,由学生进行软件的设计和调试。

4 用Proteus软件虚拟单片机实验的优点

4.1 内容全面

采用Protues仿真软件进行实验教学,克服了用单片机实验教学板教学中硬件电路固定、学生不能更改、实验内容固定等方面的局限性,可以扩展学生的思路和提高学生的学习兴趣。

4.2 硬件投入少,经济优势明显

Protues所提供的元件库中,大部分可以直接用于接口电路的搭建,同时该软件所提供的仪表,不管在质量还是数量上,都是经济可靠的。如果在实验教学中投入这样的真实的仪器仪表,仅以仪表的维护来讲,其工作量也是比较大的。因此采用软件的方式进行教学,其经济优势是比较明显的。

4.3 学生可自行实验,锻炼解决实际工程问题的能力

如果采用传统的实验教学方法,则学生需要购置的设备比较多,增加了他们学习和研究的投入。采用仿真软件后,学习的投入变得比较的小,而实际工程问题的研究,也可以先在软件环境中模拟通过,再进行硬件的投入,这样处理,不仅省时省力,也可以节省因方案不正确所造成的硬件投入的浪费。

4.4 实验过程中损耗小,基本没有元器件的损耗问题

在传统的实验教学过程中,都涉及到因操作不当而造成的元器件和仪器仪表的损毁,也涉及到仪器仪表等工作时所造成的能源消耗。采用Protues仿真软件进行的实验教学,则不存在上述的问题,其在实验的过程中是比较安全的。

4.5 与工程实践最为接近,可以了解实际问题的解决过程

在进行课程设计或进行大实验的时候,可以具体的在Protues中做一个工程项目,并将其最后移植到一个具体的硬件电路中,让学生了解将仿真软件和具体的工程实践如何结合起来,利于学生对工程实践过程的了解和学习。

5 结语

Proteus不仅可以作为学校单片机(电子等)实验的模拟仿真,也可以作为个人工作室的仿真实验。作为电子技术或控制类相关专业的学生和工程技术人员,在学习了该软件后,可以充分地利用它所提供的资源,帮助自己提高工程应用能力。

在教学中利用该软件,除了能教单片机的具体课程内容外,还可以教会学生应用该工具的能力,为今后的工作打下基础。

摘要:单片机应用技术所涉及到的实验实践环节比较多,而且硬件投入比较大。在具体的工程实践中,如果因为方案有误而进行相应的开发设计,会浪费较多的时间和经费。本文以学校单片机课程的实验教学为背景,较为全面地阐述采用仿真实验的方法。

构建单片机虚拟实验室 篇8

高校实验室不仅要满足课程实验的需要,而且要为科研和学生的个性化发展提供基地。它是培养具有工程实践能力应用型人才的重要保障,直接影响着创新人才的培养质量。实验室的建设和管理是教学改革的重中之重,其中实验室的开放是实验室生命的源泉,而这一点常常被人们忽视[1]。我通过分析所在学校单片机专业实验教学的特点,以及单片机实验室教学中存在的问题,提出了网络化虚拟单片机开放实验室的建设方法,并根据学校现状,对实验室的网络化和单片机实验平台的虚拟化,以及实验室开放管理等方面进行了探索研究。

2. 单片机实验室现状

《单片机原理及系统设计》课程的特点是应用性强,要求有较多的动手实验。实验室的开放性与硬件实验资源的充足程度是让学生有更多动手实践机会的关键所在。目前,我校单片机实验教学平台结构如图1所示。主要存在如下不足。

2.1 实验条件不足,开放度不够。

目前,很多学校都尝试开放实验室,希望能够让学生变被动学习为主动探索,这有利于培养学习的创新精神和实践能力,提高综合素质。但是,由于实验条件所限,往往效果都不尽如人意。以我院为例,《单片机原理及系统设计》实验室的硬件情况是约20台套实验硬件平台,开设实验时,每组3—4人。这样,每次操作的学生只有1—2人。另外,实验课程平均每学期80学时,而实验室开放时间大约50学时/学期,其他时间基本都是空闲的。显然,由于实验硬件条件、时间和空间所限,该实验课程的开设条件不能为学生提供更多的动手机会。

2.2 实验教学内容陈旧,实验缺乏创新。

由于实验教学时数所限,学生在实验课程中的教学内容都相对简单,并且大部分的实验都是验证性实验。按照实验指导书提供的操作步骤,学生在整个实验过程中都是“傻瓜式”操作。对于不善于思考的学生,不能很好地起到思维训练的教学目的。另外,学生所做的实验内容都相对较固定。由于硬件实验箱所限,学生不能灵活完成综合性的设计性实验内容。这一点不足,在每学期学生做课程设计的时侯,显得尤为突出。

2.3 设备管理维护困难。

由于在实验过程中,学生的流动性比较大,常常出现实验箱中元器件烧坏、实验台式电脑的软件平台丢失文件和其他的一些问题。这些问题给实验室的管理和维护都增加了不少人力和硬件成本。另外,对于开放实验室时间,需要额外为安排工作人员负责管理实验室,这也增加了管理成本。

3. 基于Proteus的网络化虚拟单片机开放实验室

通过以上对我院《单片机原理及系统设计》实验室、实验课程与管理方面存在问题的分析,论文下面对具有网络化的单片机开放实验的建设方案进行了研究和探索。

3.1 Proteus的功能。

Proteus是英国Labcenter公司开发的电路分析、实物仿真与印制电路板设计软件,它可以仿真、分析各种模拟电路与集成电路,软件提供了大量模拟与数字元器件与外部设备,以及各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。它支持的单片机类型很多,支持大量的存储器和外围芯片,并在同类产品中具有明显的优势,是未来单片机系统设计开发的新趋势之一[2]。Proteus有相应的网络版产品,支持局域网联网工作,这使得建立虚拟开放的单片机仿真实验室成为可能。

3.2 网络化单片机虚拟实验平台。

针对现有实验平台存在的不足,充分利用Proteus软件的强大单片机和外围电路仿真功能,以及支持网络平台联网功能的特性,结合我院实际情况,我构建了以下网络化单片机虚拟开放实验室平台,如图2所示。

网络化的单片机虚拟开放实验室总体上包括3部分内容。第一部分是整个网络的管理部分,即图中的网络管理中心部分。该部分的主要功能是完成整个网上开放实验室的服务器部分。Proteus服务器上需要安装网络版的Proteus软件,该软件是进行校园内网上单片机系统设计和模拟仿真的基础软件。整个网络管理中心网络通过校园网与学生宿舍和实验室(教师办公室)相连,以便于用户随时可以在网络上进行“开放”的单片机系统仿真实验。第二部分是校园网部分。该部分基于我校现成的校园网络环境,提供虚拟开放实验室的网络和计算机平台。第三部分是分布在校园内的各种Proteus客户终端。客户终端主要由两大类用户构成,即宿舍内的学生个人电脑和实验室、办公室的电脑。所有的客户端需要安装Proteus的客户端程序。客户端通过校园网络可以随时使用网络中心服务器上的资源包。

3.3 网络化虚拟单片机开放实验平台的优点。

首先,现有电子类实验室是封闭式的实验教学模式,即在规定的课时时间内,学生在规定的场地内,进行规定的实验内容;现有的各种电子类教学实验,基本是进行固定程式的验证式实验,实验所用的元器件,线路板已选好,学生所做的工作仅是对实验箱连连线,使用一下测试仪器、仪表,建立相应概念而已。理论上,以上不足都不利于巩固所学内容、提高实验效果;不利于提高学生的学习积极性和培养学生的创造性思维。当采用基于Proteus的网络虚拟实验室,有利于克服以上不足。

其次,在实践方面,基于Proteus的网络虚拟实验室,一方面,解决了时间与场地的限制(建立Proteus的网络服务器,只要有网络,随时随地都可以登录服务器学习),使学生能有充够的时间深入了解及研究实验的内容,学生对实验的兴趣也得到了鼓励和保护。另一方面,有利于学生创新思维能力的培养。基于网络的Proteus虚拟实验室,使得以下过程成为可能:学生从有一个概念(或想法)开始,然后着手电路原理图的设计、编写程序代码、调试、PCB设计,最后形成产品的整个开发过程的训练。

最后,利用Proteus软件建立的单片机虚拟实验室,只要配备相应的软件,就可以作为电路分析、电子技术、嵌入式等课程的虚拟实验平台。因此,该实验平台将是一个多功能的、先进的、创新型的、易于管理和维护及低投入高回报的实验平台。

4. 结语

网络化虚拟单片机开放实验室不仅合理利用了学生个人的电脑资源,在开发和网络化的实验环境中学生随时都可以做实验,而且网络化的平台降低了管理人员的数量和维护工作量。该平台能给予学生更大的自由度,培养学生的创新能力,极大地提高实验教学质量。

摘要:通过对单片机实验课程的实验环境、实验内容和实验室管理现状进行分析, 作者找出了现存实验的不足, 并针对这些问题, 提出了基于Proteus的网络化虚拟单片机开放仿真实验室建设目标, 从而解决了现存实验教学中的问题。

关键词:单片机,Proteus,网络化虚拟单片机,开放实验室

参考文献

[1]谢玲等.高校开放嵌入式实验室的探索[J].计算机教育, 2010, (7) :55-57.

构建单片机虚拟实验室 篇9

根据高职工科教育的目标和特点,必须增加实践性教学的课时,注重学生的实际操作能力及技能的培养。为此,实验设备,尤其是开放性的实验设备是不可缺少的。但是,众多的课程都建相应的实验室,显然是不太可能的,购买大量的耗材让学生做出实物,在经费上也是一个不小的负担。有没有别的有效的实验手段来支持实践教学?能不能让学生模拟实物制作来验证所学,提高技能?答案是肯定的,那就是通过软件仿真技术来达到这些要求。

目前各工科高校电类专业都建立了相应的单片机实验室,基本都配备了相应的硬件仿真设备构成的实验板或试验箱。随着技术和产品的更新,原有的实验设备即将过时,更新基本上相当于重建,所以有些学校的单片机实验室还只是基于8051的,像如今应用普遍的AVR、PIC、ARM不能及时补充,造成了学生知识的欠缺。所以建设单片机仿真系统就尤为迫切,应用仿真系统,不仅可以在计算机构成的虚拟环境中设计电路,还可以对电路进行模拟测试,及时发现潜在的问题,缩短新产品的开发周期。

1 引入单片机软件仿真系统

伴随着计算机软件和硬件技术的飞速发展,在各个领域都出现了各种仿真系统,为各种实际系统的开发提供了准确可靠的保证,同时节约了大量的人力和物力。电子信息技术领域也不例外,出现了大量的仿真工具,如各种EDA(Electronic Design Automation电子设计自动化)工具:模数混合仿真的Multisim、Or CAD、Protel等,数字系统设计仿真的Maxplus II、Fundation、Expert等,系统仿真软件Systemview等。

但在EDA实验室中配备的Multisim、Protel、Maxplus II、Systemview等软件和配套硬件,对单片机的仿真却无能为力,因此仍然需要建立单片机实验室。单片机实验室的建设中基本都是采用硬件仿真系统,所以为了保证实验的顺利开设,同一类型的硬件仿真开发系统就需要采购多套设备,硬件的投资成本相对较高。

另一个很重要的原因就是,目前单片机的课程除了主要开设8051系列单片机课程之外,还开设AVR系列、PIC等系列的选修课。为了保证相应实验的开设,必须要有配套的实验系统。如果要保证一定的实验硬件设备套数,这将是一笔更大的开支。所以在经费紧张的情况下,引入单片机软件仿真系统就可以大大减少硬件设备的采购,同时降低对硬件设备进行维护的工作量。

2 单片机软件仿真系统应具有的功能

根据实验目的,仿真软件应该具有如下的功能。

1)单片机仿真和SPICE(Simulation Program with Integrated Circuits Emphasis)电路仿真相结合

在仿真单片机系统时,不仅需要知道单片机内部各种寄存器、数据存储器以及各个端口当前的状态,更重要的是要完成人机通道、前向通道、后向通道的配置与接口。在这些接口电路中,有许多是模拟电路,而模拟电路的仿真就需要SPICE模型,因此必须要求该系统具有SPICE电路仿真功能。传统仿真和分析只能针对非智能器件,而单片机仿真则可以针对单片机甚至更加复杂的嵌入式系统进行仿真,实时地对外围电路同步仿真,大大利于相关项目的开发和应用。

2)支持主流单片机系统的仿真

目前广泛采用的单片机系统有6800系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、HC11系列等。因为不可能为每一个系列的单片机配备一套软件,所以要求该软件尽可能将多个系列的单片机集成在一起。

3)提供软件调试功能

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能,同时要支持第三方的软件编译和调试环境。只有这样,经过该单片机软件仿真系统训练的学生,才能够较快地熟悉和使用真正的硬件仿真系统。

4)提供丰富的外围接口器件

外围接口不能仅仅限于仅有的几个器件,要把常用的电子元器件尽可能地囊括其中,使之更接近实际工作。在学生训练时,可以选择不同的方案进行比较,这样更利于培养学生的动手能力和电路设计能力。

5)提供丰富的虚拟仪器

在仿真过程中可以利用虚拟仪器测量外围电路的特性,培养学生实际硬件的调试能力。

6)具有强大的原理图绘制功能。

3 单片机软件仿真系统实验室的配置方案

根据上述对软件的要求,并对多种软件进行对比,我们认为Proteus是目前较好的单片机仿真系统,编译调试环境选用Keil C51 u Vision3软件,再辅以必要的硬件仿真器、实验板、编程器和示波器即可构成功能强大、使用方便、易于被学生掌握的单片机实验室。

1)软件仿真系统选用Proteus的ISIS(Intelligent Schematic Input System)

Proteus软件是英国Labcenter electronics公司研发的EDA工具软件。由ISIS(原理图设计与仿真平台)和ARES(Advanced Routing and Editing Software。高级布线和编辑软件平台)组成,真正实现了在计算机上完成从原理图、电路分析与仿真、单片机代码调试与仿真、系统测试与功能验证到PCB板生成的完整的电子产品研发过程。

该软件的主要功能有:

(1)满足我们提出的单片机软件仿真系统应具有的功能,并在同类产品中具有明显的优势。

(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能,有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等,使得相关实验更直观,方便,更加有利于教学应用。

(3)支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

(4)支持大量的存储器和外围芯片。

2)编译调试环境选用Keil C51 u Vision3软件

该软件支持众多不同公司的MCS-51架构的芯片,集编辑、编译和程序仿真等于一体,同时还支持PLM、汇编和C语言的程序设计。在调试程序、软件仿真方面有很强大的功能,很多应用MCS-51的工程师都在使用该软件。所以使用该软件将使学生获得很多实际工作经验,并且通过设置可与ISIS联机调试单片机系统。

3)配置计算机平台

上面介绍的这两款软件,对机器的配置要求都不高,主流的计算机运行起来绰绰有余。至于计算机的数量,要根据实验室的规模来确定。我们按标准实验小组人数的数量配置,基本保证每人一台。

4)配置硬件仿真器、实验板、编程器和示波器等

单片机课程安排了10个左右的实验。这10个实验都是比较常规的实验,不需要特殊的器件,所以每门课的实验首先都是通过单片机仿真软件实现的。为了让学生的训练不脱离实际,给学生提供硬件仿真和验证的机会,我们的做法是:学生自己绘制原理图,自己编制程序,在仿真软件里首先调试通过。调试通过后,将自己编译好的程序用编程器去烧录,然后在目标实验板去观察运行结果。如果有问题,再连接硬件仿真器去调试、分析。

配置有限的硬件设备,将节约的资金用于购买仿真软件(使用试用版做试验也足够用了,更是省去了不少的花销),这样我们用有限的资金解决了单片机实验室的建设问题,对于经费紧张的学校有一定的借鉴价值。

4 Proteus与Keil的联机调试设置

两个软件安装后,需要进行相应的设置才能实现联合的仿真功能。

1)在单片机实验室每台电脑上安装Proteus和Keil u Vision3软件。

2)把Proteus安装目录下VDM51.dll(C:Program filesLabcenter ElectronicsProteus6ProfessionalMODELS)文件复制到keil安装目录下的c51bin中。

3)编辑keil目录下tools.ini文件,在[C51]项下,加入TDRV5=BINVDM51.DLL。

4)确定单片机实验目的。

5)打开Proteus ISIS软件。设计单片机实验硬件组成框图,建立硬件连接原理图。

6)打开Keil u Vison3软件。建立单片机系统软件工程,针对实验要求编制程序。

7)在Keil软件中,选择菜单“project-Options for Target'Target1'”,在出现的对话框中,选择“Output”页面,选中,“create Hex File”选项;选择“Debug”页面,选中“Use-PROTEUS VSM DRIVER”,进入“Settings”,Host设为127.0.0.1,Port设为8000。

8)在Proteus ISIS软件中,选择菜中“Source”-“Add/Remove Source Code Files”,在出现的对话框中,点击“Chang”按钮,选择从Keil u Vison3软件工程中所生成的HEX文件,点击“OK”。在Debug菜单下选中,“Use Remote Debug Monitor”。

9)在Keil u Vison3软件中直接进行仿真,连续运行或单步运行,即可在Proteus ISIS软件中看到单片机硬件仿真运行结果。

在联机调试中,单片机软件仿真平台建立过程为(1)—(3)项,实验过程为(4)—(9)项。

5 单片机软件仿真系统实验室的创新应用

建立了单片机软件仿真平台的实验室后,实验、教学和学生的创新实验都发生了很多的变化,学生兴趣大增,实际动手能力显著增强。

首先,实验项目数稳步增加,并已实现该课程实验独立设课,并逐步向半开放实验模式迈进;其次,课程设计,已由原来固定时间、固定题目向现在的全开放、分散型自主模式过渡。再次,改进了教学方式。在单片机教学过程中,应用仿真系统,对单片机系统进行演示教学。学生在老师的启发下,亲自动手完成单片机系统的设计、软件调试、仿真。

同时,我们建立了创新综合实验室,为学生搭建了基于单片机应用的创新平台。创新实验室由电子制作小组具体负责,全天候对外开放。通过这个实验室,加强了学生学习和使用单片机的实践环节,增强了学生的创新意识和创新思维,达到了提高学生的创新能力的目的。几年来,开展了多项单片机制作活动,指导学生进行单片机项目制作,极大地提高了学生的单片机实际应用能力。

参考文献

[1]王东峰,王会良,董冠强.单片机C语言应用100例[M].北京:电子工业出版社,2009,12-18.

[2]刘同法,陈忠平.单片机基础与最小系统实践[M].北京:北京航空航天大学出版社,2007,35-38.

[3]蔡希彪,曹洪奎,芳琳.单片机电子时钟系统的设计与仿真[J].中国科技信息,2007,(4):61-63.

构建单片机虚拟实验室 篇10

Protues Is Is是英国Labcenter公司开发的电路分析与实物仿真软件。该软件不仅可以仿真和分析各种模拟器件和集成电路, 而且能仿真MCS 51系列单片机和它的外围电路的工作。Protues Is Is具有强大的原理图绘制功能, 能够实现仿真的在线调试。对于单片机实验, Proteus使实验过程变得自由、生动、直观和简便, 这一点, 对于刚刚接触到单片机的学生来说, 既增加了实验趣味, 又避免了传统实验中的损耗。用Protues Is Is实现单片机实验, 实验将不再受传统实验硬件的限制, Protues Is Is提供的大量虚拟的单片机及其外围电路的电子元器件, 为学生自由搭建功能相似、实现方法不同的实验电路提供了可能。也就是说, 学生可以根据自己的需要, 在满足实验目的和实验要求的前提下, 提出多种实验方案进行实验。

用Protues Is Is做单片机实验, 实验无疑是虚拟的。虚拟实验的虚拟性, 不可避免地会给学生带来不真实、脱离具体硬件环境等不利影响。为避免这些不利影响, 在实验中, 部分实验可以建立一个同物理实验环境相同的虚拟实验环境, 实验可以先在虚拟环境上实现, 再移植到物理实验环境上来完成, 通过虚拟实验和具体的、物理的实验的实验过程和实验结果对比, 提高学生对虚拟实验的认识和对物理实验的理解。

然而, 由于Protues Is Is对电路的分析和良好的仿真, 与实验相关的实验电路不仅在Protues Is Is环境中能正确运行, 同时能实时产生实验所要求的实验现象。以Protues Is Is为中心构建良好的、基于MCS 51系列单片机的虚拟实验室不仅是可行的, 而且是现实的, 具有专业水准的。

一、Protues简介

Proteus是英国Labcenter electronics公司开发的EDA工具软件, 自1989年出现以来已在全球得到广泛地使用。安装后的Proteus由Ares和Is Is两个程序组成。Ares用于PCB自动或人工布线及电路仿真, Is Is则采用布原理图的方法绘制电路并进行相应的仿真。Proteus革命性的功能在于它的电路仿真是互动的。针对微处理器应用, 可以直接在原理图的虚拟原型上编程实现软件调试, 以检验实验电路的正确与否, 而不必将程序烧写进单片机。用户可以一边搭电路, 一边测试电路的正确性, 在实时动态地模拟按钮、键盘输入的同时, LED, 液晶显示实时动态地给出输出, 加之系统配备的虚拟工具, 如示波器、逻辑分析仪等, 完成对系统的各种观察和测量。

和其它单片机仿真软件不同, Protues Is Is不仅能仿真单片机的工作, 而且能仿真单片机外围电路或没有单片机参与的其它电路的工作。这样, 在仿真和程序调试时, 可以不必关心由于某些语句执行时单片机寄存器和存储器内容的改变状况, 而是从工程的角度直接看程序的运行和电路工作的过程和结果。

Proteus软件提供了30多个元件库, 数千种元件, 涉及到数字和模拟、交流和直流等, 比如有三极管、稳压二极管、74系列、存储器、运算放大器、PLC集成电路等。Proteus软件提供的仪表有:示波器、逻辑分析仪、时间计数器、串口虚拟终端、信号发生器、图形信号发生器、直流电压表、直流电流表、交流电压表、交流电刘表等。除此之外, Proteus还提供了一个图形显示功能, 可以将线路上变化的信号, 以图形的方式实时地显示出来, 其作用与示波器相似但功能更多。

Proteus提供了比较丰富的、可用于电路测试的测试信号。这些测试信号包括模拟信号和数字信号, 可以测量直流信号、交流信号、脉冲信号、指数信号、调制信号、来自文件的信号、来自音频的信号、数字脉冲信号、数字时钟信号、数字模拟信号和数字边沿发出信号等。

二、在Protues Is Is中虚拟实验的建立方法

任何学生实验, 实验前都需要学生明确实验目的和实验要求, 用P r o t u e s I s I s做实验也不例外。在Protues Is Is上做实验, 实验电路可以由学生自己搭建, 也可以由老师以标准电路模板的形式提供给学生。但无论是那一种情况, 熟悉Protues Is Is应用环境都是必不可少的。

1. Protues Is Is操作环境

Proteus Is Is的工作界面是一种标准的Windows界面, 它包括标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口, 见图1。

使用Proteus Is Is的方法很简单。首先, 用户可以通过对象选择按钮选择实验中需要用到的元件, 这些元件将被存放在对象选择器窗口中, 然后从对象选择器窗口选择要在图形编辑窗口中完成的电路图的元件, 并将它放在图形编辑窗口的适当位置。当实验用的元件在图形编辑窗口中分布好后, 就可以把它们按需要连接 (连接的方法有直接连接和总线连接两种, 具体使用参见相关说明书) 起来。这样, 就建立了一个具体的实验电路。如果实验电路中不需要加入学生程序, 则通过仿真进程控制按钮中的即可控制电路运行。如果实验电路中需要加入学生程序, 则在学生程序与实验电路中的单片机绑在一起后, 通过控制电路运行。

2. 建立实验模板

良好的实验模板是学生成功实验的基础。实验模板可以由学生建, 也可以由教师提供。本文提供图2所示的实验模板并得到了较好的效果。其中, 实验标题给出学生的实验题目;实验电路及学生实验区包含了学生全部实验内容, 实验电路分布在这个区域, 实验中需要的接线也在这个区域中进行, 实验现象也在这个区域中发生, 学生的实验程序在这个区域同实验电路发生关系, 学生对实验的控制也同样在这个区域进行;实验提示区主要包含一些与实验题目有关内容, 如实验目的、实验要求、实验中的接线方法说明, 实验中编程要点难点、实验要点难点提示等均可以在这个区域提供;实验元器件库包含了实验用的所有元器件。学生在实验时, 通过阅读实验提示区的内容, 获得本实验的目的和要求, 再通过研究实验电路图及学生实验区的电路, 对照实验提示区的接线方法说明, 完成实验接线。当实验电路完成后, 如果需要为实验电路配实验程序, 则在实验提示区中编程要点难点和实验要点难点提示下完成设计, 进行实验。

当然, 如果学生自己搭建实验电路, 则可以在实验模板中只保留实验标题和实验提示区两部分内容, 这样, 学生就可以做设计性实验了。图3给出了一个利用图2设计的实验模板的例子。

3. 实验进行

使用图2设计实验模板进行实验的学生, 学生首先要进行实验连线。实验连线可根据实验面板给出的使用方法进行。当实验电路图中的线路连好后, 根据连线, 学生可以编写自己的实验程序。将实验程序编写完成后, 经编译、连接生成可以在实验电路图中运行的16进制目标代码文件。在实验电路图中选中单片机, 修改它的属性将16进制目标代码文件成为单片机运行的目标程序, 而后利用Protues Is Is功能控制十六进制目标代码文件在实验电路图中运行, 并观察实验结果。注意, 当连线正确并且程序无误时, 实验电路图中的可以产生发光或运动或显示信息的元件会发光或运动或显示相关信息。比如图3给出的实验模板中实验电路图的发光二极管会根据程序的需要发光。学生根据实验面板在实验中的运行情况, 或改进实验程序, 或调整实验线路, 以确保实验的顺利进行。

三、利用Protues Is Is建立基于MCS 51系列单片机的虚拟实验室

当可以使用Protues Is Is做单片机实验时, 利用Protues Is Is建立虚拟实验室就变得非常现实了。实验室毕竟和实验不同。一个好的实验室不仅要包含许多实验用的元器件, 而且还要包含许多实验用的实验仪器。这些实验仪器不仅可以帮助学生看到实验现象, 更重要的是可以帮助学生从更高的层次上分析实验。

Protues Is Is提供了示波器、逻辑分析仪、时间计数器、串口虚拟终端、信号发生器、图形信号发生器、直流电压表、直流电流表、交流电压表、交流电刘表等仪器仪表, 同时它的一个图形显示功能, 可以将线路上变化的信号, 以图形的方式实时地显示出来, 其作用与示波器相似但功能更多。有了这些虚拟的技术手段, 利用Protues Is Is建立基于MCS 51系列单片机的实验室的条件就已完全具备。利用Protues Is Is建立基于MCS 51系列单片机的实验室, 就是在不脱离Protues Is Is的技术条件下, 仅采用Protues Is Is给出的MCS 51系列单片机及其外围电路元器件, 加上Protues Is Is提供的仪器仪表, 就可以完成了。在这样的实验室里, 实验教师要做的事就是利用Protues Is Is制作出丰富多彩实验模板, 这些实验模板要尽可能地含盖单片机应用领域的所有内容。

当然, 在这样的实验室里, 完全可以放手让学生自己搭建自己的电路, 根据自己建立的电路做实验。这样做, 完全可以不必考虑元器件的损耗, 这正是虚拟实验室的优势。

四、虚拟实验室中可能存在的问题及其解决方案

任何一个虚拟实验室, 都可能存在这样的问题, 即由于其采用的实验环境是虚拟的, 实验的不真实感也就油然而生。实验结果可信吗?这样的实验能说明问题吗?

事实证明, 由于Protues Is Is是一种既可以进行电路分析, 又在电路分析的基础上完成实物仿真, 这就使Protues Is Is的虚拟实验结果变得正确可信。实验结果的正确性建立在Protues Is Is正确有效的电路分析上。但是, 还是有些物理电路上不行, 而在Protues Is Is可以的例子, 比如, 当一个单片机程序中不存在ORG 0000H程序在内存中定位的伪指令时, 在Protues Is Is环境下程序可能仍能正常运行, 但它却不能在与Protues Is Is环境想对应的物理单片机系统上运行。关于这种错误, 学生可以通过理解程序在P r o t u e s Is Is环境中和在物理单片机系统上的不同的运行方式来理解。有时, 一些可以Protues Is Is环境中完成的实验, 在物理系统上, 也许还要做某些转换。

五、小结

总之, 利用Protues Is Is构建基于MCS 51系列单片机的虚拟实验室是一个良好的思想。在实验中Protues Is Is环境中实现和物理单片机系统上实现的细微差别, 并不影响人们使用Protues Is Is做单片机实验的热情。它的虚拟造成的实验节省使得许多没有实际条件学习单片机的人们, 他们的学习不再是空想。当然, 对于那些有条件做单片机物理实验的人来说, 在Protues Is Is环境中做实验与在物理单片机系统上都是很好的选择, 利用前者可以自己驾驭实验, 利用后者使自己更加确认自己的实验, 并从深层上理解Protues Is Is环境和物理系统的不同。并且, 可以预想, 这些人会越来越多地使用Protues Is Is, 并把它当成自己的良师益友。

摘要:本文通过对Protues IsIs的讨论, 给出一种利用Protues IsIs构建MCS51系列单片机实验和相关实验室的方法。本文首先讨论了Protues IsIs的特点, 而后给出了基于Protues IsIs的虚拟实验的设计和建立和基于Protues IsIs的虚拟实验室的设计和建立方法, 最后就这样的实验室可能存在的问题及其解决方案进行了讨论。

关键词:虚拟实验,虚拟实验室,Protues IsIs,实验模板

参考文献

[1]赫建国, 郑燕, 薛延侠.单片机在电子电路设计中的应用[M].北京:清华大学出版社, 2006

[2]李学礼, 林海峰.基于Proteus软件的单片机实验室建设[J].单片机与嵌入式系统应用, 2005, 9

[3]ISIS User Manual.Labcenter Electronics

上一篇:商品房限价下一篇:压力与健康