中职学校单片机课程创新教学探索与应用
2013-04-29庄小东
庄小东
摘 要:单片机是职业学校电子电工专业的专业课程,具有较强的综合性、实践性特点。根据目前职业学校单片机课程教学现状,针对单片机教学和应用中存在的问题,本文提出了关于C语言、项目教学法和PROTUES仿真教学在单片机教学中应用的方法与途径。
关键词:中职学校 单片机课程 创新教学 探索与应用
在微型计算机的大家族中,单片微型计算机(单片机)非常引人注目,一块单片机就把一个计算机系统涵盖在一块大规模的集成电路芯片上,可谓是“麻雀虽小,五脏俱全”。在电子科技的发展中单片机扮演着非常重要的角色。培养单片机应用人才,特别是在工程技术人员中普及单片机知识有着重要的现实意义。
因此,教育部把单片机原理及应用作为中职学校电子技术应用及相关专业学生必学的一门专业技术核心课程,并从2009年起将“单片机产品组装及调试”作为全国技能大赛中职组的参赛项目之一。如何教会学生掌握单片机技术并将其应用到实际工作中,成为我们必须解决的难题。学校从2003年起开展单片机原理及应用教学,经过几年的教学实践和完善,采取了以下措施。
一、更新编程语言,采用C语言
1.编程语言与C语言对比
国家规划的《单片机原理与应用》教材使用汇编语言作为单片机首选的编程语言。汇编语言是一种用文字助记符来表示机器指令的符号语言。其优点是占用资源少、程序执行效率高。但不易移植,而且指令较多,且与硬件结合紧密,不易学,不易记。
C语言是一种结构化的通用性高级语言。它的优点是容易编程,更容易模块化编程;容易学习,而且应用较普遍;可读性好,移植容易。它的缺点是占用资源较多,执行效率没有汇编语言高。
虽然C语言的执行效率不如汇编语言,但是显而易见,作为一种结构化的程序设计语言,C语言可以尽量少的对硬件进行操作,具有很强的功能性、结构性和可移植性,它作为单片机系统的编程语言具有较大的优势。
2.教学实践和成绩验证了使用C语言的益处
传统的单片机课程最初也是按教材循序渐进的顺序,学习汇编语言进行编程,但是教学效果不理想,学生在学习中往往软、硬件脱节,对于稍微复杂一些的问题就无从入手。前两年,学校开始引入C语言教学,学生掌握起来相对较快,这样既不用太多考虑硬件,而且编写程序比较容易,再经过教师指导,学生就可以完成较难的程序设计。
不论是汇编语言还是C语言,对于职校学生而言,都是要从头开始。在教学实践中,学生使用汇编语言常常容易出错,老师阅读学生编写的程序,也需要大量时间,因此学生容易产生挫折感,影响学习兴趣。而学生使用C语言则上手容易、查错方便,学习过程常常伴随着成功的愉悦,学习积极性很高,学习兴趣浓厚。
2009年,学校组织学生参加了全省、全国职业技能大赛单片机控制装置安装与调试项目比赛,当时学生使用汇编语言比赛,在全省只获得了1个三等奖;而从2010年开始,学校在全省所有职校中率先使用C语言参赛,就接连取得了2010年、2011年该项目的第一名,并代表贵州省参加全国的比赛。由于学校使用C语言参赛取得了成功,引起全省职校竞相仿效,为贵州省中职教育引入C语言做出了贡献。
二、更新教学模式,引入项目教学法
1.传统教学模式的弊端
目前,传统的单片机教学是以单片机的知识结构为主线,按讲解单片机硬件结构、讲解指令、软件编程、单片机系统的扩展、各种外围器件的应用、实例分析的顺序进行教学,这种模式往往使学生在学完了空对空的硬件知识和抽象难懂的寻址方式后,在还未及理解时,又一头扎入111条指令的学习,等到此两部分内容学完,许多学生已经产生了畏难情绪。而软件编程又是以硬件和指令作为基础和支撑的,前面的知识一知半解,势必使编程的学习和掌握变得难上加难。可以试想,一个对计算机结构毫无认识的初中生,甚至连数字电路也是刚刚接触,要让他们学习如此复杂的单片机软、硬件知识,十分困难。那么我们怎样让文化基础薄弱的学生学习掌握单片机技术呢?传统的以教师讲授为主的教学模式已经不能适应学生学习的需要,所以必须转变教学模式。
基于以上情况,我们尝试采用以任务驱动模式为主的“项目教学法”。
2.教学实践
在教学中,我们首先分析本课程的知识目标和能力目标,将整个课程划分为若干个具有递进性和连贯性的“项目”。每个项目都是一个具体的产品开发,都含有一些编程和加工的新知识和新技能,教师以项目带动教学,由浅入深地把知识和技能渗透到项目的实施过程中,这样随着每个控制电路功能的实现,知识点的学习也在循序渐进中完成了。
以“P1口作为输出口应用”这一项目为例,该课题最终须通过用P1口完成控制8个发光二极管循环点亮,其教学目的是理解P1口作为输出口的基本工作原理和相关的应用知识。在实际教学中我们可以将整个教学内容分成四个子项目,20个知识点。
(1)子项目一:点亮1支发光二极管。
知识点:完成硬件电路的连接、学习装载头文件
(2)子项目二:点亮8支发光二极管中相隔的4支。
知识点:复习巩固子项目一中所学的指令、掌握C语言程序的基本结构、熟悉和掌握编程器和基本单片机的开发过程。
(3)子项目三:实现1支发光二极管的闪烁控制。
知识点:引入函数调用的概念及用法、握取反指令“delay、!”、重点理解和掌握延时函数的用法。
(4)子项目四:实现用P1口控制循环点亮8支发光二极管。
知识点:引入数据定义、掌握指令“for、while”、重点理解和掌握循环语句用法。
在4个子项目的教学实施过程中,学生的学习是循序渐进的,此时教师还可以通过增加控制功能,进一步拓宽学生的思维空间。通过上机调试运行、验证,将直观地观测结果和增加感性认识,帮助学生掌握知识。随着教学项目的逐个展开,学生所掌握的知识逐步增多,知识结构逐步完善,实践能力随之提高。由此,通过展开单片机程序设计,学生在单片机方面的实际应用能力将会得到质的提高。
三、引入PROTUES仿真教学,解决硬件难题
1.传统的单片机实验教学亟须改革
单片机是实践性非常强的课程,由于内容抽象且与实际应用联系非常紧密,在教学过程中如果采用传统的授课模式,学生往往难以理解。同时由于实验设备的局限,学生很难在实验室外进行实验操作,给学习单片机带来很大困难。传统的实验教学方式不利于培养学生的动手能力和综合运用知识的能力,严重束缚了学生的主观能动性和创造性,不仅没有实现实践教学的目的,久而久之还会使学生产生厌学情绪。因此为了提高实践教学效果,我们必须对现有教学模式做相应改进。
教师有必要探索新的教学方法,充分利用当今新的教学资源和教学手段,提高教学质量和效率。
2.PROTUES仿真工具软件的优点
PROTUES软件是英国Labcenter electronics公司出版的EDA工具软件。它是当前最好的仿真单片机及外围器件的工具。
我们在PROTUES中绘制好原理图后,调入在已编译好的目标代码文件:*.HEX,就可以在PROTUES的原理图中看到模拟的实物运行状态和过程。PROTUES不仅可将单片机实例功能形象化,也可将单片机实例运行过程形象化。它的元器件、连接线路和传统的单片机实验硬件一一对应。这在相当程度上替代了传统的单片机实验教学的功能。PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性,提供了实验室在数量、质量上难以相比的虚拟仪器、仪表平台。
3.PROTUES仿真软件给教学带来的改变
在单片机教学任务实施过程中,教师结合PROTUES仿真软件,便能在课堂中完成软件、硬件相结合的教学。利用仿真的形象、生动、实在等特性,提高教学效果。PROTUES结合KEIL uVision2软件的仿真,不仅能观察单片机的工作情况,也能仿真单片机外围接口电路的工作情况,因此在实际电路的仿真中,可以直接看出程序运行和电路工作的过程和结果,有效弥补了实验和课堂教学之间脱节的矛盾和现象。
PROTUES在单片机课程中的应用,在很大程度上解决了单片机课程教学枯燥无味的弊病,在提高学生学习积极性的基础上,锻炼了学生实践动手的能力,既降低了教学成本,又提高了教学效果,是今后中职学校单片机教学改革的一大方向。
经过一个学年的试验教学,学生普遍反映:通过PROTUES软件的仿真使整个单片机的教学实操更为直观、形象、易学。在单片机教学中,实施项目教学并结合PROTUES软件仿真的教学方法,能够大大提高单片机的教学效果。
总之,C语言易学好用,项目教学法教学目的明确,PROTUES仿真教学解决了硬件问题,充分调动了学生学习的兴趣,经过几年来在单片机原理及应用课程教学中的探讨与实践,此三者的结合已经取得了明显的效果。今后,在职业学校、职业教育的单片机技术教学中,我们还需要进一步总结提高,并大力试用推广。
参考文献:
[1]刘娟.单片机C语言与PROTUES仿真技能实训[M].北京:中国电力出版社,2010.
[2]郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009.
[3]赵亮,侯国锐.单片机C语言编程实例[M].北京:人民邮电出版社,2003.
[4]任亮,黄军霞.单片机教学项目化[J].学苑教育,2011(01).
[5]陈孔瑜.单片机实践教学与protues仿真[J].科技经济市场,2010(7).
(作者单位:贵州省遵义市职业技术学校)