Proteus在单片机课程教学中的应用
2015-11-26侯甲童李全利王玉龙孙克伟
侯甲童 李全利 王玉龙 孙克伟
哈尔滨理工大学荣成学院 山东荣成 264300
Proteus在单片机课程教学中的应用
侯甲童 李全利 王玉龙 孙克伟
哈尔滨理工大学荣成学院 山东荣成 264300
在目前的单片机原理及应用课程教学中,理论课多采用板书结合多媒体教学,实验环节的设备多采用实验箱或实验台,并且在期末考核中采用笔试的方式且卷面成绩比重较大。这对于培养学生的综合能力不利,针对此问题,文中提出了将仿真软件Proteus引入理论课教学和实验教学,并提出了相应的课程考核方式。根据课程教学反馈,改善了教学效果。
单片机;课程教学;实验教学;仿真
单片机原理及应用课程是高校电类专业的必修课,介绍了需要讲述单片机的内部资源,硬件结构,指令系统,软件编程,以及扩展等理论知识[1-2];但同时注重实用性,需要学生在理解原理的基础上,完成相应的系统设计。其前导课程有电路、模拟电子技术、数字电子技术、PROTEL等,后续课程为计算机控制技术、DSP应用技术等,起着关键的衔接作用。目前,多数高校在本课程内讲授都以MCS-51单片机为主。
1 单片机教学中的一些问题
本门课程理论性和实践性要求均很高,在现有的教学中,讲授理论较为容易,而举例与实验环节显得薄弱。
课堂教学中,往往先讲解内部结构,然后再讲解如何应用,然后讲解一些实例。在讲解实例时,通常的做法是,明确系统要求,给出电路,讲解程序,然后总结。这样的做法,从授课教师自身来说,接受起来没有问题。但对于学生,存在的问题就是,学生没有看到实例对应的现象。
实验教学中,采用实验箱或实验台的学校比较多,当然很多学校也采用了自制或采购的实验开发板。[3]
无论采用何种实验设备,有一个问题是突出的,那就是学生们做实验时不明确系统设计包括硬件设计是什么。他们常常生搬硬套别人的程序,若硬件电路一致,现象正确,就认为完事大吉;若硬件电路不一致,现象不正确,则束手无策。
所以,针对以上问题,为了更好地培养学生,提高学生应用单片机开发系统的能力,提出在课堂教学和实验教学中引入Proteus,可以较好地解决课堂教学中实例演示,以及实验教学中电路设计的问题。
2 引入Proteus的意义与优势
2.1 Proteus介绍
英国Labcenter公司推出的Proteus采用虚拟软技术,可以在没有单片机实际硬件的条件下,利用PC实现单片机软件与硬件的同步仿真,仿真结果可直接应用于实际系统设计。它是第一款可以实现嵌入式控制系统仿真以及PCB绘制的软件,并且至今仍处于领先地位。经过近25年的发展,目前的最新版本是Proteus8.2。Proteus软件提供了30多个元件库,涉及各种嵌入式处理器芯片、数字和模拟、交流和直流等上万种元器件,并提供了丰富的虚拟测试仪器、仪表资源,为单片机应用系统的虚拟仿真提供了各种方便的硬件电路和软件的调试手段。[4-6]
目前,它支持的控制芯片很多,如主流控制器芯片厂家Microchip,Atmel,NXP,ARM,Freescale,TI等厂家的芯片均支持。[7]
2.2 Proteus使用简介
Proteus提供了界面友好的人机交互式集成环境ISIS,进行电路仿真。ISIS在Windows环境下运行,界面大致如图1所示。
图1 ISIS环境界面
Proteus使用较为简便,原理图的绘制与PROTEL相仿,而PROTEL作为前导课,故在此不赘述绘制原理图过程。图1给出了流水灯电路的原理图。
2.2.1 Proteus自身编译模式设置
Proteus将汇编语言源代码的编辑与汇编整合在统一设计环境中,故用户可以在设计中直接编辑汇编语句和生成仿真代码,并查看源程序修改之后对仿真结果的影响。具体设置如图2所示。
首先,选中“Source”菜单中的“Define Code Generation Tool”,弹出图2所示的定义代码生成工具窗口。在该窗口选中图2示的选项,点击“OK”退出即可。
图2 定义代码生成工具窗口
然后添加源程序文件,选中“Source”菜单中的“Add/Remove Source File”选项,弹出图3添加/删除源程序文件窗口,在“Code Generation Tool”中如图设置,再单击“New”按钮,弹出源程序查找窗口。若查找已经建立的源文件,选中打开即可;若源文件不存在,会弹出如图4所示的创建源程序对话框,选择“是”则创建新文件。
图3 添加/删除源程序文件窗口
图4 创建源程序对话框
文件创建后,选中“Source”菜单可以看见源文件已经在其中,选中即可打开编辑,如图5所示编辑源文件。
图5 源程序编辑窗口
若源文件编辑完毕,选中“Source”菜单的“Build All”可以进行汇编连接生成十六进制文件(.Hex)等文件。之后点击“play”按钮即可进行仿真,如图6所示。
由此可见,Proteus可以方便地将实例进行演示,让学生们看到现象,并且明确电路设计和软件设计的概念。
图6 流水灯实验现象图
2.2.2 Proteus与Keil联合调试设置
此外,Proteus还可以和Keil进行联合调试,通过Keil将汇编语句或C语句编译后,在Proteus中仿真运行。在分别安装完两个软件后,若要在一台计算机上设置联合仿真,需要进行以下步骤。
首先,下载并安装VDM51.DLL文件,将其放入Proteus和Keil的BIN文件夹下。
然后,将Keil的TOOLS.INI文件使用记事本打开,添加入图7所示的语句即可,注意,TDRV后的数字与文件中原有的不要重复。
图7 TOOLS.INI文件
最后,设置Proteus和Keil。在Proteus打开工程后,选中“Debug”菜单的“Use Remote Debug Monitor”菜单项。对于Keil,选中菜单命令“Project”中“Option for Target ‘Target 1’”,弹出菜单项后,点中“Debug”属性页,在“Use”选项中选择“Proteus VSM Simulator”,与之前TOOLS.INI文件中添加的内容对应。
这样,就完成了联合仿真的设置。在以后的使用中,只需要在Keil中进行编辑和编译,然后进入调试,Proteus就会自动进入调试状态。
3 课堂教学和实验教学引入Proteus
3.1 课堂教学中Proteus的使用
在课堂上,若要演示实例,只需要在多媒体教室的电脑上安装相应软件即可,不需要带实验箱或其他的仪器设备。以下以4×4矩阵式键盘为例进行简单说明。
在人机接口部分,会讲述4×4矩阵式键盘。一般来讲,会介绍两种识别方法,逐行扫描和线反转法。原理说明起来较为容易,但学生看不到现象,就显得太抽象。使用Proteus进行仿真,可以较好地让学生明确整个电路系统的组成,并看到相应的现象。
首先,绘制电路原理图,如图8所示。然后编写相应程序,我们在Keil中进行C语言源文件的编辑与编译,如图9所示。
图8 矩阵式键盘电路原理图
图9 矩阵式键盘源程序编辑
电路绘制和源程序编辑完毕后,进行编译,并进入调试,按下按键“5”,数码管显示“5”,按其他按键,显示对应的字符(如图10所示)。
图10 矩阵式键盘仿真实验现象
结合这个实例,学生可以看到首先由电路原理图的绘制,明确系统设计离不开电路设计;再者,学生看到了程序的编写,明确了软件设计;最后,软件和电路的综合仿真,使学生看到了现象,增强了学生对例子的理解和对学习的兴趣。
3.2 实验教学中Proteus的使用
实验室采取开放式的实验方式,使用实验箱和Proteus共同来完成实验。每一个实验需要使用Proteus绘制出原理图,使用Keil编写程序,并进行联合仿真与调试,最终在实验箱上实现。
在实验题目和内容上,首先包括存储器,IO,键盘,显示,中断,定时,AD,DA等必选题目。学生在完成固定的必做实验的基础上,可以在老师的指导下,进行温度测量,直流电机控制与调速,继电器与步进电机控制等选做实验题目,使学生能自主地完成发挥性实验任务。
4 教学效果分析
引入Proteus教学后,在这个教学过程中体现出了较好的效果。首先,在课堂教学采用Proteus,整个系统开发流程就已经吸引了学生的注意力。在绘制电路原理图,软件编程的过程中,进一步给学生展示了单片机魅力,使学生产生极大的学习兴趣。仿真调试使,动态地显示效果让学生有了学习动力。
在实验教学上,学生们要首先使用Proteus完成所设计系统的电路原理图,然后通过软件编程仿真实现。在这个过程中,学生们对于系统的理解就强化了。软件仿真通过之后,使用实验板最终实现。这样还有另外一个好处,就是极大节省硬件电路设计的时间与成本。
5 结束语
本文在分析本课程教学现状的基础上,针对一些问题提出了改进措施,在整个教学中引入Proteus,使授课内容更丰富,教学过程更吸引学生。经过作者所在课题组2012~2014年四个学期的教学改革实践,通过学生的反馈意见表明,采用以上教学上的改进措施,课堂反应热烈,实验环节学生收获大,学生尝试使用单片机来开发各种装置的情况较以往明显增多。综合来看,经过教学上的这一改进,很好地达到了教学目标。
[1] 李全利.单片机原理及应用(C51编程)[M].北京:高等教育出版社,2012.
[2] 李全利.单片机原理及应用[M].第2版.北京:清华大学出版社,2014.
[3] 徐敏,卢周平.单片机原理及应用课程教学改革与实践[J].实验室研究与探索,2006,25(1):82-84.
[4] 徐磊,申红军,蔡亚永.单片机开发Keil C51 与Proteus 仿真联合应用研究[J].电子设计工程,2013,17(21):178-181.
[5] 宋跃,余炽业,张志坚.单片机精品课程的实践教学改革[J].实验室研究与探索,2009,28(03):83-86.
[6] 吴政南,程远胜.基于Proteus的单片机仿真实验系统设计与应用[J].计算机与数字工程,2011,39(11):175-177.
[7] 徐爱钧.单片机原理与应用-基于Proteus虚拟仿真技术[M].北京:机械工业出版社,2011.
The Application of Proteus in the Teaching of MCU
Hou Jiatong, Li Quanli, Wang Yulong, Sun Kewei
Harbin University of Science and Technology, Rong Cheng, 264300, China
The way of writing on the blackboard with multi-media are used in theory course of the teaching of fundamentals and application of MCU, the experimental box or experimental platform are often used in the experiment teaching, and the examination papers have a larger proportion in the evaluation. This curriculum teaching is not conducive to the students' ability of system design. In view of this problem,the simulation software Proteus is introduced in the theory of class teaching is put forward in this paper, then the corresponding course examination is put forward. The effect of the teaching is improved according to the feedback of teaching.
MCU; curriculum teaching; experiment teaching; simulation
2015-04-28
侯甲童,硕士,讲师。李全利,本科,教授。王玉龙,硕士,讲师。孙克伟,硕士,助教。
哈尔滨理工大学教育教学研究项目(编号:2014P108);哈尔滨理工大学教育教学研究项目(编号:320140021)