单片机虚拟实验室的构建及其应用

2014-03-26 02:06孙万麟杨莲红宋莉莉
实验技术与管理 2014年7期
关键词:原理图单片机实验室

孙万麟,杨莲红,宋莉莉

(昌吉学院 物理系,新疆 昌吉 831100)

单片机课程是一门应用性和实践性都很强的课程,大多数大专、高职机电类院校开设的单片机课程都辅以实验教学,并且实验教学多使用实验箱。因实验箱硬件条件所限,单片机实验主要是一些验证性实验。实验箱限制了学生的实践空间,也抑制了一些学生积极创新和探索的热情。另外,现用单片机开发板若要进行单步调试程序,必须配置单片机硬件仿真器。鉴于这些问题,笔者利用多种软件联合仿真技术,构建了一个利用多媒体电子教室辅助的单片机虚拟实验平台,实现了与硬件几乎无差别的软件仿真实践教学。

1 Keil软件

Keil[1]是目前最流行、使用最广泛的开发MCS-51系列单片机的软件,它集程序编辑、编译、调试和仿真等功能于一体,具有操作简便的Windows工作界面,如今已经成为单片机非常重要的软件开发平台,受到越来越多软件开发工程师的青睐。

Keil最新版本是Keil C51 μVision4,它既能进行纯软件仿真,也能使用硬件仿真器搭接单片机硬件系统,当仿真器中载入项目程序后进行实时仿真。利用Keil C51 μVision4内嵌模块Keil Monitor-51,还能在没有额外硬件仿真器的条件下搭接单片机硬件系统,对载入项目程序进行实时仿真。可以说,在教学中使用Keil软件,就是站在单片机开发工具的最前沿。

2 Proteus

目前,单片机的软件仿真技术得到了飞速发展,其中英国LabCenter Electronics公司开发的Proteus[2-4]仿真软件是目前最好的单片机及外围器件的仿真工具。Proteus是一种电子设计自动化软件,具有Schematic Drawing、SPICE仿真与PCB设计功能,能够仿真51系列、AVR、PIC等常用的MCU。Proteus还提供了含有各种模拟、数字、交流、直流元器件的30多个元器件库,元器件多达计数千种。此外,对于元件库中没有的器件,使用者也可依照需要自己创建。在仪器仪表方面,Proteus除了提供常用的交、直流电压表、电流表、示波器外,还有逻辑分析仪、计数器、SPI调试器、IIC调试器、信号发生器、点阵图形发生器等特殊的仪器。这些虚拟仪器仪表都具有理想的参数指标,尽可能减少了仪器对测量结果的影响。

Proteus不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路及没有单片机参与的其他电路的工作情况,而且还具有图形动态显示功能,可以将线路上变化的信号以图形的方式实时地显示出来。

利用Proteus仿真软件,在没有硬件的情况下,不仅可以增强实验验证的随时性,而且可以将许多单片机实例仿真过程形象化,易于学生理解系统硬件的组成,能大大提高学生的学习兴趣,增强教学效果,是单片机实践教学的先进手段。

3 多媒体电子教室

目前,高校多媒体电子教室[5]主要有3种形式:纯软件多媒体电子教室、纯硬件多媒体电子教室及软硬件相结合多媒体电子教室。多媒体电子教室提供了“教师—教师机—多学生机—学生”的实时交互环境,集网络教室、多功能教室、语音教室等功能于一体,是一种全新的教学环境。在多媒体电子教室中,学生可以与计算机进行双向交流,充分利用多种教学媒体进行学习,并且能参与教学活动,自己控制学习进度。

随着电脑处理能力的增强,多媒体电子教室得到了更快的发展,可以通过纯软件方式实现屏幕广播、网络影院等多媒体功能,并且在延时处理、视音频同步的技术处理上都有了巨大的突破,多媒体电子教室的应用在学校得到普及。

4 单片机虚拟实验室

本文综合利用多媒体电子教室软件、电路设计仿真软件Proteus及单片机程序开发工具Keil,构建了一个完整的单片机虚拟实验室。

4.1 Proteus与Keil的设置及其仿真

(1) Proteus目录下的VDM51.dll是用以进行仿真通信的动态链接库文件,将其拷贝到Keil安装目录的C51/BIN文件夹中。

(2) 在Keil软件启动时,将从TOOLS.INI文件中读取配置信息,以更新开发环境中的一些选择项,而这里的联合仿真需要将TOOLS.INI文件进行修改,具体修改信息如下:

TDRV7=BINDAS2XC800.DLL(″Infineon DAS Client for XC8)

TDRV8=BINVDM51.DLL(″Proteus VSM Monitor-51 Driver″)

RTOSO=Dummy.DLL(″Dummy″)

(3) 将Keil的仿真模式改为联合仿真,并且对选择的“Proteus VSM Monitor-51 Diver”进行设置。若Proteus与Keil安装在同一台计算机上,则选“Host”且地址为“127.0.0.1”,即回环通信,也就是计算机自身和自身的通信;如不是同一台计算机,则填写另一台计算机的IP地址,实现远程联机仿真;“Port”一栏填写“8000”,一般保持其为默认值;

(4) 打开Proteus软件,单击主菜单里的DEBUG,选择“use remote debug monitor”。

4.2 Proteus与Keil离线联合仿真

(1) 采用Keil软件建立项目文件并进行相应的设置。

(2) 在项目文件下添加编译成功的源程序并生成单片机能够识别的HEX文件。

(3) 运行Proteus软件,搭建相应项目实现的硬件原理图。

(4) 快速右击、左击原理图中的MCU模块(如AT89C51),此时弹出一个对话框,选择用Keil软件生成的项目文件所对应的HEX文件,就实现了HEX文件与原理图的关联及绑定。

(5) 点击Proteus软件的运行按钮,单片机就会按照加载的HEX文件进行静态或动态仿真。

以液晶显示电路为例,运用Keil软件完成液晶显示源程序编译,采用Proteus软件搭建液晶显示硬件原理图,进行离线联合仿真,其运行结果如图1所示。

图1 液晶显示运行结果

由图1可知,Keil和Proteus联合仿真实验平台只需要配置一般的电脑、Keil和Proteus软件就可以实现,可以很好地解决传统单片机实验教学中存在的实验设备经费投入多、实验内容缺乏灵活性、实验仪器设备损耗大和维护工作量大等弊端[6-9]。与实验箱相比,仿真过程生动直观,操作灵活,容易调动学生的积极性,为单片机实践教学提供了一个良好的实验平台。

4.3 构建虚拟实验室

本文构建的单片机虚拟实验室[10-12]主要设备有:50台学生机(排为2列、采用PXE无盘技术组网、须安装Proteus与Keil软件)、1台服务器、1台教师机(须安装Proteus与Keil软件)、组网设备(主要包括交换机、网线以及ADLS modem等)、投影机、分屏器、音响系统(2台音箱呈对角线放置)以及大屏幕(前后各1个)等,其结构布局如图2所示。

图2 单片机虚拟实验室布局示意图

单片机虚拟实验室以与校园网互联的Proteus软件平台为基础,可以进行实验、实训项目,从原理图设计、单片机编程、系统仿真到PCB板设计,都能够实现教师和学生全方位互动教学,因而会大大提高实践教学效果。当然,初学者也可以通过大屏幕观看教师的每一步操作,然后在自己的电脑上一步步跟着教师完成实验。

要完成一个虚拟实验,首先要通过Proteus绘制单片机实验板电路图,这能帮助学生深刻理解单片机各引脚的功能、单片机内部硬件资源的分配以及单片机各引脚与外部硬件电路的连接。然后,需要使用Keil编写及调试控制程序代码,再对Keil 和Proteus进行联调。可以采用单步调试程序,这时可以实时观察到单片机程序运行的现象,实现与硬件几乎无差别的软件仿真,从而提高实践教学的效果。

由于是软件设计仿真实验,学生思维大可不被实验箱硬件电路所局限,不仅能开拓学生的视野和方便学生后期对其设计进行灵活调整,而且还能通过简便的操作实现设计电路模块的移植,而这会为C51或AVR单片机项目工程设计奠定一定的基础。除此之外,在教师的教学科研项目、学生的设计创新项目以及毕业设计中,先进行电路仿真、再制作电路板及焊接硬件电路,不仅能大大提高电路设计的成功率,而且也会减少电子元器件的浪费[13-14]。

5 结束语

在单片机虚拟实验室,学生可以使用Keil作为软件调试平台,以Proteus作为硬件仿真和调试平台,不需要任何硬件就可以进行仿真实验,就像使用硬件一样。单片机虚拟实验室不但缩减了理工科单片机实践教学中采购单片机实验箱和仿真器、更新实验电路板以及设备维护修理的费用;还实现了师生全方位互动实践教学,并有利于培养学生的创新思维和改善单片机实践教学的效果。

[1] 韩翠娥,徐亚卿,郭清晨.将Keil和Proteus软件引入单片机原理与应用课堂教学[J].中国现代教育装备,2012(1):93-95.

[2] 王娟.Proteus软件在单片机专题实训中的应用[J].实验室研究与探索,2012,31(8):73-74.

[3] 孙丽晶.基于ICC AVR和Proteus软件平台的AVR单片机设计与开发流程[J].吉林师范大学学报:自然科学版,2010(1):103-105.

[4] 朱清慧.Proteus教程[M].北京:清华大学出版社,2008.

[5] 余桂兰,左敬龙.创新模式下的高校单片机虚拟实验室[J].广东石油化工学院学报,2011,21(1):59-60.

[6] 许超,吴新杰,张丹.基于Proteus和Keil的单片机课程教学改革[J].辽宁大学学报:自然科学版,2011,38(1):27-29.

[7] 孙凌燕,黄允千.Proteus与Keil软件的整合在单片机实验开发中的应用[J].实验室研究与探索,2008,27(4):59-61.

[8] 王海燕,杨艳华.Proteus和Keil软件在单片机实验教学中的应用[J].实验室研究与探索,2012,31(5):88-91.

[9] 刘文光,张铭铭.Proteus仿真在单片机课程项目式教学中的应用[J].信息技术与信息化,2012(2):31-33.

[10] 傅爱玲.基于校园网的多媒体电子教室的开发与实现[D].天津:天津大学,2005.

[11] 魏娟丽.电子教室中广播教学功能的设计与实现[J].电子设计工程,2011,19(1):12-14.

[12] 张年英.网络多媒体电子教室中屏幕传输的设计与实现[J].武汉船舶职业技术学院学报,2012(6):47-49.

[13] 邓柏城.浅谈多媒体电子教室在教学中的应用[J].科教纵横,2012(8):286.

[14] 董增文,徐健宁,刘国平.面向研究性学习的单片机虚拟实验室研究与开发[J].实验技术与管理,2013,30(3):86-88.

猜你喜欢
原理图单片机实验室
浅谈STM32核心板原理图设计
基于单片机的SPWM控制逆变器的设计与实现
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
电竞实验室
电竞实验室
电竞实验室
电竞实验室