郭 玉,王陈宁,唐 飞,刘 娟,黄 忠
(安庆师范大学 电子工程与智能制造学院,安徽 安庆 246133)
单片机在工业自动化、智能仪器仪表、消费类电子产品、武器装备等领域有着广泛应用。单片机课程设计是一门综合性实践课,内容包括硬件电路和软件设计。鉴于单片机实践性及综合性强,课程设计实践至关重要。开设“单片机课程设计”一方面可以巩固和加深单片机及相关控制电路专业课程中所掌握的实验技能,另一方面有利于提高学生综合运用电子技术知识解决实际问题的能力,培养其创新精神。而本院教学所使用的硬件电路直接采用购买的开发板,学生只需要简单地连线便完成了硬件设计,这导致学生对单片机控制的设计过程认识不够深刻,严重影响学生创新能力的培养。按照培养计划,一般课程设计在每学期期末的1~2周进行,由于时间紧迫,所以答辩时间缩短、提问问题简单化,这样所有学生全部能通过,从而导致学生在制作过程中往往敷衍了事,其综合运用能力、独立解决问题能力及团队协作精神等得不到锻炼和培养。为解决以上问题,本文从单片机综合设计选题、具体实施及考核几个环节进行了改革。
课程设计的目的是培养学生查阅资料、独立分析问题、解决问题的能力及创新能力。单片机课程设计的综合性题目主要有“电子钟/秒表的设计、倒计时器设计、步进电机的控制、简易计数器的设计、音乐播放器的设计、无线遥控器的设计、频率计的设计、……”。选题的基本原则是题目内容应尽量体现出单片机在电子电路、自动化中的控制作用,针对不同专业,题目应有一定的区分度,且具有一定的实际价值。例如,可选择社会上急需的研发项目,进行简化后作为课题,或者学生感兴趣的科研课题。题目难易程度要适中。题目太难会使学生产生畏惧而失去信心,太简单则达不到设计目的。指导老师可以根据学生的实际情况布置不同难易程度的内容,经过参与及努力,使学生都能完成任务并有所收获,从而提高学生的兴趣和积极性。例如,设计一电子钟,可以先让学生完成基本功能,显示时时-分分-秒秒,之后再加时间调整、闹钟及整点报时等复杂功能,这样就可以依据内容差异来调节题目的难易程度。本课程培养目标是使学生能够综合运用所学的理论知识进行一些基本技能的训练,题目内容应当是所学单片机、电子技术等知识的综合,如果涉及未学的知识,则需要老师进行补充讲解。例如,电子钟硬件电路内容所涉及的1S定时、数码管显示、计数、单片机控制等部分,同学们已完成相应内容的学习,对硬件电路的实现不会畏惧,会自觉进行设计,从而提高了同学们学习和参与的主动性。
教学方法的好坏直接影响学生学习的积极性和主动性。在整个设计过程中,要最大限度地调动和发挥学生的主观能动性,提高动手能力。以电子钟为例,在单片机课程教学中,应科学设计教学环节。
(1)科学布置实验任务。指导老师根据各组同学的能力水平下达不同的任务书。例如,电子钟的任务书除了要写明基本功能为显示格式时时-分分-秒秒,还要有时间调整功能,要具有整点报时、闹钟等附加功能。显示可以采用数码管,也可以为LCD1602。除了写明要求之外,老师还要完成以下工作:(i)详细讲解设计中所用的未学的电路控制原理及软件设计思路,例如,LCD1602如何显示、单片机控制电路原理;(ii)指导学生查资料、分析文献、确定本组设计方案及选择元器件。指导老师一般要求每组同学下载5篇文献,告诉大家如何进入期刊网下载电子钟相关文献,并教会学生如何从参考文献中提取有用信息,从而确定电子钟的电路设计方案;(iii)完成实物调试之后,告知文档的撰写格式、最终作品达到的效果及验收情况。答辩时,每组同学需要演示制作的电子钟实物,所有实验小组均要展示任务书要求的基本功能,能力强的学生则可以添加附加功能。根据演示功能强弱,给出相应的答辩成绩。
(2)应用Proteus软件先进行仿真。Proteus软件建立了完备的电子设计开发环境,可以仿真51系列、AVR、PIC、ARM等主流单片机,还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到输入输出的效果。例如电子钟设计通过Proteus软件画出电路原理图,并仿真实现其功能,如图1所示,按下开始键,电子钟开始工作,1 s到了显示就加1,按下复位键,显示又从0开始。基于Proteus软件,每组同学可以按照自己的题目要求及确定的方案,先进行电路原理图的设计与程序调试,通过不断地修改电路与调试程序,最终仿真实现本组课程设计的要求和功能。这样加深了同学们对硬件电路中器件功能的理解,并且能直观地显示结果,为后续硬件电路设计及软件实现提供理论依据。
图1 电子钟仿真图(a)初始状态和(b)按下开始键时的状态
(3)焊接硬件电路。电子和自动化专业的学生要具有较强的动手能力。为了提高学生的实际动手能力,单片机课程设计要求同学自己焊接电路板,不能采用购买的完整板,即根据题目要求购买相应的散装元件,如图2所示。然后根据电路原理图进行焊接,如图3所示。在此过程中,学生可以认识并掌握相关元器件的功能,学会如何布置电路,复习常用测量仪器(如万用表、信号发生器、示波器等)的功能,并学会如何排查电路焊接中遇到的问题。这样就不会出现学生不认识基本元器件、不清楚电路硬件连接等问题,从而提高了学生的实际动手与及时处理问题的能力。
图2 电子钟散装元件
(4)编写、调试软件程序。完成硬件电路焊接后,同学们根据题目任务需要完成相应的软件程序的编写与调试工作。传统做法是软件程序的编写在课下自由完成,这样很多同学存在抄写行为,甚至一人做了多个题目的程序。为了避免出现这类问题,统一安排学生到机房编写、调试软件程序,指导老师现场指导,并要求学生每次都要汇报填写软件程序调试进展情况、出现的问题及解决问题的方法。
(5)撰写文档。文档撰写是对硬件电路功能原理、程序功能实现及调试过程中出现的问题等进行书面总结,可以提高学生的理论水平及理解能力。以前很多学生抄袭别人的论文,出现了文中电路与程序不一致、电路图出错及图标不清晰等问题。改革后使用统一的文档模板,要求学生书写文档时,所有电路原理图均采用专业软件(Proteus或Protel)绘制,表格必须是三线表格,不允许出现不清晰的图表。
考核是检验学生学习效果的一种方式,根据本课程的设计要求,其成绩评定也作相应的改革。其最终成绩由答辩(50%)、平时(30%)和文档(20%)3部分成绩组成,每个实验组中的每位同学成绩可能不相同。3部分成绩评定原则如下。
(1)答辩成绩。每个实验组答辩时间为10 min左右,其中,3 min介绍项目功能、设计思想、方案和实现;2 min实物演示;5 min答疑。在答疑过程中,每位同学均要参与,且未答出的问题其他同学可以补充回答。老师根据实际功能演示、原理介绍和回答问题等情况给出每个学生的答辩成绩。
(2)文档成绩。答辩组老师根据设计报告的撰写水平、文档的规范性、电路原理功能及软件实现思路的介绍,给出文档成绩。
(3)平时成绩。指导教师根据每位学生在设计过程中体现的理论知识掌握、查阅资料能力、分析和解决问题的能力、实践动手能力及主动性给出平时成绩。
最后,指导老师根据以上3类成绩按照权重给出每位同学的总成绩。
综上所述,本论文分析了本院电子与自动化专业的单片机课程设计教学过程中的不足,在教学选题的设计、教学方法及考核方式等环节进行了改革尝试。通过几学期的实施,证明该方法是有效的。研究发现,大部分同学能够理解如何通过单片机进行简单的控制及设计,能够熟练掌握常用的电子元件功能及电路焊接技巧,还有小部分同学具有一定的软硬件开发能力、独立解决问题的能力和创新能力。