窦新宇,宋凤娟
(唐山学院 专科教育部,河北 唐山063000)
单片机是一门对实践环节要求很高而且与实际应用紧密的课程[1]。把课堂讲授环节与实践操作环节有机地结合起来,使学生具有较强的软硬件动手能力是课程教学的主要目的。但此课程的传统教学以理论讲授为主验证性实验为辅,这样的教学方法难以达到预期的教学效果,致使部分自动化专业的毕业生不能独立承担相关的系统应用和系统研发,甚至部分学生在学完后对单片机仍没有基本的认识和把握。笔者为了解决传统单片机教学中存在的问题,把Proteus软件应用于教学中,对教学实践进行了改进。
首先,教学内容的设计编排上相对落后,即主要介绍的是单片机的片硬件组成、汇编语言程序设计和相关接口电路。学生开始接触相关内容的时候通常没有感性认识,对片内资源的应用、程序的执行及接口电路只是孤立的记忆,缺乏宏观系统的认识,甚至有的学生到课程结束后,还不知道中断服务子程序是什么时候停止执行的。其次,教学手段上缺乏先进的多媒体演示。再次,学生学习成绩评价体系相对单一,现行评价中的学生综合成绩为期末考试成绩(折合70%)、平时成绩(折合30%)加权平均后的成绩。
传统的实验和课程设计,一般采用单片机综合实验箱。实验箱的硬件电路都是模块化的,需要学生动手设计的内容很少,实验过程可以概括为:导线连接、程序编写、程序下载、程序执行、验证结果。学生做完实验后,对硬件电路和程序编写缺乏系统化概念。与此同时,在实验箱的使用过程中存在硬件线路鼓掌、人机配比不符、实验设计受时间和空间制约等问题。因此,学生的实验操作效果会受到影响,同时也限制了学生创新思维的养成。毕业设计的设计成果应是建立在设计原理之上的产物,此时原理图的设计就成为一个核心因素,如果原理图的设计失误就会影响后续PCB的制作效果。如果学生缺乏实践经验,容易造成仪器、仪表及元器件的损失浪费。
可采用虚拟实验室与实物演示相融合的教学方法。虚拟实验室是指利用单片机仿真软件与多媒体技术,让学生生动形象地理解单片机的程序执行过程,用Proteus软件进行硬件仿真、伟福软件调试程序的一种试验方法。教师在课堂的组织方面,首先通过实物演示激发学生的学习兴趣;其次利用Proteus建立的虚拟实验室演示硬件电路的设计、程序的编写调试以及软硬件系统相结合的运行过程。学生在知识接受的过程中,通过虚拟实验室不仅能够更加直观地掌握单片机内部工作原理,而且能够从工程实践的角度学习硬件电路设计和软件系统调试,同时还能够激发学生的学习兴趣,学生利用课余时间还可以把老师讲解的案例进行扩展。例如,在讲完“动态数码管显示方式”后,学生可以结合独立键盘操作功能,在原有电路图上进行二次开发,实现多位计数器功能。通过这样的教学过程,最终实现增强学生技能的目标。
针对虚拟实验室建立的问题,Proteus软件为单片机教学实践提供了一种解决手段,借助该软件对CPU和外围电路的仿真能力和资源库,可以代替硬件仿真器进行前期的软硬件调试[2]。当用户在自己的计算机里面装上了Proteus软件,就如同建立了一个大型的单片机实验室,其中有各种当今流行的单片机芯片,几万种电子元器件和各种测试仪表,这些资源在实验室中也很难得到。通过Proteus软件建立的虚拟实验室使单片机的开发过程相对高效,可以节约资源,学生只需一台装有Proteus软件的计算机就能不受时空限制地进行单片机学习与研究,这也解决了实验室资源紧张的问题。
在学生初步掌握汇编语言后,采用“项目教学法”增强学生对知识的应用和理解。第一,Proteus软件主要用于“项目教学法”实例的演示,以达到增强直观性的目的。在教学过程中引入流水灯、交通灯、电子时钟等实例,不仅可以让学生对单片机应用系统有一个直观立体的认识,而且还有助于学生进一步消化吸收课堂上教师讲授的理论内容。第二,Proteus软件有助于直观理解指令的含义。通过改变仿真模型的程序,观察运行结果,从而理解编程语句的含义。第三,Proteus软件有助于理解概念,消化难点。在教学中,P0-P3口的概念以及应用、中断如何产生等都是较难理解的知识点,但利用Proteus软件的实例教学都能得到较好的解决。教师可以利用Proteus软件特有的色点显示芯片管脚状态的功能,通过单步执行程序的方法让学生观察引脚高低电平的变化,能够较好地解决单片机时序控制的难题。
单片机的实践性对实验环节提出了很高的要求,而课内实验学时有限,使用实验箱又受硬件设备数量、质量的制约,同时实验箱仅停留在演示性及验证性的实验层次。为了解决这个问题,可以利用Proteus软件建立虚拟实验室[3-4]。我们将实验分为三个层次:基础验证实验、综合开发实验、实际创新实验。学生可根据自身能力进行实验模型的建立及调试,再利用课内实验通过实验箱对实验结果进行验证,找出理论仿真实验跟实际硬件实验的差别,这样学生不仅可以了解单片机的硬件结构,而且编程水平也得到了进一步提高,同时锻炼了设计创新能力。教师可以腾出时间在实验课上有针对性的解决学生们提出的问题,提高实验的成功率;还可以根据不同学生的特点,设计开发出综合创新性实验,让不同层次的学生都能受益。
在课程设计过程中,教师要充分考虑课题的实际应用性及可扩展性。学生根据课程设计内容和要求利用Proteus软件进行软件仿真,而硬件设计要充分考虑现有实验箱资源状况,以使仿真结果能在实验箱上实现。在毕业设计的过程中,教师与学生共同探讨方案的可行性,由学生独立在Proteus软件环境中设计硬件电路、编写程序并进行在线调试。软件仿真成功后,再进行元器件的焊接操作、系统调试和程序固化、系统综合调试。软件仿真不受时间、空间的限制,有效地避免因设计方案失误造成的资源浪费,缩短了产品制作开发周期,并能够逐步提高学生的实验创新能力和硬件开发水平。根据使用Proteus软件前后实验室统计数据显示,之前使用实验板的一次成功率为11.5%,使用Proteus后的一次成功率为81.3%。Proteus软件还可以应用到大学生电子设计竞赛训练平台的建立,通过大学生电子竞赛不仅能提高学生的实际动手能力,而且还能快速提高青年教师的教学水平。
综上分析,Proteus软件有利于促进教学实践,具有硬件投入少,功能强大,不受实验室场地限制的优势,在教育经费有限的情况下,可以弥补传统教学方法存在的不足。Proteus软件提供的虚拟仪表不但具有明显的经济优势,而且提高了课堂教学效果,对学生创新能力的培养具有现实意义。但由于软件仿真是在理想条件下进行的,还不能替代实际硬件电路,在实际应用中还会遇到一些问题,因此不能抛弃已有的教学模式和实验手段而仅仅依靠虚拟的实验环境。
[1]胡汉才.单片机原理及其接口技术[M].3版.北京:清华大学出版社,2010:16-18.
[2]曾成.基于虚拟硬件环境的单片机原理与应用实验开发[J].实验技术与管理,2011(2):91 -93.
[3]胡瑞强,张毅刚.单片机课程设计教学改革探讨[J].实验技术与管理,2010(3):46 -48.
[4]鹿玉红,李好.Proteus和keil在单片机教学中的应用[J].唐山学院学报,2010,23(3):79-81.