谢 楠,张海波,马 艳
(浙江水利水电专科学校,浙江 杭州 310018)
在我国,大学教育已经从精英教育向大众教育转变,特别是高等职业教育向着为社会培养高技能、应用型专门人才发展.大学教育工作者应该从以往精英教育的观念转变到大众教育的观念上来,充分考虑学生知识水平以及认识过程的差异性,加强对学生的积极引导.在教学过程中要利用相应的实践环节,引导学生通过适当工程实践将所学的知识能够有机的联系起来,使学生对本专业知识体系得到更深的认识,建立起工程设计的初步能力,并由此促进他发现问题,解决问题的能力,启发学生的创新思维,为后续的毕业设计及以后走上工作岗位后卓有成效的开展工作打下基础.
基于以上的思路,根据作者所在学校的专业以及教学计划,考虑在学生第5学期短学期的课程设计予以体现,通过课程设计的实践过程,让学生对学过的专业知识有一个更深的认识,培养学生建立起一定的电子电路设计与开发、信号处理以及控制等实际软硬件开发能力.
单片机课程设计是《单片机原理及应用》课程教学中的一个综合实践训练,目的就是要让学生综合运用电子电路、单片机接口技术和单片机程序设计方法,独立完成基于MCS-51的应用小系统的设计和制作任务,为以后更进一步的学习和工作积累经验[1].本次课程设计为期两周,目的为了让学生进一步掌握单片机应用系统的总体设计、单片机硬件系统的设计、制图和硬件的焊接;并且进一步学习单片机程序设计方法,全面掌握MCS-51单片机定时、中断、调时的编程运用,培养单片机开发的整体构思能力,体会单片机应用系统的设计步骤、设计方法与技巧,积累一定的MCS-51汇编程序的编程经验,学习编写设计开发文档,并在团队分工协作中锻炼互助协作精神[2].
在单片机开发课程设计之前,学生已经学习数字电子技术、电工电路基础、单片机原理与应用、微机原理与应用等课程.我们在组建时主要考虑以下几个问题:
(1)如何设计相应的课程设计题目,能让学生在课程设计中根据所学的知识能够灵活运用起来?
(2)课程设计时间两周,怎样才能保证学生完成的过程中任务量适当,既不能过于简单也不能过度复杂而导致学生不能完成任务?
(3)学生的成绩有好有差,怎样让不同层次的学生都能保质保量完成自己的任务?
针对以上的问题,我们设计了多个课程设计题目,学生可根据自己的情况选择任意一个题目来完成,但每个课程设计题目中尽量包含多个需要完成的技术要点.结合实验室现有条件,我们针对计算机应用专业06级学生设计了多个题目,下面将以“基于LED数码管显示的电子时钟的设计与制作”一个具体案例进行剖解.它可将《单片机原理及应用》课程所讲的重要知识点部分应用于一身,将课程中涉及的重点内容:单片机最小系统、定时、中断、键盘、显示、系统扩展接口技术、单片机程序设计方法等知识点融合在一起,让同学们能将所学应用于实践,对于他们将来走向单片机应用与开发的工作岗位打下一个良好基础[1].整个课程设计,可分模块化进行.此外,本次课程设计大大地提倡团队合作精神,分小组完成,每个小组不超过3人,小组内分工由各小组成员自行调整.
课程设计的出发点除了让学生更好地让学生掌握单片机课程的重要知识点并灵活运用它们之外,更想逐步带领学生进入项目开发和团队合作中,更好的发挥课程设计本身的作用,找到一个学校课堂和社会的一个很好的切入点[2].本次课程设计整个过程的实施计划,见图1.
从图1可知,我们将整个课程设计的开发流程分成多个关键步骤,具体内容如下.
图1 课程设计过程开发流程
课程设计要求基于MCS-51系列AT89S52单片机,运用其最小系统应用设计和I/O接口与6个七段数码管连接实现一个具有时、分、秒显示的电子时钟(初始化显示时间为:08.00.00),并且扩展四个按键开关,用以实现时钟的小时、分钟、秒钟的调整[1,3].即当电子时钟按复位后,能自动显示初始化时间08.00.00.键盘功能可自行设计,如按动KEY0进入调整状态,KEY1、KEY2、KEY3分别调整时、分、秒;另外对部分学生基础较好的同学,要求他们将电子时钟做成一个电子时钟和日期交替显示小仪器,即须增加日期显示与设置功能.
课程设计开始的第一天,利用4节课的时间,对课程设计的题目进行讲解,点拨各个需要掌握知识点及需要查阅资料的方向,落实每个设计题目需要完成的任务以及时间安排表,最后由学生自由组合成小组.
学生查阅参考资料这段时间,问题特别多,有些同学总体设计方案迟迟不能提交[4].为了达到最为简设计,引导学生将整个应用系统可从3个方面入手:单片机最小系统、键盘设计部分和显示设计部分.
(1)最小系统设计.本次课程设计选用ATMEL89S52单片机,它是ATMEL公司的以8031核构成的8位Flash单片机,内置8KB可在线编程闪存.故最小系统设计须考虑晶体振荡器电路、复位开关和电源电路部分等.
(2)显示部分的设计.本次课程设计采用的是七段数码显示器,主要有2种方案进行选择:静态显示和动态显示方案,故要求同学在总体方案确定之前,必须弄清楚LED显示器的工作方式和显示程序,以及两种方案设计的区别,各自有何优、缺点,如何节省内部资源的使用以及如何对后续编程带来方便等问题.
(3)键盘设计/按键模块.基于本次课程设计所使用的按键较少,大部分同学采用MCS-51单片机内部资源P1口进行简单的键盘结构扩展,但有一部分想挑战自己,进行了难度较高的行列矩阵式键盘结构设计.
另外,还提醒学生,每组成员要进行适当的分工.经过不断的引导和学生查阅资料的不断积累,学生开始逐渐进入角色.系统总体设计,见图2.
在第二天上午验收硬件总体方案设计时,每组同学都能很准确且流利回答老师所提的问题,比如MCU最小系统,方案设计性能优化,开发成本,以及各模块主要有哪些芯片构成等.通过各组成员海量资料查询,同学们知道了更多芯片以及同类芯片的性能比较,突破了同学们在课堂上所虚拟想象中的芯片以及芯片用途与使用模糊化的界线.
图2 系统方案设计
(1)硬件设计与调试
接下来的一天时间,各小组成员按照总体设计方案进行详细的硬件设计,同学基本上在规定的时间完成了整个硬件系统的设计[5].硬件设计大致思路:硬件电路图设计→设计PCB版→元器件对比采购与焊接→硬件电路调试.
同学们能合理利用网上资源和课堂所学知识,做到硬件系统设计尽量详尽,如显示方案采用静态显示方式需要考虑其驱动电路,如何使用MCS-51的4个8位I/O口以及电阻阻值大小等细节问题.
而接下来的2天时间就是硬件电路的焊接和调试工作.很多同学都是第一次进行硬件电路焊接,而且很多元器件都只是停留在理论书本上的认识,对于一些基本常识,例如芯片的引脚数,芯片的电源和地线引脚的规定,引脚的输出电流多大等都不是很清楚,故这样的一次的课程设计实践教学,对同学们对专业知识从以前单纯的书本知识到理性的实践能力一个提升,以及同学们对硬件设计与开发、调试都有一定程度的深化.对于硬件电路调试,主要从短路和断路两种情况来考虑,一方面使用万用表进行线路检测,察看各个电子元件是否通路,上电后,各个芯片电压是否达到其最大工作电压,并检测各个模块线路是否通路.
(2)软件设计与集成测试
第五天开始进行课程设计的软件设计与开发,同样要求学生分模块进行,进行软件模块化设计.各组成员按照系统功能进行详细的功能模块分析→进行模块化设计与实现→模块单元测试→各功能模块进行链接与整合→软件集成测试.
各组同学基本上都能够集中讨论软件设计的整体流程.主程序设计主要考虑初始化程序、调用LED显示子程序、调用按键子程序几个部分;子程序控制部分主要有按键控制部分、定时器中断控制部分、秒加1计时部分和延时子程序等.要求各组画出程序流程图,再按照其思路进行模块化程序设计与编写代码.纵向比较各组学生的设计思路,归纳如下:系统上电复位后,进入初始化程序,LED显示时间为:08.00.00,CPU主要工作就是调用LED显示子程序、判断是否有键按下,有键按下,则调用键盘子程序等反复执行.
软件设计和程序的编写对于大部分专科学生来说是个棘手的事情,故此次课程设计,指导老师全天候现场指导,带动学生进行模块编程进行各功能模块逐一击破,一个模块完成之后,再引导学生进行下一个模块的编程和调试.进行在调试过程中,学生基本能按照指导老师的要求进行每一个模块的单步调试,模块间集成调试等.最后留给学生2天的时间用于写课程设计报告,对此次课程设计报告,并且严格按照论文式格式,要求同学将整个课程设计开发流程,遇到的问题及解决,收获心得与系统不足和改进等详尽描述,更进一步培养他们懂得一定的技术文档说明报告书写的基本思路.
验收的时候,各小组完成的方法各有特点.按键部分有的采用简单键盘设计方案,有的采用P1口2×2行列式矩阵设计,采用LED静态显示方案,驱动电路直接采用74LS164芯片,电子时钟显示的亮度很好;而显示部分学生采用动态显示方案,亮度稍暗写,但他们觉得硬件设计和编程都更简单些,驱动电路有的采用74LS244芯片,有的采用三极管作为驱动电路,编程方法也是各尽其一,各显其能[1,3,5].不同小组成员在现场能交流各自使用的编程方法和心得,哪一种方法更好,为什么?同学也为此展开了激烈的讨论.
课程设计的安排从原本的理论层面上升到了实践的范畴,很真实的运用了他们在课堂上所学过的东西,使他们的学习认识更上了一层楼,也懂得了很多关于自己动手和团队合作的道理.
[1] 徐煜明,韩 雁.单片机原理及应用教程[M].北京:电子工业出版社,2006.
[2] 沈兆军.单片机课程任务驱动教学模式探讨[J].科技信息:科学教研,2008(24):471,503.
[3] 高卫东,辛友顺,韩彦征.51单片机原理与实践[M].北京:北京航空航天大学出版社,2008.
[4] 肖伸平,凌 云,何小宁,等.单片机应用技术课程实践化教学改革的探索[J].实验技术与管理,2006(12):104-106.
[5] 施金鸿.电气自动化专业电子技术综合实践环节的实施及探索[J].广东技术师范学院学报,2004(6):83-84.