施 众
Protues在单片机学习领域教学中的应用
施 众
(漳州职业技术学院 电子工程系,福建 漳州 363000)
介绍了单片机仿真软件Protues与编译软件keil的联调方法。在教学中采用仿真软件,能在课堂上模拟实际电路的搭建,在虚拟电路中调试程序,让学生更易于接受相关的知识;同时在学生分组设计中,起到很好的辅助作用,解决了元件短缺的问题。
单片机;学习领域;Protues;keil
《单片机技术及应用》课程是一门面向应用、具有很强的实践性与综合性的课程。在专业课程体系中占有重要地位,对学生小型电路硬件设计和程序编写能力、创新能力和团队合作意识培养具有至关重要的作用。传统教学模式中,受到各种条件限制,如何将单片机的理论教学与实践教学紧密结合起来,一直是个难题。近年来,笔者在工作中逐渐接触到学习领域的教学模式,并结合学校的教学条件进行学习和尝试,摸索了EDA软件在新时期单片机教学中的应用。通过软件的帮助,让理论教学与实践教学找到新的结合点,得到了不错的效果。
在当前的单片机开发行业中,仿真软件Protues和编程软件Keil受到广大行业人员的青睐。这是因为“单片机产品的开发要经过软件编写、硬件调试和系统联调三个环节,后两个环节必须在整个硬件电路制作完毕后才能进行,而硬件电路的制作费时费力,元器件的采购、安装和测试都很容易出问题,这就导致了开发周期的延长等一系列问题。在上述两个软件的帮助下,开发人员可以将所有环节在电脑上模拟完成,等到系统虚拟完毕后再开始硬件制作,无疑可以大大的提高效率,缩短开发成本和开发周期。”[1]
Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具。Protues内部提供了丰富的仿真资源,主要有:
(1)仿真元器件资源;
(2)仿真仪表资源;
(3)虚拟仪器仪表;
(4)比较丰富的测试信号。
Protues不但完全支持MCS-51及其派生系列单片机的设计系统,也能仿真基于AVR系列的单片机系统,此外PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等单片机均可以实现仿真。
同时如果用户所需的元器件在库中不存在,软件提供了工具,让用户自行创建元器件进行仿真。
Keil软件是美国Keil Software公司出品的单片机汇编/C语言软件开发系统。Keil软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。可以完成编辑、编译、连接、调试、仿真等整个开发流程。
通过正确的设置,Keil软件与Protues软件可以实现联调,前者进行程序的编译与调试,后者进行虚拟硬件系统工作,完成软、硬件结合的系统仿真。
传统的单片机教学中,理论课采用板书教学,实践一般就是在实验室中对实验箱进行操作练习,理论和实践之间的联系比较松散,学生在课堂所学的理论知识不能立刻转换成实际的操作能力。在理论课上,学生首先要接触编程指令,完成指令的学习以后开始学习单片机的内部硬件,之后是学习扩展外部硬件,在临近期末才开始学习单片机系统的设计。与之对应,实验课也只能先安排学生编写程序,学期过半以后,才能安排对内部硬件的控制实验和连接外部硬件实验,等到学生开始接触完整的单片机系统的设计,实验课的次数也所剩无几。
如此,学生不得不在本门课程的大部分时间内,面对相对枯燥的基础练习,而企业真正需要的开发能力,创新能力的训练少之又少,这一方面大大降低了学生对单片机设计的兴趣,同时学生获得的岗位能力也远远达不到要求。这说明,传统的单片机教学模式并不符合高职教育以岗位能力培养为主线,基础能力够用为准的原则。
为了解决这个问题,可以用学习领域的教学模式逐步取代传统教学模式。学习领域的教学要求以学习情境模拟企业的现实生产流程,引导学生进行主动学习。
对于单片机来说,设计人员主要是根据产品工作需求,开发出基于单片机的应用系统板,按专业需求编写功能程序,完成客户任务。针对不同工程具体而言,单片机系统的设计方法、设计步骤和开发过程不完全相同,但总体而言,其一般过程是类似的。学习领域教学正是把这些共性映射到了课堂上,不同的学习情境,模拟了学生在工作中可能遇到的工作任务。学生以小组合作的形式,在教师的指导下查询相关资料,完成硬件设计和软件设计,最终调试出符合任务要求的产品。在这过程中,学生实际体验了职场的紧迫感,通过完成任务,不但学习了单片机知识,也锻炼了团队能力,掌握了一些必须的行业规范。
在教学过程中,笔者发现,学生对实践环节的兴趣提高了,希望把自己的设计实现出来,但是受到硬件条件的限制,比如有些元件价格昂贵,有些元件很难买到,很多设计思路还只能停留在理论上,而不能得到具体实现。
EDA软件的采用,让笔者在某种程度上找到了解决问题的途径:用电脑来模拟硬件。面对着形形色色的EDA软件,应该如何做出选择呢?假如存在这么一个软件,那么它应该具备如下功能:
(1)能够完成对硬件的电路的模拟,当虚拟系统中存在单片机芯片时,能够模拟单片机执行用户程序的完整过程;
(2)操作便利。如果软件操作难度较大,会导致学生把时间浪费在软件的学习中,这样得不偿失;
(3)虚拟资源丰富。正如前文所言,这是采用EDA软件最大的优势。软件必须能够提供多领域多种类的虚拟元器件,满足设计上的需要,如果库中缺乏某种虚拟元件时,应该能让设计人员(学生)自行定义;
(4)模拟结果易于观察。单片机系统的设计,往往需要使用示波器、万用表等设备观察运行结果。如果用EDA软件取代实际的硬件,原先的检测设备是无能为力的,这就需要软件提供对应的观察手段;
(5)与行业接轨。高职教育的目的在于培养学生的职业能力,让学生完成学业后具备更强的竞争力。因此,教学过程中采用的软件不应当是过时的、落后的,必须与时俱进,最好是当前行业中正在使用的软件。
综合以上几点,笔者选择了keil和Protues联调的形式进行学习情境中的硬件仿真,从本文开头的描述中可以看出,这两个软件的联调工作方式和需求基本一致。
首先要下载安装这两个软件的最新版本,安装完毕后,按照以下步骤进行联调的设置。
(1)将Protues安装路径下MODELS目录中的 VDM51.dll文件复制到Keil的BIN文件夹中
(2)打开Keil 根目录下的TOOLS.INI文件,在[C51]栏目下加入“TDRVn=BINVDM51.DLL ("Proteus VSM Monitor-51 Driver" )”,其中“TDRVn”中的“n”要根据实际情况写,不可和原有的重复。
(3)运行Keil,在项目设置中选择DEBUG标签,选择Protues仿真,如图1所示。
图1 Keil联调设置
然后再点击"Setting"设置通信接口,在Host后面添上"127.0.0.1",在Port后面添上"8000",完成设置。如果采用双机通讯的方式进行联调,则HOST处需要填写另一台主机在局域网中的IP地址。
(4)运行Proteus的ISIS,鼠标左键点击菜单"DEBUG",选中"use romote debuger monitor",效果如图2所示。
图2 Protues联调设置
至此,Protues与Keil的联调设置完毕。
以电子琴系统的开发为例子。教师首先布置本情境的设计任务,并演示如何在protues中搭建出基本的硬件电路,如图3所示[2][3]。
图3 电子琴仿真电路
在绘图过程中,教师加以适当讲解,可以让学生更直观地理解电子琴每一部分的工作原理。
完成硬件电路后,教师介绍软件流程,传授单片机相关内部硬件的知识,引导学生思考如何编写程序。讲解完成后,在keil软件中打开预先编写好的程序文件,并按下“调试”按钮,连接Keil软件与Protues软件,此时可以看到屏幕中出现了“运行”按钮。
图4 虚拟示波器(局部)
按下运行按钮之后,在Protues软件中,界面中出现虚拟示波器窗口(如图4),通过这个窗口,学生可以直观的看到引脚上电平的变化,以及不同操作对波形的影响,这在以往的理论教学中是很难做到的。
在图4中可以看到,此时示波器上没有接收到任何信号,同时,扬声器也没有发出声音。接下来教师用鼠标点击窗口中虚拟的触点开关,如图5的上图和下图所示,按下不同开关时,示波器窗口上出现了很明显的不同频率的方波,同时虚拟扬声器也借助电脑音箱发出不同的声音,这表明已经实现了电子琴的基本功能。
图5 不同开关的输出波形
在实践环节中,学生分组完成工作任务。在这一阶段,要求学生查询资料,根据任务中的具体要求对硬件电路进行修改或扩展,并编写出对应的程序,实现完整的电子琴功能。学生完成硬件与软件设计后,必须进行调试,确保系统能够准确无误地运行。
调试工作完全可以在电脑上仿真完成,学生将电路在protues中搭建完毕,并在keil中运行编写的程序,便可实时看到程序运行的结果,并根据运行情况调整代码,再次调试。直到仿真通过后,便可以制作电路板,完成整个情境的设计。
Protues中的虚拟设备并不能完全取代实际的硬件,比如在高频信号的处理上,软件模拟的结果与实际电路的结果存在较大误差,但是在单片机教学中,软件仿真的利还是远远大于弊的。
通过这种教学方法,在学习领域的教学中,让学生既能得到理论学习,又能进行实践锻炼;既节约了实验仪器费用,又能调动学生的积极性和主动性,培养了学生判断、分析和解决问题的能力。对学习领域模式下的单片机教学,有很好的辅助作用。
[1]董普松.Protues在单片机系统设计中的应用[J].现代电子技术,2008(14):2.
[2]孙育才.MCS-51系列单片微型计算机及其应用[M]. 南京:东南大学出版社,2003:98-109.
[3]倪志莲.单片机应用技术[M].北京:北京理工大学出版社,2008:119-145.
The protues in the teaching of MCU teaching fields
SHI Zong
(Electronic engineering department,Zhangzhou Institute of Technology,Zhangzhou 363000,China)
This article describes the joint adjustment method about the MCU simulation software protues and Software keil complier. Take the simulation software on teaching can be simulate the actual circuit structures in the classroom, and debugger in the virtual circuit let students accept knowledge more easily. Except that, It also plays a good supporting role in designing of the student groups, and solve the problem about the component shortage.
MCU;teaching fields;Protues;keil
2009-11-12
施众(1982-),男,福建漳州人,助教,在读研究生。
TP 368.1
B
1673-1417(2010)01-0083-04
(责任编辑:季平)