华玉明
(江苏省惠山职业教育中心校,江苏 无锡 214153)
在单片机教学中使用Proteus仿真软件实施项目式教学
华玉明
(江苏省惠山职业教育中心校,江苏 无锡 214153)
本文分析了传统的单片机教学中教学方法和教学手段存在的问题,提出了使用Proteus仿真软件实施项目式教学,培养学生自主学习、实践动手能力的观点,介绍总结了仿真教学中的优点、不足及改进措施。
Proteus软件;单片机教学;项目式教学;创新能力。
单片机原理与应用课程是计算机应用、机电、数控、自动化等专业的一门重要专业课。国内高等院校的单片机教学与研究已经有了近30年的历程,目前大部分院校开设的单片机课程是以MCS-51系列单片机作为教学内容,以汇编语言或C语言为编程设计语言,以并行扩展为核心讲述单片机的相关知识。随着微电子技术的迅猛发展,市场上出现了AVR、PIC、ARM等单片机。但是,教师在课堂教学过程中沿用传统的授课模式,往往存在许多问题。Proteus软件强势推出以后,改变了传统的教学方法,笔者在多年单片机教学实践的基础上,使用Proteus仿真软件实施项目式教学,为进行单片机课堂教学改革和学生的学习提供了很好的平台,提高了教学效率和质量。
传统的单片机教学,首先学习教材顺序安排的单片机相关基础知识,然后使用计算机在伟福或KEIL等编译软件上编写程序,通过调试分析寄存器、存储器单元、并行输出口的内容来检验程序设计是否符合要求,或者学生自己制作单片机硬件电路,将目标程序代码下载到单片机芯片中运行,观察外部设备的运行效果。这二种学习方法能收到一定的教学效果,但是,学生从单片机第一节课开始到第一次做单片机实验的时间拖得比较长,理论与实践的结合不紧密,如果所设计的系统比较复杂,则难以分析相关寄存器的内容变化,或者由于硬件成本过高,难以制作硬件电路,实验困难而被迫停止,使学生的学习深入和拓展受到限制。
项目式教学是“以培养关键能力为核心”,师生通过共同实施一个完整的项目而进行的教学活动。单片机项目式教学,就是将整门课程围绕项目展开,以项目的开发步骤作为讲课顺序,将单片机课程编排在各章节的知识点插入到开发项目的过程中,引导学生边干边学,在完成一个又一个项目的实践过程中学习。与传统的教学方法相比,单片机项目式教学有效地建立了课堂与生产实践之间的联系,能将教学课题的理论知识和实际技能结合起来,学生有独立制定计划并实施的机会,利于培养学生自主学习、实践动手能力和创新能力。生动有趣的课程,提高了学生的学习积极性和主动性,较好地解决了传统教学中存在的问题。
Proteus软件可以仿真51、AVR、PIC和ARM等系列的单片机,下面以“基于AT89C5l单片机的中断优先级电路实验”为例,介绍利用Proteus在单片机教学中进行项目式教学。
1、硬件电路设计
运行Proteus的ISIS程序后,进入该仿真软件主界面。从Proteus库中选取元器件:
⑴AT89C51:单片机;
⑵3WATT470R、MINRES10K、RESPACK-8:电阻、带公共端的排阻;
⑶7SEG-COM-AN-GRN:带公共端共阳七段绿色数码管;
⑷BUTTON:按钮;
⑸PHYC0402NPO22P、HITEMP10U50V:电容、电解电容;
⑹CRYSTAL:晶振。
中断优先级实验电路原理图如图所示,Proteus和Protel、Multisim等软件相似,绘制原理图都要先从软件包的器件库里取出元件符号并在绘图区布局好,同时编辑元器件属性设置、放置电源和地、接着进行连线、添加必要的网络标号、电气检测等等步骤,整个设计都在ISIS平台中完成。
2、源程序设计
通过菜单“Source-----Add/RemoveSourceFiles(s)…”,新建源程序文件“中断优先级.ASM”。通过菜单“Source-------中断优先级.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑如下源程序:
程序编辑好后,保存文件“中断优先级.ASM”。
3、生成目标代码文件
通过菜单“Source--------BuildAll”编译源程序,生成目标代码文件中断优先级.HEX。
4、加载目标代码文件
打开元器件单片机属性窗口,在“ProgramFile”栏中添加编译好的目标代码文件中断优先级.HEX,在“Clock Frequency”栏中输入晶振频率为:12MHZ。
5、仿真运行
启动仿真,就可以系统运行的结果了。单片机主程序控制P0口数码管循环显示0~8;外中断0(INT0)、外中断1(INT1)发生时分别在P2、P1口依次显示0~8;INT1为高优级中断,INT0为低优先级中断。本实验使用PROTEUS仿真功能形象直观地演示了AT89C51单片机高、低两级优先组级工作原理。高优先级可中断低优先级,但低优先级的中断请求不能中断高优先级,同一优先级不能相互中断。
如图所示:当前在主程序控制P0口显示“8”的时刻,单击“低优先级”按钮,触发INT0中断,INT0服务程序控制P2口依次显示1~8,在P2口显示“2”的这时刻,再单击“高优先级”按钮,触发高优先级INT1,INT1服务程序控制P1口依次显示1~8,运行片段如图所示,当前P1 口输出“3”。接下来,INT1 控制 P1 口输出 4、5、6、7、8,关闭显示,中断返回到INT0显示“2”的断点,接着P2口输出 3、4、5、6、7、8。中断返回到主程序断点显示“8”,接着主程序控制 P0 口输出循环显示 1、2、3、4、5、6、7、8。用Proteus的图形化仿真功能,很好地演示了中断优先级的原理。
与传统的教学模式相比,利用Proteus仿真软件实施单片机项目式教学具有许多优势:一是Proteus可以方便地与Keil软件结合实现联合调试,速度快,程序修改、编译后运行程序就马上可以看到效果,提高了课堂教学的效率;二是教师可以用多媒体教室上课,将仿真结果投影在大屏幕上,课堂教学效果非常好;三是部分学生已拥有笔记本电脑,安装了Proteus仿真软件后,实验操作可以在宿舍或家中完成,不受时间和空间的限制,降低了成本,可以扩展学生的思路和提高学生的学习兴趣。
虽然Proteus软件功能较强,在我们经费、仪器、设备很有限的情况下为单片机教学提供了新的方法,但缺点也是存在的,毕竟不能完全取代实际的单片机硬件设备的实验,为了使学生的学习不脱离实际,必须给学生提供硬件仿真和验证的机会。做法是,让学生将仿真软件里调试通过的程序编译好,并将目标程序下载到真正的硬件单片机芯片中,观察运行结果。
Proteus是多功能的EDA软件,真正实现了虚拟物理原型的功能。利用Proteus软件进行单片机项目式教学,改变了单片机的传统教学方法,对于单片机的教学或者系统的开发都能提供有力的帮助。在教学中,可以在没有硬件电路的情况下,做教材中全部的软件实验和大多数的硬件系统,进行相应的程序设计与调试,可以帮助学生更快、更好地掌握课堂讲述的内容,加深对概念、原理的理解,同时对培养学生自主学习能力、实践动手能力、综合分析能力和创新能力具有重要意义。
[1]张靖武,周灵彬.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出版社.
[2]陈忠平.基于Proteus的AVR单片机C语言程序设计与仿真[M].北京:电子工业出版社.
[3]许志刚.单片机技术与应用[M].北京:人民邮电出版社.
[4]高峰.单片微型计算机原理与接口技术(第二版)[M].北京:科学出版社.
[5]任哲,张永忠.嵌入式系统基础----ARM与RealViewMDK(KeilforARM)[M].北京:北京航空航天大学出版社.
G712
A
1008-7508(2012)08-0040-02
2012-06-15
华玉明(1958—),江苏省惠山中等专业学校督导,高级讲师。研究方向:单片机原理与应用课程教学研究;嵌入式系统。