虚拟仿真技术在单片机实验教学中的应用研究

2014-10-21 14:43凌六一黄友锐唐超礼曲立国陈珍萍徐善永韩涛
中国电力教育 2014年32期
关键词:虚拟仿真实验教学

凌六一 黄友锐 唐超礼 曲立国 陈珍萍 徐善永 韩涛

摘要:单片机课程是一门实践性强的课程,实验教学对学生掌握单片机系统开发与应用至关重要。为解决目前实验教学过程中存在的实验内容单一、验证性实验为主、实验课时及硬件条件有限等问题,本文将Proteus和Keil相结合的虚拟仿真技术应用到单片机实验教学中,给出了两者联合仿真的方法与步骤,通过具体实例验证了应用虚拟仿真技术的可行性,表明了虚拟仿真技术在单片机实验教学中具有应用前景。

关键词:实验教学;单片机课程;虚拟仿真;Proteus软件

中图分类号:G712 文献标识码:A 文章编号:1007-0079(2014)32-0121-02

单片微型计算机简称单片机,是将一个计算机系统集成在一个芯片上,它具有体积小、耗能低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于智能仪器仪表、工业控制、汽车电子、医疗电子、家用电器等领域。鉴于单片机优点及其广阔的应用前景,单片机课程已成为很多高校电子信息类专业本科生必修课程之一。作为一门实践性很强的课程,传统的单片机课程教学多以MCS-51单片机及其汇编语言开发作为主要授课内容,汇编指令可以帮助学生直接了解和掌握系统硬件及编程,但由于单片机汇编指令较多,在学习过程中若不反复使用这些指令来开发一些实际系统,学生是很难记住,更谈不上熟练掌握这些指令,从而限制学生深层次地理解单片机内部结构以及接口设计的内涵。尽管目前单片机课程教学中都设有实验环节,但毕竟实验课时有限,而且多数实验以验证性为主,学生很难在短时间的验证性实验教学中对单片机系统一探究竟。由于硬件条件与实验条件的限制,不可能每个学生都有机会在课余时间进行单片机系统的开发训练。虽然单片机开发系统有限,但计算机已很普及,拥有计算机的学生很多,为此本文拟采用Proteus和Keil软件相结合的虚拟仿真技术[1],模拟单片机开发系统及编程,进行单片机课程实验教学的改革与实践,通过仿真环境增强学生的感性认识,激发学生的学习兴趣和主观能动性,从而来提高教学质量。

一、单片机课程实验教学现状及存在的问题

目前,很多高校的单片机课程以MCS-51内核的单片机作为授课内容,着重介绍此类单片机的汇编语言编程与开发。而单片机实验教学主要围绕课堂教学展开,实验课时非常有限,开设的实验项目主要用于验证书本上的内容。总的来说,目前单片机实验教学存在一些问题[2-4],主要表现在以下几个方面:

(1)实验内容单调,多以验证性实验为主。由于实验课时的限制,为了尽可能多地涉及到课本上的一些主要内容,在实验课时安排上只能以验证性实验为主,实验教学时会具体给出实验目的、实验要求和实验步骤,甚至连实验程序一并给出。在这样的实验教学中,学生处于被动地位,其独立思考问题能力、解决问题能力和创新能力得不到有效的锻炼。

(2)实验过程中学生的硬件设计能力得不到锻炼。由于实验教学中所采用的实验设备大多为高度集成的实验箱或实验台,实验过程中学生不需要自行搭建硬件电路,而只需进行简单的连线即可满足实验的硬件设计要求。因此,学生无法实践单片机硬件电路的设计,更谈不上自行设计电路并通过实验来验证正确与否了。

(3)实验硬件缺失,难以开展综合性实验。单片机学习不仅是编程序,验证一下指令系统那么简单。在掌握单片机内部结构和软件编程的基础上,将单片机最小系统与外部硬件结合起来,能够将单片机真正应用到实践中,这样才能让学生建立起单片机系统的概念,让他们真正体会到单片机的应用价值,激发学生学习和实践的兴趣。然而,由于实验硬件条件有限,能够增强学生建立单片机系统概念的综合性实验很难开展起来。实际上,也只有一小部分学生能通过学科竞赛而不是实验教学来真正掌握单片机系统的开发。

二、虚拟仿真技术的应用

虚拟仿真又称虚拟现实技术或模拟技术,就是用一个虚拟的系统模仿另一个真实系统的技术。Proteus软件是一款电路分析仿真软件,非常适用于开发单片机系统的虚拟仿真。Keil软件是一款单片机系统开发软件,支持汇编、C语言及混合编程。通过Proteus软件建立虚拟的单片机系统,再利用Keil软件对单片机程序进行调试,程序的运行结果能够在Proteus环境中得以反映,这两者的有机结合完全可以模拟出“单片机系统+仿真器+开发软件”这种实际系统的运行效果。

1.Proteus与Keil软件简介

Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件,它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。从原理图绘制、PCB设计、代码调试到单片机与外围电路协同仿真,真正实现了从概念到产品的完整设计。Proteus是目前世界上唯一将电路仿真软件、PCB設计软件和虚拟模型仿真软件三合一的设计平台,可以仿真51系列、AVR、PIC、ARM、等常用主流单片机以及Cortex和DSP系列处理器。支持汇编语言的编辑、编译、源码级仿真,内带汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试,配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

Keil软件是一款兼容51系列单片机的开发工具,它提供了丰富的库函数和功能强大的集成开发调试工具。支持汇编、C语言及混合编程,可以在无硬件情况下进行纯程序调试的模拟仿真,也可以通过单片机仿真器、JTAG等程序调试接口对实际系统进行程序调试。

2.Proteus与Keil软件的联合仿真步骤

在进行联合仿真之前,需要将Proteus软件和Keil软件联系起来,联合仿真的具体操作步骤如下:

第一步:安装Keil环境下的Proteus VSM仿真器的驱动程序(vdmagdi.exe);

第二步:在Proteus开发环境中建立项目文件,根据具体仿真内容,绘制单片机系统电路图,包括添加信号源、显示工具等;

第三步:在Proteus开发环境中,Debug菜单项选择“Use Remote Debug Monitor”;

第四步:在Keil开发环境中建立项目文件,根据具体仿真内容编写单片机程序代码;

第五步:设置Keil开发环境下的项目文件的“Target”选项,选择“Debug”方式为“Proteus VSM Simulator”。

第六步:在Keil开发环境下编译项目文件,运行单片机程序。然后在Proteus环境中观测运行结果,若结果有误可返回Keil环境中修改单片机程序,直至运行结果正确为止。

在软件调试过程中,也可以在Keil环境中设置断点、程序运行到指定程序段等方式来查看系统部分运行结果或中间结果,如单片机内部寄存器、内存单元等其中的内容。

3.应用实例

下面以单片机AT89C51控制4位7段数码管的动态扫描显示为例,介绍Proteus与Keil在单片机实验教学中的应用。

(1)Proteus环境下的硬件电路设计。应用实例硬件电路在Proteus软件环境下进行设计,根据数码管动态扫描显示的原理与要求,4位7段数码管(共阳极)的段选信号由单片机的P3控制,位选信号由单片机的P1.4~P1.7来控制,位选信号控制PNP型三极管的导通与截止,从而提供或停止提供灌电流,即选择数据码是否点亮。应用实例的具体硬件电路如图1所示。

(2)Keil环境下的软件编程与调试。软件编程实现4位数码管的动态扫描显示功能,在Keil项目文件中可新建ASM文件或C文件,在文件中编写相应语言的程序代码。图2给出该实例的程序流程,显示内容为“25.78”。

软件编写完成后,按照之前的步骤,就可以进行整个系统的软硬件仿真,仿真运行结果见图1中的数码管显示。在程序调试的过程中,逐步增加延时程序的延时时间,可以了解到数码动态扫描显示的全过程。随着延时时间的增加,数码管从闪烁显示到按位轮流显示,这样可以帮助学生感性地来认识动態扫描显示的原理与过程,从而使学生牢牢地掌握这一知识点。

三、结束语

Proteus和Keil软件相结合的虚拟仿真技术既节省了实验教学硬件成本,又缩短了学生学习和开发单片机系统的周期,仿真平台的直观运行效果可以使学生更好地理解和掌握单片机课程内容及相关理论知识,该技术在单片机课程实验教学中的应用有利于培养学生的实践动手能力、创新能力和综合运用知识的能力,有助于电子信息类专业人才的培养。

参考文献:

[1]魏力.PROTEUS仿真技术应用浅析[J].天津职业院校联合学报,2013,(8):94-96.

[2]孟建,刘瑞祥,刘永启.“单片机原理及应用”课程改革实践和探索[J].中国电力教育,2013,(35):74-76.

[3]金红,蒋存波.单片机课程教学的探索与实践[J].电气电子教学学报,2013,(2):44-46.

[4]丁保华,张有忠,陈军,等.单片机原理与接口技术实验教学改革与实践[J].实验技术与管理,2010,(1):117-119.

(责任编辑:刘翠枝)

猜你喜欢
虚拟仿真实验教学
LabVIEW下的模拟电路实验教学创新对策
基于科学探究的高中生物实验教学探索
网络与云技术在实验教学中的应用
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学
初中化学实验教学中“微课”教学模式的探讨
谈初中化学实验教学的初探
中职畜禽解剖课程虚拟仿真实训教学资源的建设与应用
浅析虚拟仿真技术在海军院校教学中的应用
虚实结合和科教融合的计算机实验教学体系