APP下载

基于BOPPPS和LBD的单片机教学研究

2015-08-23陈桂友

电气电子教学学报 2015年5期
关键词:寄存器中断计数

陈桂友,张 姣,王 平,丁 然

(山东大学控制科学与工程学院,山东济南 250061)

0 引言

单片机技术是目前智能控制、检测、通信和机电一体化等应用领域的关键技术之一。如何提高“单片机原理与接口技术”课程的教学质量是提高工科院校自动化等相关专业学生学习兴趣和解决实际问题能力的前提。

传统的单片机课程教学都是学生在课堂上学习理论知识,在实验课中对实验指导书中安排的程序进行验证。这样的学习模式因为实验课程的安排时间受限,存在理论学习与实验验证进度无法保证一致的问题,而且在没有直观认识单片机之前,学生难以理解所学的理论知识,更谈不上兴趣[1]。针对以上问题,本文提出了一种结合BOPPPS教学模型和LBD教学方法的综合教学模式。实践证明,该模式的采用极大提高了课堂教学质量,提高了学生思考问题和解决问题的能力,激发了学生的学习兴趣。

1 BOPPPS教学模型和LBD教学方法

自20世纪60年代开始,有效教学受到西方教育研究者的高度重视[2]。90年代,我国部分学者和教师们也开始对有效教学进行深入研究。

有效教学指的是效益、效率和效果并重的教学。对于教师而言,是指教师能够有效讲授,有效提问并倾听,有效激励。对于学生而言,有效教学是指成功引起、维持和促进学生学习,并且能够相对有效的达到预期的教学效果的教学过程[3,4]。

教师若想达成有效教学,应兼顾教学历程的每一个环节。BOPPPS教学模型就在这样的背景下应运而生,它以构建主义和交际法为理论依据,由加拿大哥伦比亚理工学院(BCIT)推行。BOPPPS及其支持体系旨在提高对多维度教学的意识和敏感度。它是一种教学的高效方法,能够协助教学工作者分解、分析教学过程,查找教学盲点,进而改进和提高教学效果。

BOPPPS教学模型将教学过程划分为六个流程和指标,依次为引入B(Bridge-in)、目标O(Objective)、前测 P(Pre-Test)、参与学习 P(Participatory Learning)、后测 P(Post-assessment)和总结 S(Summary)[3]。该流程和指标不仅能帮助教师有效地设计和讲授课程,也能帮助教师及时和有效地反思教学过程和教学效果。

“做中学”LBD(Learn-By-Doing)教学方法坚持将动手实践贯穿整个课堂教学,理论与实践紧密结合,实现了理论学习与实验验证的同步,边学边做的模式能有效的激发学生的学习兴趣、提高教师的教学效果和学生的学习效率。

2 单片机最小实验教学系统

本文设计了一款简易、便携、价格低廉的单片机最小教学实验系统[4]。通过该设计,让学生体会“做中学”的思想。电路原理图如图1所示。

图1 单片机最小教学系统电路图

该系统的CPU芯片采用宏晶公司开发的具有在线仿真调试功能的增强型8051内核单片机IAP15F2K61S2,电路中包含晶振、复位和电源部分,并把单片机所有I/O口引出。其中,下载电路部分、USB接口的另一端连接到计算机的USB接口上,它不仅为系统提供电源,而且还用于程序下载,并实现在线调试功能。另外,在最小实验教学系统中,还设计了跑马灯模块(可以用于输入输出和定时器演示等实验)、外部中断模块(用于外部中断的学习)和电源指示灯(显示指示系统的供电情况)。连接跑马灯模块的JPLED是跑马灯模块供电的短路帽,不使用跑马灯模块时,可以不加跳线帽,从而使得P2口的输入输出不会受到跑马灯模块的影响。

该系统简单实用,体积小巧,便于携带,方便学生课堂使用,也可以用在学生其他的科技创新活动中,用途广泛。

3 单片机定时器应用教学(BOPPPS+LBD)

以单片机定时器的设计为例,将BOPPPS教学模式与LBD教学方法结合进行项目单元设计。

1)B(Bridge-In)—引入

首先提出挑战性问题:定时器在日常生活中有哪些应用?该问题虽然有一定难度,但是在掌握前期课程的基础上学生还是可以回答的。这样的引入可以激起学生的好奇心,同时起到回顾前期所学知识和课程衔接的作用,并且可以提高学生的参与度,在讨论中让学生认识定时器的应用场合。然后以图片或视频形式展示定时器的实际应用,如交通灯、比赛中的计时器等。

最后提出问题:如何用单片机实现交通灯的定时控制?这再次激起学生学习的热情。

2)O(Objectives)—目标

在引入问题思考后,介绍本节课的学习目标:熟练掌握定时器的应用方法和技巧。授课采用LBD教学方法,以系统运行指示灯为实例,使用上节所述的最小实验教学系统板,从硬件的连接到程序的理解、设计、编译和下载都由每个学生边学边做。课程最后,所有学生都可以做一个自己设计的系统运行指示灯。学生将在实践中加深对定时器原理的理解,对其应用也会有更深入的认识,对硬件平台和软件开发平台keil C的使用会更加熟练,软件编写能力会有所提高。

3)P(Pre-assessment)—前测

在正式进行定时器应用的讲解之前,根据前期讲授的知识提出如下问题作为前测:

(1)定时器的基本原理是怎样的?定时器的核心是一个加1计数器,加1计数器的脉冲来源有两个:一个是外部脉冲源,另外一个是系统的时钟振荡器。每输入一个脉冲,计数值加1。

定时器工作模式下,脉冲输入为系统时钟振荡器经12分频后(或不分频)产生的信号。每经过一个机器周期,定时器(T0或T1)的数值加1,直至溢出。

计数器工作模式下,计数脉冲信号来源于外部时钟,有脉冲输入时计数值加1[5]。

(2)定时器有哪些相关的寄存器,功能是什么,如何设置?引导学生回忆:①定时器工作方式控制寄存器TMOD;②定时器控制寄存器TCON;③辅助寄存器AUXR。这三种寄存器用来确定定时/计数器的工作方式并控制其功能。其中,TMOD控制定时/计数器0和1的工作方式;TCON控制定时器T0、T1的启停及状态;AUXR设置定时器的速度和T2的功能。

从学生的回答中,教师可了解学生对已学知识的掌握情况,并根据学生掌握的情况进行知识的梳理甚至是简要复习。该环节还可以帮助教师微调本节课程讲解的深度和难度。

4)P(Participatory Learning)—参与学习

该环节介绍定时器基本使用方法,采用LBD教学方法。

首先介绍硬件电路。在最小实验教学系统中有8只LED灯连接到单片机P2口,如图1所示。在电路连接中,注意限流电阻的作用以及连接方法。当P2口相应的I/O引脚输出低电平时,所连接的灯亮;输出高电平时,所连接的灯灭。在课堂教学中,可以选择任意一只LED的控制作为实例。本文选择LED20。

硬件介绍完毕,接着介绍软件编程。一般定时/计数器的应用采用中断方式,因此,编程时主要考虑两点:①正确初始化,包括控制字、时间常数的计算并装入;②中断服务程序的编写,在中断服务程序中编写实现需要定时完成的任务代码。

定时器初始化的步骤如下:①设置工作方式:将控制字写入 TMOD寄存器(对于 T0和 T1,注意TMOD不能进行位寻址)。或AUXR(对于T2);②设置分频方式,将控制字写入AUXR寄存器。默认的情况是12分频(兼容传统8051单片机),如使用传统8051单片机模式,无需设置;③计算定时/计数初值,并将其装入 TLX、THX寄存器(对于 T0和T1)或T2L、T2H寄存器(对于T2);④置位ETX和EA,允许定时/计数器中断(如果需要);⑤置位TRX(对于T0和T1)或T2R(对于T2)以启动定时/计数。

接着引导学生思考:定时器自身的定时范围是多少?

时钟频率为 11.0592 MHz,12分频时,16位定时器的最长定时时间为131.072 ms。

思考第二个问题:定时时间超出最长时间(量程)怎么办?例如,设系统时钟频率为11.0592 MHz,利用T0定时,每隔0.5 s将P2.0的状态取反。(作为运行指示灯使用)

设计思路:

所要求的定时时间0.5 s超过了定时器的定时能力,所以无法采用定时器直接实现。这时需要对定时量程进行扩展,方法是在定时器中断服务程序中对定时器中断请求进行计数,当中断请求的次数达到要求的值时才进行相应的处理。在本例中,可以将定时器的定时时间设为以50 ms为一个单位,启动定时器后,每一次定时器溢出中断将产生50 ms的定时。在中断服务程序中对定时器溢出中断请求进行计数,当计够10次时,将P2.0的状态取反,否则直接返回主程序,从而达到0.5 s的定时[6]。

最后动手实践:LED灯连接单片机的P2.0口,选择 T0为16位定时器方式,方式字为00H,即TMOD=0x00。进行12分频时T0的计数初值为:N=216-(50×10-3×11.0592×106)/12=19456=4C00H。在程序初始化代码中,设置计数初值TL0=0x00,TH0=0x4C;开放总中断即 EA=1;允许T0中断即ET0=1;启动T0计数即TR0=1。在定时器T0中断服务函数中实现10次定时器中断计数,从而实现0.5 s的计时累计,并完成P2.0状态的反转。

5)P(Post-assessment)—后测

该环节给出动手操作的实验题目:报警指示灯的编程实现。

要求:系统时钟频率为11.0592 MHz,利用 T0定时,将 P20 连接的指示灯亮 0.2 s,灭 0.8 s,依次循环。

学生在参与学习环节中,跟着教师的演示一步步学习之后,应立刻自己回顾一遍定时器的初始化过程以及根据定时器的原理进行相关其他设置,最后完成题目要求。如果学生在操作中出现错误,则可以通过自己思考或求助同学、教师完成题目,在遇到问题-思考问题-解决问题的过程中培养解决问题的能力,进一步巩固对知识的掌握。

对于教师而言,该部分是对课程效果的一个检测,可以及时了解学生学习情况,并了解不同学生掌握程度的差异,以便确定后续课程的进度及深度。

6)S(Summary)—总结

本阶段对本次课堂授课的主要内容进行总结。对于本例而言,总结定时器的使用方法和技巧。特别强调定时器定时范围的扩展方法。帮助学生反思整合所学知识,总结学习经验。并预告下次课程的学习内容。

最后结合所学知识布置课下拓展学习任务:设计交通灯控制系统。该任务帮助学生在课下巩固知识,避免遗忘学习内容。

4 结语

采用BOPPPS教学模型和LBD教学方法相结合的综合教学模式,将实验引入理论课堂,作为BOPPPS中的参与学习和后测环节,不仅可以实现“做中学”的教学效果,而且大大提高学生的参与度与积极性,从而极大地改善了课堂教学的效果。在教学实践中,从教学目标、教学行为到学习效果按照BOPPPS教学模型的指标和流程操作,使得学生在一堂课中,能够完成知识与技能、过程与方法、情感态度与价值观三维目标的整合,教师也能够在教学过程中及时了解教学效果,及时调整教学方法,致使教学效果显著。

[1] 林志贵,袁臣虎,李现国.单片机原理及接口技术课程教学改革新思路[J].南京:电气电子教学学报,2007,2(29):16-17.

[2] 陈晓端,Stephen Keith.当代西方有效教学研究的系统考察与启示[J].北京:比较教育研究,2005,8(5):56-57.

[3] 宋荣.基于BOPPPS教学模型的《阀门结构设计》课程教学改革研究[J].湖北:教育研究与实验,2013,8(4):12-15.

[4] 段敬红,王磊,段刚龙.嵌入式系统实验教学建设与实践体系的建立[J].南京:电气电子教学学报:2007,6(29):84-86.

[5] 陈桂友.单片微型计算机原理及接口技术[M].北京:高等教育出版社,2012.

[6] 陈桂友,陈海峰等.物联网智能网关设计与应用-STC单片机与网络通信技术[M].北京:北京航空航天大学出版社,2013.

猜你喜欢

寄存器中断计数
STM32和51单片机寄存器映射原理异同分析
古人计数
递归计数的六种方式
Lite寄存器模型的设计与实现
古代的计数方法
基于FPGA的中断控制器设计*
这样“计数”不恼人
跟踪导练(二)(5)
千里移防,卫勤保障不中断
FPGA内嵌PowerPC的中断响应分析