摘要:中断技术的应用是单片机在应用领域中比较常见的知识点,也是教学的一个难点所在。传统的教学方法不利于学生有效快速的理解中断的知识,影响后续的编程。采用项目教学法进行教学分析与实践,效果不错。
关键词:中断技术;项目教学法
单片机是一门理论性与实践性强的学科,该课程兼顾了硬件设计和软件编程两方面。中断技术的应用是常见的,是单片机学习的一个重要的知识点。但是很多学生对中断的概念,中断的响应过程及中断保护等知识理解模糊,造成编程受到影响。故提出项目教学法帮助学生有效快速的理解中断的相关知识。
1 项目教学法的概念
所谓项目教学法,就是通过实施一个项目而进行的一个教学活动,其目的是在课堂教学中把理论和实践教学有机的结合起来,充分挖掘学生的创造潜能,提高学生解决实际问题的综合能力。先由教师对项目进行分解,并作适当的示范,然后让学生围绕项目进行讨论、合作学习,最后以完成项目的情况来评价学生是否达到教学目的。
具体来讲,要遵守下面的原则:
1) 以学生为中心,要充分发挥学生的主动性和创新精神,让学生根据自身学习情况来实现信息反馈;同时教师的指导作用也至关重要。教师仅仅是一个学习项目的设计者,组织者,协调者,学生才是课堂的中心。
2) 以实际的项目为载体。项目的选取尤为重要,既要包含基本的知识点,又能调动学生的积极性。因此在选取上,满足下列条件:一,该项目必须包含有基本理论知识,章节重难点在项目中能充分体现;二,该项目能将理论知识有效的贯穿于实际项目中;三,该项目能有效激起学生的好奇心及求知欲;四,大部分同学能完成该项目,遇到困难能在教师指导下克服。
3) 以项目完成的情况来评价学生学习效果。学习过程的最终目的是通过完成项目实现教学目标。教学不是直接围绕教学目标进行的,而是围绕完成项目来展开的,所以评价学生学习效果应以完成项目的情况来评定。
2 项目教学法在中断技术中的应用
针对中断技术确立如下项目:中断循环控制流水灯。编程实现:用单片机的p1口控制8只led灯,做单灯左移点亮,即p1.0,p1.1,p1.2,p1.3,p1.4,p1.5,p1.6,p1.7依次点亮,间隔0.2s,然后再从开始状态循环;中断时p1口的8个led灯闪烁3次(即全亮、全灭3次)。
因为是将理论知识贯穿于项目中,所以项目实施之前必须由教师先对该项目进行分解,对新知识做必要的讲解。
2.1 形象化比喻建立中断概念,中断保护等新知识
在教学中引用中断概念时,采取形象生动的比喻来帮助学生理解中断的概念。中断是计算机cpu对突发事件响应的一个过程描述,是指cpu在运行过程出现某种紧急事件时,请求cpu暂停现行程序的执行而转去处理此事件,待处理程序执行完毕,cpu在回到被中断的地方继续执行下去。比较抽象,可以生活中的现象做类比:在网上看电影,电话铃响,点击“暂停”按钮播放电影,处理电话完毕,点击“播放”按钮,继续看电影。这就是一个中断现象:看电影相当于主程序,接听电话是紧急事件相当于中断程序,处理完电话接着看电影,相当于响应完中断程序继续执行主程序。在该过程中,“暂停”按钮是中断保护现场,“播放”按钮是中断恢复现场。
中断分类:外部中断int0,外部中断int1,定时器溢出中断t0,定时器溢出中断t1,串行口中断。以外部中断int0为例进行教学。中断程序在内存中放在哪里,入口地址对应如下:0003h,000bh,0013h,001bh,0023h。
中断请求设置:定时控制寄存器tcon
it0,外中断0触发方式控制位(置0,电平触发方式;置1,下降沿有效)。ie0,外中断0中断请求标志位;tr0,定时/计数器的控制位tf0;t0溢出中断请求标志位。it1、ie1、tr0、tf1类同。setb it0,置于主程序中(请求中断,为随时响应中断做准备),下降沿有效。
开关设置:中断允许控制器ie
ea:cpu中断允许(总允许)位(1:开中断;0:关中断)。ex0:外中断0允许位; et0:t0中断允许位;ex1:外中断0允许位;et1:t1中断允许位;es:串口中断允许位;
设置movie,#81h,置于主程序中,开启外部中断int0(中断允许,为随时响应中断做准备)。
2.2 巩固mov、nop、djnz、rl、ljmp,db等指令,编程
提醒学生进入中断程序时,要设置断点保护,执行完中断程序要恢复现场,如下斜体字样;设置堆栈指针栈底如:mov sp,#60h。指导学生编程;大部分学生程序如下:
org 0000h
ljmp main
org 0003h
ljmp int0s
org 0100h
main:mov sp,#60h
mov ie,#81h
setb it0
lp0:mov r1,#8
clr c
mov a,#0ffh
lp1:rlc a
mov p1,a
acall del
djnz r1,lp1
sjmp lp0
int0s:push psw
push acc
mov a,#0ffh
mov r2,#6
l4: mov p1,a
acall del
cpl a
djnz r2,l4
pop acc
pop psw
reti
del:mov r5,#20
d1: mov r6,#200
d2:mov r7,#123
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
end
程序完成后进行keil-c51软件仿真,该软件默认高电平灯灭(勾),低电平灯亮(空)。调出p1、p3口观察,8个等点亮的动态及中断控制状态,仿真如图1,图2。
2.3 传授硬件方面
在proteus软件中识别、测量:单片机、电阻、电容、发光二极管、晶振、按键等;画出硬件图,结合程序仿真如图3。
2.4 实验室设备验证及分析
以上程序,在keil-c51和proteus软件仿真模拟没有任何问题,但在实验箱上演示时,问题很明显:程序能顺利启动中断,可是结束中断返回主程序时,出现很长时间的等待(该问题是此章节学生最容易忽略和混淆的问题)。于是给予提示,检查中断程序调用延时程序时,是否进行了现场保护?主程序和中断程序都用到了延时程序,是否进行了中断现场保护?结果提示,一些学生很快就找到了解决方案:在保护现场时在语句mov a,#0ffh之前添加setb rs0(即主程序调用延时时,工作寄存器组设置为1组)语句,避免主程序和中断程序都使用默认0组工作寄存器而出现的数据传递混乱。
该章节中断保护和恢复是一个难点,以理论形式讲解,学生很难理解掌握,将其贯穿于项目中,让学生发现问题,自己解决问题,事半功倍。本例是以外部中断int0来讲,如果换成其他种类的中断,只需改变入口地址,tcon,ie及触发端口设置,即可举一反三。如此以来,教学以学生为主体,教师为客体,更容易激发学生学习的兴趣。
3 总结
项目教学法以实际的项目为载体,以学生为中心,以行动过程为途径,以素质为基础,以师生互动为方式,以能力为目标。该法是通过学生实施项目,项目本身的设计显得至关重要,即对教师的的知识框架及教学经验提出了很高的要求,但是能达到很好的教学效果。
参考文献:
[1] 张晔.单片机应用技术[m].北京:高等教育出版社,2006.
[2] 董晓红.单片机原理及接口技术[m].西安:西安电子科技大学出版社,2004.
[3] 沈顺玲.高职单片机入门教学探析[j].考试周刊,2011(16).