摘要:本文讲述的单片机学习方法是基于理论课时少,实践课时多,生源基础差或者0基础的一种单片机教学和学习方法,项目式教学法,该学习方法经过实践是相对于以前其它方法更容易讓学生接受和学习的一种方法。
关键词:单片机学习;项目式教学法
在我所带的专业中,单片机现在的总课时是48学时,理论24学 时,实践24学时,如果根据以前的大纲和思路来系统学习单片机是根本不可能的,最起码汇编语言这一块就需要占据机会三分之一的课程,还不说其余的知识,这一门课上完差不多需要48理论学时以上,还有就是前沿课程中,根本没有汇编语言,而只完成了C语言程序设计的课程,很明显,现在的学时是根本讲不完也讲不会单片机的,学生学习起来也是非常吃力的,因此为了改变这种学时少前沿课程不足的情况,根据多年的教学经验和实践总结出一套适用于理论课时少,前沿课程没有汇编语言而只有C语言的单片机教学思路和方法—项目式教学。
所谓项目式其实是在学校要求培养应用型人才的基础上,理论学时完全压缩的情况下,只有C语言基础的形势下,经过实践摸索得出来的。
首先,需要培养应用型人才,那么从我的理解来看,就是要放弃一部分的理论教学,增加实践动手能力,培养出可以一毕业就就能上手或者工作的人才,而这一的话,从思想来说,就会减少单片机最基本的理论教学,比如:单片机的内部结构,我们只需要让学生知道什么是累加器,什么是寄存器,什么是特殊类寄存器就可以了,而没有必要像以前教学一样,给学生详细讲解什么是累加器,累加器主要是作为运算的,它参加所有的运算,在汇编语言可以写成“A”,在C语言必须写成“ACC”,还可以按位操作等等,实话说,现在真没有必要,因为C语言写程序的时候对于它用的还真的很少,除非你为了表现自己对单片机内部结构学习有多好,否则真没有必要等等,所以你只需要告诉学生其内部有什么就可以了,另外再给学生做一张表格或者图,写出内部结构都有哪些都是多少位的,是否可按位操作,作用告诉就可以了。
其次,在讲程序设计时,首先就不要去讲汇编语言,因此没有汇编语言的基础,那么你现在就算是把会语言的117条指令全部讲个学生,没有大量的程序讲解、学习和练习是根本没有任何的作用的,简单来说就算讲了学生也学不会,那么就只能讲C语言程序设计了,由于有C语言程序设计基础也有C语言的课程设计等基础,那么学生在学习起来就简单多了,在这里讲的时候主要讲数据类型和数据结构,C51常用的10中语句,比如循环语句有:“for”语句,“while”语句,“do…while”语句,要把这些语句写法告诉学生,一般在上面情况下最常用,在这里可以据例子,实话说,这里没有必要讲解那些所谓的运算,因为C语言讲了很多,单片机里面对于运算也就那么常见的几种,比如“i++”和“++i”等等,这些事需要学生知道它们的区别的,但是这些可以在后面讲程序的时候提到,学生自然就会知道了,没有必要在这里浪费很多的时间。
第三,就是实例或者项目讲解了,我记得在我上学的时候或者是刚开始工作时,我们讲解的立体都是真对知识点而讲的,这里的程序根本不全,而只是完成程序中找出来与本次教学内容相关的一部分,学完之后,还是不会写程序,后来经过多次的摸索,我觉得讲课的时候例题不一定要有多么的难或者说有一定的高度,都是要从基本的完成的程序入手去讲,在我讲单片机的时候,我在讲C语言程序设计开始就是完整的程序,而不是简单的半句程序,比如讲数据类型时,以前都是讲两个数相加的程序,这样只能看到运算结果,而不知道单片机如何去写,而我在讲课的时候,这部分内容主要是让一个发光二极管去闪烁,使用延时程序来去看数据类型,这里主要是“uchar”类型和“uint”类型,使用“for”语句,学生学完了知道了哪里可以使用“uchar”类型,哪里可以使用“Uint”类型,也对这两种类型记忆比较深刻,因为有了仿真,学生对单片机的兴趣也增加了不少,而我上单片机的原理的前半部分内容,从数据类型和结构到中断讲完,其实这部分我所用的实例就只有一种,那就是点亮发光二极管,我上课就和学生说,如果说学完单片机你还不会点亮各种状态的发光二极管,那么单片机你真的没学会,其实说白了就是霓虹灯的设计,各种状态,有速度一定的,速度不一定的,方向定的,方向不定的,间隔点亮的,连续点亮的,开关控制速度的,等等,至于说是使用那一种,就要看所讲的内容,比如讲定时器时,就用定时器控制八个发光二极管亮的速度,讲中断时,就用外部中断开关来控制发光二极管的显示方向、状态和速度等等,在讲常用电路时,这里主要是七段数码管,4*4键盘矩阵等等,在这里,七段数码管课堂上讲解的0-99的计数,课堂完成编程和仿真,课下学生完成数字钟的程序编写,独立键盘结合数字钟实现校时的功能,优化学生作业,4*4键盘这里课堂讲解的是按键和数码管显示的编程及仿真,学生完成4*4键盘输入3位数的程序等等,经过这种实例讲解,学生课下作业练习这种方式,学生很容易就学会了单片机的编程
第四,在实验课方面,主要是完成单片机开发板的设计,而这部分内容主要是课堂讲解的知识,学生去设计电路,完成程序测试,开发板主要包含:发光二极管显示、七段数码管显示、8*8点阵显示、1602液晶显示、独立键盘、4*4矩阵键盘、AD转换、DA转换等内容,实验做完了就是完成了开发板图纸的设计
总之,单片机教学现在都是往应用层次去发展,而我们教学的时候也是需要往这个方向去的,如何让学生学会单片机的应用,项目式的教学无疑是一种比较有效的手段。
作者简介
张占红(1984—),男,陕西丹凤人,武汉传媒学院讲师,主要研究方向:电子与通信领域。