林国伟
摘要:单片机原理是电子电气类专业的基础课程,其内容抽象、综合性强、实践性强,因此实验教学在该课程的学习中极为重要。该文中针对单片机实验教学的现状,对实验课程教学内容、教学方法和形式,以及考核方式进行了探讨,进而完善教学过程并提高教学效果。
关键词:单片机;实验教学;教学改革;层次化实验任务
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2017)14-0125-02
单片机自20世纪70年代诞生以来,在工业控制、仪器仪表和家用电器等领域得到了广泛的应用。单片机原理是本科院校电子电气类专业的重要基础课程之一,其内容抽象、综合性强、实践性强,实验教学在该课程的学习中极为重要。單片机实验课程的开设是为了巩固单片机原理理论知识,通过了解硬件接口和驱动关系,编写程序代码验证设计正确与否,注重软件和硬件的关联性,逐步提高学生工程实践能力。针对我院自身特点,探讨单片机实验教学改革。
1教学中存在的一些问题
1)学生基础薄弱
在单片实验课程的学习中需要模拟电路、数字电路、计算机基础、微机原理及C语言等课程的一些知识,尤其是C语言。目前单片机编程方面主要是用汇编语言和C语言,单片机原理书籍通常采用汇编语言讲解程序设计,但在现在单片机工业应用中c语言是主流,所以单片机实验基本是以C语言编程为主。c语言课程通常在大一下学期开设,一些学生刚接触这种逻辑性较强的课程,掌握的情况并不乐观,加上遗忘,大二上学期学习单片机实验时使用C语言编程,顿时让部分学生感觉失落,学习兴趣下降。
2)实验箱故障率高
多数学校在单片机教学中采用教师讲授实验原理,学生编写程序在实验箱上验证的形式进行。每届学生都在使用这些实验箱,因使用年限和使用次数增加导致实验箱故障率高,实验箱一般是在厂家定制的,维修成本比较高。厂家的产品也在升级换代,如果全部将旧实验箱换掉,经费不足,使得故障实验箱问题不能得到解决,影响实验教学效果。
3)考核方式过于简单
授课时每个教学班学生人数一般30-40人,教师不可能有充足的时间去详细检查每个学生完成情况。检查实验一般以运行的结果进行登记,由于实验硬件相同,一些学生钻空子直接拷贝别人做好的程序下载到实验箱上给老师检查,根本不关心实现原理。这导致实验考核即未达到督促学生学习的目的,也不能真实反映学生掌握的情况。
2教学改革思路探讨
1)C语言和汇编语言相结合
因单片机应用中越来越多的使用C语言编程,所以整个实验教学中编程以C语言为主,以汇编语言为辅。汇编语言能体现单片机内部工作过程和原理,掌握汇编语言可以更好的掌握单片机原理,为以后从事单片机开发工作打基础。在实验的第一堂课复习一下单片机常用的c语言知识,加深学生的印象。实验时,学生选用C语言编程或汇编语言编程都被认可,也可以使用C语言和汇编语言混搭进行编程。
2)提高学生人门兴趣
单片机实验基本是本科学生接触的第一门软硬件结合的实验,要给学生一个过渡期。为此将前两个实验程代码开源化,共享给学生,尽量让所有学生都可以实验成功,以提高学习兴趣。学生开始需要学习Keil软件和下载软件的使用,即要编写程序又要编译,还要将程序下载到硬件上进行验证,比较忙碌,所以开始尽量让学生少出错,顺利完成整个流程,让他们感受成功的喜悦,感觉课程简单易学。
3)层次化实验任务培养学生创造力
每个学生基础不同,领悟能力和动手能力都有差异,同一个实验任务,有的同学做的快,有的同学做的慢,还有的做不出来。给所有学生安排一样的实验任务,显然不太合理,速度快的完成任务后,没有事情干,浪费时间。为此对同一个实验安排不同的实验任务,分为基本任务和扩展任务,以提高部分同学的创新能力。完成基本任务的就通过实验检查;扩展任务也能完成的给予一定的成绩奖励,但要求讲述扩展任务实现原理。以数码管显示实验为例来说明基本任务和扩展任务的安排,图1为数码管显示电路原理图,共有八位数码管。实验内容很简单,主要是数码管段码原理、数码管静态显示与动态显示原理。在动态显示时,基本任务是要求学生显示自己学号的后八位,扩展任务是让学号后八位从右至左依次滚动到八位数码管中(像看到的广告牌一样)。对基本任务来说,只要理解了动态扫描原理,利用数码管余辉和人的视觉暂留作用,很快会完成基本任务。对于扩展任务来讲,利用的原理是一样的,只是物理状态增加了,在不提示的前提下,一般当堂课能完成扩展任务的只有几个。想要做成功扩展任务,首先要理解要求,其次是完成任务的状态过程,如何用程序实现,这样学生就会主动去想这些问题,激发大脑,产生自己的想法,并验证其正确与否。调试的过程中学生也会遇到很多问题,当堂课一般会给一定的提示,例如:“先不做八位,先做两位试一下”,“想想,为什么我们能看到基本任务中八位数码管一起显示,其实扩展任务就是基本任务状态的八次重复”等,通过提示又会有部分学生可以成功做出扩展任务。这样就有引导性的培养学生解决问题的能力,激发他们的创新能力。
4)考核方式改革
在实验考核中,同一个实验内容检查中可以适当要求学生做一点改动,能够修改成功再给登记。例如在数码静态显示时,实验指导书上一般都会给出十六进制0~F的段码,方便实验使用。在学生完0~F显示后,可以让学生显示P、L、H等没有给出段码,但用数码管可显示的字母,来检测学生对数码管段码原理掌握的情况。在课程的最后安排一次实验考核,分批进行,个人单独完成实验任务,教师进行监控完成过程并检查登记,了解学生对课程掌握情况,为学生总成绩的评定提供一定的参考。
5)建设单片机开发平台
结合现有单片机实验箱的特点,设计单片机开发平台。使新设计的单片机开发平台能和原实验箱兼容使用,硬件接口基本一致,采取逐步增加单片机开发平台的数量,将故障单片机实验箱替换下来。单片机开发平台硬件涵盖所有上课内容,并且设计一些扩展结构,方便做单片机方面项目的扩展。将单片机开发平台PCB数据和按模块化的器件列表提供给学生,有兴趣的学生可以选择自己感兴趣模块,自行购买器件焊接自己所需单片机开发板。这部分学生即可以在课上使用自己的单片机开发板进行程序调试,也可以在课下完成教学内容以及教学内容以外模块的学习和测试。除此之外,单片机开发板也可用于下个学期开设的工程系统课程使用。
61课堂中引入Proteus
将Proteus仿真电路设计引入实验教学,提高学生嵌入式系统设计能力。Proteus软件提供了多种模拟和数字器件模型,可以仿真51系列、ARM等MCU,在很多单片机实验教学被采用。使用Keil软件和Proteus软件基本可以完成所有课程任务的仿真,在硬件数量不足时,可以采用这种方法来弥补。但硬件仿真和软件仿真还是有一定的差异,有硬件最好使用硬件,实际有效。在适当讲一下Proteus的使用,在课堂上当遇到实验箱硬件故障时,可以使用Proteus做仿真完成实验任务。在课余时间学生可以按照实验指导书用Proteus绘制电路原理图,用Keil软件完成编程后,用Proteus软件进行验证。也可以在课下用Keil软件和Proteus软件进行单片机相关项目的设计,提高自身的设计能力。
3总结
文中对单片机实验教学中存在的问题进行了总结,针对教学中的问题,探讨了一些改进的措施。目前正在进行单片机开发平台的方案设计,将逐渐完成电路原理图设计、PCB设计和配套实验指导书的编写工作,为单片机实验教学服务。在今后的教学中也将不断改进,提高单片机实验课程的教学效果。