《单片机原理及接口技术》的实验教学模式探讨
2018-05-30段广云
段广云
《单片机原理及接口技术》作为工科院校相关专业的重要专业必修课,也是一门实践性很强的课程。但是由于该课程理论知识较为抽象,实验教学与工程实际开发脱节,导致学生挂科率高居不下,学生的实际动手能力没有得到有效锻炼,面对工程实际开发项目时束手无策。笔者从事单片机教学多年,了解该课程的实验教学现状,本文旨在分析利用传统实验箱进行实验教学的不足之处,并提出了将单片机开发板和仿真软件相结合的实验教学模式。
传统实验箱教学模式的弊端
实验箱设计过于死板
笔者所在高校对于单片机实验教学采用的还是传统的实验箱模式,这种实验箱的硬件电路和各项参数在出厂时均已设置好,而电路的连线方式往往与实际电路的连接方式不同,学生进行实验时只需连接几根线即可,每一个实验项目都已给出硬件的连接方式,甚至都已经明确哪个接口跟哪个接口连接,所以很容易完美呈现实验结果。实验时,学生通过PC机上的仿真软件把汇编程序输到PC机上(有时甚至无需输入,直接从PC机调用即可),然后在仿真软件上直接进行汇编和调试,再通过串口通信接口把由汇编语言的源程序编译好的机器码直接输入实验箱系统。由于实验箱配套的仿真软件具有专用性,调试程序时跟实际开发过程相距甚远,语法规则设计也较为死板,即使学生把实验内容吃透,在面对实际工程开发时依然没有经验。这种实验与实际的单片机开发在过程上存在很大的差异,学生基本没有了解硬件系统,更是没有了解软件的编程、汇编和写入单片机的整个过程。实验完成后,很多学生还是对实验内容知之甚少,只是浮于表面地观察实验现象。这样的实验很难引起学生的兴趣,更无法对单片机课程的学习起到较好的促进作用。
综合性实验无法开展
由于实验箱设置的死板和单一,这种利用实验箱的实验教学模式通常以验证性的实验为主,主要内容为汇编指令的使用及程序的简单编程,单片机外部扩展电路的知识涉及甚少,因此难以开展包含硬件开发及外围接口电路编程的综合设计实验,导致学生的实验知识综合能力较差,学生的自主设计和创造能力也普遍存在问题。而在单片机的应用过程中,硬件开发及针对外围接口电路的编程最为广泛。不积极开展综合性实验,既不利于发挥学生的学习主动性,也不利于培养学生的工程意识及解决实际问题的能力。
工程实践能力得不到锻炼
实验箱实验内容的单一以及与工程实际开发过程相距甚远,导致学生做实验时没有兴趣,实验结束后随便写个实验报告应付了事,而且实验箱性能稳定,实验过程很少出现差错,学生虽然可以很好地完成实验,但是面对实际工程项目中的问题时不知出错的原因,这样的实验教学模式不利于培养学生的实际动手能力,工程实践能力也得不到很好的锻炼,偏离了本科生的培养目标。
将单片机开发板与仿真软件相结合进行实验教学
单片机开发板
单片机开发板采用方便、易学的设计理念,以单片机为核心,辅以灵活的外围电路设计而成,具有灵活的USB调试模式,与实际的工程开发过程一致,再配套相应的实验模块,可以开展综合性实验,各功能模块相互独立,模块之间用排线快速连接。实验时,学生可利用开发板上的模块资源,根据自身需要构建一个单片机系统,使学生有自由发挥的空间,有助于学生利用自己的理论知识,并在实践中得到应用,体会到实践带来的乐趣,在引起学生兴趣的同时,还锻炼了学生的动手能力。
单片机开发板具有ISP可在线编程功能,无需编程器,可以通过软件从USB接口直接下载程序,完成对单片机程序的烧录,几秒钟即可完成,为实验教学中的调试提供了极大的方便。
另外,单片机开发板体积小,由USB供电,携带方便,在办公室及个人电脑上均可操作,不用再拘泥于实验室做实验。
Keil软件的使用
Keil 软件是美国Keil Software公司(ARM公司之一)出品的51系列兼容单片机软件开发系统,支持8051微控制器体系结构的Keil开发工具,适合每个阶段的开发人员,如专业的应用工程师、刚学习嵌入式软件开发的学生。同时,支持汇编语言和C语言的编程。汇编语言具有可读性强、执行速度快、工控领域应用广泛等诸多优点,所以如今各大高校依然将汇编语言作为本科生必须掌握的一门语言,单片机教学内容以汇编语言为主线进行设置,因此学生需要掌握汇编语言的编程技术;与汇编语言相比,C语言在功能、结构性、可读性、可维护性上有明显的优势,而且易学易用,两种语言都需要学生掌握。而Keil软件提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。利用单片机开发板进行实验教学时,配合Keil软件进行编程,可以同时体会汇编和C语言的调试过程,可使用户的目标板直接具有仿真功能,从而将单片机的易用性推向一个新的高度。
引导学生提升课外实践能力
课堂教学和实验教学对于学生的单片机学习来说还是有所欠缺,学生依然没有机会亲手制作一块单片机控制系统的电路板,而这对于提高学生的实践能力来说非常重要。在单片机课程的学习过程中,让学生体会一次单片机系统的设计、制作全过程,从自己设计硬件电路开始,自己编写控制程序,进行仿真验证,购买元器件,自己动手用电烙铁焊接电路板,进行软硬件的联合调试,最终做出一套符合设计要求的单片机系统,这对学生而言,将是学习过程中的莫大收获。
学习使用 Proteus仿真軟件
学生设计硬件电路时可以采用Proteus仿真软件,它是一款硬件电路设计的仿真软件,学生可以很方便地设计以单片机为核心的外围控制电路,且有多种型号的单片机可供选择,再结合集成开发软件Keil,能直接在单片机虚拟系统上对单片机进行编程,学生能够观察到虚拟硬件系统在软件中运行的全过程。Keil软件同时支持汇编语言和C语言的程序开发,学生设计控制程序时还可以用两种语言同时编程。使用时,把用Keil软件编写的程序生成Hex文件,并嵌入到Proteus仿真软件中,学生就可以在Proteus仿真软件中观察并验证仿真结果,实现了对学生同时进行汇编语言和C语言的双重训练,提高了学生的工程实践能力。
完成一项单片机实际系统的开发,锻炼工程实际开发能力
在开始单片机的课程学习时,教师应该引导学生学习仿真软件和编程软件。随着课程的进一步深入,教师可以向学生布置一个开发一套单片机控制系统的项目任务,项目大小不限,根据自身能力而定,教师可只提出一个设计的范围要求,鼓励学生大胆思考和创新,设计出新颖的作品。课程组事先准备好大量的单片机实际工程开发的相关芯片、焊接工具、面包板、导线、排阻以及调试仪器等耗材,支持学生进行单片机系统的实际开发。学生在课余进行实际系统开发时,教师可以随时指导,学期结束时,每位学生上交一件单片机控制系统的作品。
经历一学期的摸索,学生们参与热情高涨,不少学生都交出了以单片机为平台的高质量作品。实践证明,通过硬件设计,可以有效地激发学生学习单片机的积极性,锻炼学生的工程实际开发能力。
结语
实验教学是单片机课程的学习过程中重要的一环,通过以单片机开发板来代替传统实验箱教学,再辅以仿真软件的使用,能够让学生自己动手完成单片机系统的开发,充分调动了学生们学习单片机课程的积极性。实践证明,这种实验教学模式效果良好,学生的工程实际开发能力得到了进一步提升。
基金项目:青海大学本科专业核心课程建设项目“单片机原理及接口技术”(项目编号:ZY17012)