刘昌盛,李光明,李 群,魏 忠
(湖北工业大学工程技术学院,武汉 430068)
按照人才培养的需要,学生要学有所用,既能系统的掌握单片机课程相关的理论知识,又具备扎实的实践技能,能够运用所学知识进行简单的产品开发,为毕业后从事相关工作奠定基础。本课程的教学团队以项目导向式教学法为切入点,以项目带动课程知识点的学习,将项目分解为多个相互关联的任务,学生在完成任务的过程中实现了对理论知识的实践应用,初步具备智能测量与控制领域的设计开发能力。
举例说明,要用51单片机做一个交通灯的项目,涉及到的知识点有CPU、单片机引脚分布、最小系统、存储器、IO 接口、定时器计数器、中断系统、C51程序开发等。我们就可以将这个交通灯项目分解为多个任务,每个任务关联一个或几个上述的知识点,学习完了理论部分内容后,完成对应任务的硬件开发或者C51程序的编写。比如:可以先学习CPU、引脚分布、最小系统、与USB 接口转换部分内容,然后让学生完成最小系统板制作的任务。相应电路的设计,元器件的焊接,都由他们独立完成。最后的验收要求是:单片机能正常工作,能够将教师提供的程序下载到芯片中。这样就将学习中看不见、摸不着的抽象理论知识具体化了,全都体现在了他们自己制作的作品里面。他们对知识点的掌握会更扎实,学习的积极性也会有很大的提高。下一个任务可以是LED 广告流水灯,下面将以此任务为例,展示如何将其具体的在课堂组织开展起来。
流水灯任务的前提是已经完成了最小系统板的任务,这时学生已经熟悉了单片机的基本结构、工作原理、引脚功能等,因此本任务为其后续的一次产品开发实操。任务要求学生能够设计并焊接好流水灯电路,将单片机最小系统与其通过杜邦线连接起来;编写好C51源程序,通过Keil 和ISP 下载工具处理,将流水灯运行起来,实现效果。那么,完成本任务需要学习的知识包括:IO接口与特殊功能寄存器的使用、C51编程语言、Keil 与ISP 下载工具的使用。
IO 接口与特殊功能寄存器的使用部分,可以先对课本上理论知识进行讲解,再分析一个简单的单灯亮灭程序,来让学生明白程序、特殊功能寄存器、硬件资源(如IO 接口)之间的关系。
C51编程语言是目前51单片机应用开发中普遍使用的程序设计语言,与标准C 语言之间有区别又有联系。学生已经在前面的课程中学习了标准C 语言,对其中的基本函数、语法、结构等有所掌握。因此,课堂中可以通过对比C51 与标准C 语言之间的异同,让学生了解C51语言的特点,讲解的重点在于学习他们的不同之处。
Keil 与ISP 下载工具都是51单片机的开发中使用较多的工具。学习时的难点在于操作步骤较多,学生很难一次学会,需要耐心的演示讲解。教学策略上可以先现场演示,再让学生操作,此时教师在教室里巡视,及时回答学生的问题,在旁边加以指导。要求学生能完成:自己在Keil 中用C51语言编写好单灯亮灭的源程序,通过编译生成HEX 文件,然后用ISP 下载工具下载到单片机中。
从单灯亮灭到流水灯的实现过程就并不复杂了,此时要引导学生去思考还存在哪些问题,又该如何去解决。比如,如何实现LED 灯的亮点流动,灯的亮灭时间控制如何完成,在前面学习了C51语言后,这里刚好可以作为一个编程练习了。
完成了这些知识的储备后,就给学生下达本次任务并作任务讲解,可以是要求实现一个亮点的往返流动,也可以是从两端亮到中间,鼓励学生自己作一些创新。任务完成的时间安排上,可以课堂上与课后相结合,课堂上利用教室里的器件完成硬件电路的制作,软件部分的工作在课后完成。最后由教师对任务的完成度进行验收,评定作品成绩,还要对本任务的硬件与程序部分进行提问,根据每个人的回答情况进行给分。
通过这种以项目为导向,知识点融于任务的教学方式,既激发了学生的学习兴趣,又锻炼了他们的应用开发能力,毕业后能更快速的完成从学校到企业要求的过渡。