学习单片机课程的思考与探索
2017-12-14程家勤韩宝健张阳熠周海军欧美英董可秀
程家勤 韩宝健 张阳熠周海军 欧美英 董可秀
(滁州学院电子与电气工程学院,安徽 滁州 239000)
学习单片机课程的思考与探索
程家勤 韩宝健 张阳熠*周海军 欧美英 董可秀
(滁州学院电子与电气工程学院,安徽 滁州 239000)
单片机课程是应用型本科院校电子类专业的一门非常重要的课程。应用型本科院校要求学生在学习单片机时,不仅要重视理论知识的学习,还要加强实践能力的训练。针对同学们普遍反映单片机知识比较抽象、信息量大、不易学习和在实践过程中会出现的各种问题,结合自身的学习情况探索如何学好单片机。
单片机;学习方法;探索
1 引言
单片机在电子产品中有着广泛的应用,其具有种类多、价格低、可靠性高和应用方便等优点,因此单片机相关的课程在本科院校中广泛开设。在应用型本科院校中,《单片机应用技术》是电子类专业非常重要的一门课程。应用型本科院校的单片机课程旨在培养电子类专业的学生对单片机的内部结构有一定的了解,重点是让学生掌握单片机系统设计的方法,为今后学习使用高端控制芯片和从事电子设计类工作打下基础。应用型本科院校单片机的教学大多采用C语言进行编程,C51相对于汇编语言来说具有很多优点,如:对单片机指令系统和内部结构有初步了解就可以;C51语言程序结构规范;有许多标准的子程序库;程序便于移植等[1]。目前使用比较广泛的单片机系统开发软件是德国Keil Software公司推出的Keil C51开发平台,它集编辑、编译、仿真于一体。Proteus仿真软件由于其功能强大,广泛应用于电子设计研发,其在单片机的教学和学习中也被广泛应用[2]。作为应用型本科院校的学生,如何学习和学好单片机相关的知识是值得我们探讨的。作为应用型本科院校电气学院的学生,结合实际学习情况,拟从老师的教学和自身的学习出发来探索作为学生如何学习好《单片机应用技术》课程,为其他学生今后学习单片机提供一定的参考。
2 教学方法
单片机的教学方法有很多种,如任务驱动教学法和项目式教学法等。为了更好地教好单片机,任务驱动法与项目式教学法适当的整合是非常必要的。任务驱动教学法是指老师将单片机的相关知识设计成由简单到复杂的具体任务,以某个实例为先导进而提出问题引导学生思考,使得学生通过“学和练”掌握教学内容,着重培养学生分析问题和解决问题的能力[3]。项目教学法是根据“在学中做,在做中学”的精神,将实践项目贯穿教学始终,是一种教与学互动的模式,是老师与学生通过共同完成一个完整的项目的教学活动[4-5]。教师将难度适宜的项目布置给学生,学生通过查阅文献资料,进而设计项目实施方案,最终完成项目并提交项目报告,这一系列的过程都是由学生独立完成。
这两种教学方法都强调以学生为主,教师为辅,师生互动。不论哪种教学方法都是很好的,然而它们还是存在一些缺点。任务驱动法着重强调理论课程的教学,完成课本上的教学任务;项目教学法强调的是让同学们自己多动手,在实践中完成学习任务,这有利于提高同学们的动手操作能力,但对理论知识的掌握则存在不足,所以只有这两种教学模式相互配合,课堂上采用任务驱动法,设计由简单到复杂的任务,逐步教导同学们掌握单片机的基本知识。在课余时间和实验课上采用项目教学法,让同学自己动手参与进来,把课堂上所学的理论知识用于实践,然后独立完成单片机项目,从而不断地提高同学们对单片机更深层次的认识[6-9]。
3 学习方法
本学习小组在学习单片机的过程中发现,学习单片机的难点主要有两方面:一是单片机的知识点多、信息量大,单纯地从课本上学习那些知识点,不太容易记住,也太枯燥;二是编写单片机程序逻辑关系要非常清晰,同时还需要有一定的C语言基础。所以才能导致单片机难学一说。其实学习单片机并不难,本学习小组在学习单片机的过程总结如下:
第一,明确学习目的。首先要认真思考两个问题:单片机课程在本专业的地位?学习单片机用来做什么?这是学习单片机的动力。没有动力,我想坚持不了多久。其次,端正学习心态。要知道学习知识是没有捷径的,只有循序渐进,脚踏实地,一步一个脚印,才能学到真本事。要对自己有严格的要求,倘若没有一颗积极向上的心,那再好的学习方法对于你来说也是枉然。
第二,提前预习。先把课本的知识预览一遍,带着问题去听老师讲课,这样不仅能够跟上老师的思维,同时还能提高自己学习单片机的兴趣。课堂上老师的提问大多是引导性的问题。我们要按照自己的想法积极回答,不要害怕说错。我们老师曾经说过,要看的就是我们出错的地方。我们只有在错误中不断改正,才能不断进步。另外一定要记下老师所说的重点,课下及时巩固复习并完成老师布置的任务。
第三,目前单片机程序的编写大多采用C51语言。C51语言程序看起来并不难,也可以说很简单。但是,一开始编写程序时对于自己不懂的地方一定要先独立思考,尝试着去实现,最后再参考老师给出的实例或者向同学请教。把自己的程序与之对比,发现自己的不足之处,然后修改完善,不断提高自己的编程能力。在编写程序之前,一定要先设计好电路原理图、理清设计思路和画出程序设计流程图。此外编写程序时要养成注释的习惯,这样可以使得每段程序代码含义清晰明了,方便以后快速读懂程序和对程序进行移植。
我们以电子时钟设计(数码管显示)为例为大家展示整个学习设计过程。首先要理清设计思路,程序分为动态显示时间、定时器中断、键盘扫描等三部分,其中1秒钟定时采用定时器定时50毫秒20次来实现。主程序先初始化定时器,然后进入while大循环不断进行键盘扫描和动态显示。按键和显示设计思路:第1次按下选择按键,关定时器且标志位加1(TR0=0,Temp=1),此时执行“秒”闪烁子函数,可按加减键调“秒”;第2次按下选择按键标志位再加1(Temp=2),执行“分”闪烁子函数,可调“分”;第3次按下选择按键标志位再加1(Temp=3),执行“时”闪烁子函数,可调“时”;第4次按下选择键,开定时器(TR=1),同时将Temp清零。
主函数源程序如下(12Mhz晶振):
Proteus仿真效果如图1所示。第1次按下选择按键,“秒”闪烁,可以实现调节“秒”的加和减。相应的“时、分、秒”闪烁,我们可以清楚知道所要调整的时间。
图1 Proteus仿真效果图
在完成仿真的基础上,结合实验箱来验证设计的效果。图2实验箱调试效果图。实验箱上晶振的频率为11.0592Mhz,所以定时器的初值需要重新计算。若同样定时为50ms,则50ms÷(12/11.0592us)=46080次,故初始值 TH0=(65536-46080)/256;TL0=(65536-46080)%256。从效果图中可以发现实验箱上显示的数字不是特别清晰且有重影,我们分析认为这主要是由于采用动态显示造成的。在Proteus软件上没有这种现象,仿真和实际情况是有区别的,所以我们需要做出实物来进行检验设计效果。
图2 实验箱调试效果图
TX-1C单片机开发本上所使用的芯片是STC系列的单片机,且其与数码管的连接方式与之前的设计稍有不同。因此需要根据实际情况,对程序表进行修改。将修改后的程序烧写到单片机运行后的效果如图3所示。
图3 单片机开发板效果图
第四,要多动脑勤动手。单片机的学习具有很强的实践性,是一门很注重实际动手操作的课程。不动手实践是很难学好单片机的,这需要有一套完整的学习开发工具,也需要我们利用好一切学习资源。我们学习小组认为从Proteus仿真,到实验室实验箱的验证,再到用单片机开发板来实现设计功能,通过这三个步骤可以让我们对单片机有深入的认识。Proteus仿真节约了设计成本,缩短了设计周期;结合实验箱来实现设计功能可以使得我们对单片机设计有一定的认识;在仿真和结合实验箱的基础上,若能采用单片机开发板来完成单片机系统的设计、程序的烧写和最终实现设计要求,这基本上可以说对单片机系统设计有了深入的认识。
4 总结
单片机的学习注重理论结合实践,实践验证理论。我们应当积极配合老师,落实任务驱动法与项目教学法的相结合,同时学习是一个循序渐进的过程,从简单的程序到复杂的单片机项目,我们应该一步一个脚印。在学会单片机基础知识基础上尝试利用Proteus和Keil软件联合仿真调试,然后利用实验室的实验箱进行设计验证,最后搭建电路完成设计或者使用开发板来实现设计。在此过程中不断解决自己所遇到的问题,加深对单片机的学习与理解,学好单片机课程。
[1]徐朝农.“单片机原理”课程逐步启发式的课程设计[J].电气电子教学学报,2016(01):115-116.
[2]王海燕,杨艳华.Proteus和Keil软件在单片机实验教学中的应用[J].实验室研究与探索,2012(05):88-91.
[3]徐肇杰.任务驱动教学法与项目教学法之比[J].教育与职业,2008(11):36-37.
[4]张杨,刘国成.项目式教学法在高职制图测绘教学中的应用[J].湖南科技学院学报,2009,30(12):114-115.
[5]杨漾.项目教学法在《单片机技术应用》中的应用[J].科学大众,2015(11):155.
[6]吴皓东,吴锋.单片机学习方法谈[J].电子制作,2003(10):12-21.
[7]李荣柏.浅谈单片机学习之技巧[J].科技展望,2015(28):266.
[8]杨晓红.单片机学习经验之谈[J].科技资讯,2011(09):192.
[9]王强.单片机学习方法探讨[J].黑龙江科技信息,2015(32):81.
Reflection and Exploration on the Learning of MCU
Cheng Jiaqin Han Baojian Zhang Yangyi*Zhou Haijun Ou Meiying Dong Kexiu
(Chuzhou University,Chuzhou 239000,Anhui)
MCU course is very important for electronic engineering major in application-oriented colleges.Students in application-oriented colleges should not only study hard at theoretical knowledge of MCU but also need to strengthen practical ability training.Some students consider that MCU course is abstract,informative and difficult for them,especially in practical skills training.Based on our own learning experience,the appropriate method is explored for how to learn MCU well.
MCU;learning method;exploration
G434
A
1008-6609(2017)10-0023-03
程家勤(1995-),女,安徽广德人,本科,研究方向为电子技术。
*通讯作者:张阳熠(1983-),男,安徽蒙城人,硕士,讲师,研究方向为电子电路。
滁州学院课程综合改革项目:单片机应用技术,项目编号:2016kcgg027;半导体器件物理,项目编号:2016kcgg025;自动控制原理,项目编号:2016kcgg031;滁州学院教学研究项目:基于创新创业的单片机课程教学体系构建与实践探索,项目编号:2016jy021。