任务驱动教学法在《CC2530单片机》课程教学中的应用

2019-03-29 05:06
关键词:寄存器中断按键

李 侠

(安徽电子信息职业技术学院,安徽 蚌埠 233000)

关键字:物联网; CC2530单片机;任务驱动教学法

一、引言

物联网是通信网和互联网的拓展应用和网络延伸,它利用感知技术与智能装置对物理世界进行感知识别,通过网络传输互联,进行计算、处理和知识挖掘,实现人与物、物与物信息交互和无缝链接,达到对物理世界实时控制、精确管理和科学决策目的。CC2530是德州仪器(TI)公司推出的用于2.4GHz IEEE802.15.4Zigbee应用的一个真正的片上系统解决方案,它能够以非常低的成本建立强大的网络节点,广泛应用于物联网,包括智能家居、工业控制、照明系统、消费电子及医疗保健等领域。在高职院校的物联网专业课程中,《CC2530单片机》是一门重要的专业核心课程,主要内容包括单片机基础知识、BasicRF通讯、Z-Stack协议栈等。开设这门课程,多是依托新大陆公司的开发板,使用的教材中的实验也多是引用新大陆公司推出的《物联网无线传感网实训教程》中的相关实验,包括基础实验、BasicRF无线通讯实验和Z-Stack组网实验三大部分。在CC2530的基础实验中,包含了CC2530单片机并口知识、按键使用、外部中断、定时器、串口通信等。这些实验中所用到的知识点较多、实验任务复杂,需要将用到的多个寄存器逐个配置,并需严格配置工程运行环境。传统的教学方法往往是教师先讲授知识点、演绎,再让学生通过做实验以验证所学知识点。而在讲解这些知识时,教师更多的是按照书本上的安排,以分立的实验来运用这些知识点。导致初学的学生会在不相关联的实验和新的知识点之间产生迷茫,失去学习兴趣。建构主义提出:只有当一个人已有的知识无法解决他所面临的问题时,真正的学习才会发生。根据建构主义的思想,近几年任务驱动教学法应运而生。

二、任务驱动教学法

(一)什么是任务驱动教学法

任务驱动教学法实际上就是将理论与实际相结合,运用启发的方式进行教学,将理论教学与实践教学整合为一元结构。对比传统教学方法,任务驱动教学的核心是围绕“做”这个中心,将教师的“教”与学生的“学”融为一体,将知识传授与技能训练融为一体,将学习过程与模仿工作过程、实际工作过程融为一体。任务驱动式教学是将任务布置给学生,让学生在完成任务的同时去学习与掌握理论知识,完成任务也是对理论知识的验证,将“强迫式、被动式”学习转变为“个性式、主动式”学习。

(二)任务驱动教学法在CC2530单片机课程中的具体应用

下面我们就以一个具体的任务来说明任务驱动教学法在CC2530单片机课程中的应用:用CC2530控制一个LED灯的闪烁。教学目的是使学生掌握并口、寄存器、按键、中断、定时器等知识,并学习借助互联网及书本独立解决问题的技能。在教学中我将这个大任务又分成了由易到难的四个子任务,具体如下:

1.子任务一:通过并口的高低电平变化控制LED灯的闪烁。

任务的操作过程:

(1)开发板电路分析,通过分析电路可知对LED控制的引脚为P1.0。

(2)利用IAR集成开发环境建立工程、编辑源程序、配置工程环境、编译工程。

(3)将程序下载至开发板、根据现象调试工程。

源代码(部分)如下:

通过该实验,使学生掌握CC2530总共有21个数字I/O引脚,这21个I/O 可配置为通用I/O端口(GPIO),可通过编程将I/O端口设置为输出方式或输入方式。并学习了与I/O口相关的寄存器(SFG),如Px:端口数据寄存器(x=0、1、2)、PxSEL:端口功能选择寄存器(x=0、1、2)以及PxDIR:端口方向寄存器(x=0、1、2)。

2.子任务二:通过查询按键状态实现LED灯的闪烁。

任务的操作过程:

(1)开发板电路分析,通过分析电路可知对LED控制的引脚为P1.0,按键所接引脚为P1.2。

(2)利用IAR集成开发环境建立工程、编辑源程序、配置工程环境、编译工程。

(3)将程序下载至开发板、根据现象调试工程。

源代码(部分)如下:

通过本任务的完成,使学生掌握了如何将I/O端口配置为输入端口以及如何配置输入模式,通过判断按键状态和按键消抖,实现了用按键控制LED灯闪烁,完成了既定任务。

3.子任务三:用按键的外部中断控制LED灯的闪烁。

任务的操作过程:

(1)分析查询按键状态实现LED灯闪烁存在的问题——消耗CPU资源,不能实现实时控制,引出外部中断。

(2)学生通过查阅资料利用按键的外部中断方式实现LED灯的闪烁。

(3)对学生遇到的问题进行分析,并总结中断用到的寄存器、中断向量、中断优先级、中断服务程序等知识。

源代码(部分)如下:

通过本次任务的完成,使学生理解了中断、中断源、中断嵌套、中断优先级等概念,理解了中断处理的过程,掌握了中断处理函数的编写。并通过与查询按键状态控制LED闪烁的工程相比较,使学生理解了通过中断能够将CPU解放出来,并能够实现实时控制。

4.子任务四:通过定时器实现LED灯的闪烁。

任务的操作过程:

(1)在LED的闪烁中,如何实现LED亮和灭的时间长度固定,引出定时器。

(2)学生通过查阅资料利用定时器方式实现LED灯的闪烁。

(3)对学生遇到的问题进行分析,并总结定时器、定时器初始化、定时器工作模式、定时器中断服务函数等知识。

源代码(部分)如下:

定时/计数器是CC2530的重要资源之一,定时/计数器的基本功能是实现定时和计数,整个工作过程中不需要CPU进行过多参与,节省了CPU资源并能够实现周期性运行。CC2530的定时器比51单片机的定时器功能更多。通过该任务的完成,使学生掌握了定时/计数器概念、作用和工作原理,与定时器/计数器相关的寄存器配置。

三、多个子任务的对比分析

上述的四个子任务均实现了利用CC2530控制LED的闪烁,对比如表1所示。子任务一通过电平的高平变换和延时实现LED的闪烁,使学生掌握了GPIO的设置。子任务二通过查询按键是否被按下实现LED的闪烁,使学生学会对按键的操作。子任务三是对子任务二的改进,由于查询的方式会消耗CPU资源,从而引入中断及其相关操作。子任务四通过定时器实现了LED在固定周期内闪烁,使学生进一步学习了由定时器引发的中断操作。通过四个实现相同效果的子任务,使学生牢固掌握了所涉及的知识点,并通过做出对比掌握每个子任务运用的知识点的优劣,从而为将来设计电路做好准备。

表1 四个子任务对比分析

四、结论

通过任务驱动的教学法在《CC2530单片机》课程中的应用,使学生成为教学中的主体,还学习的主动权给学生。当学生因遇到问题使任务没有顺利完成时,迫切希望能够得到老师的指导或查阅资料解决问题。任务驱动教学法具有以下优势:①使学生能够明确学习目标,并提高学习兴趣。②能够将分散的知识点与实际工程相结合,更加深入理解知识点的作用及对知识点的运用。③培养了学生独立解决问题的能力,提高学习效果。④实现了师生间的良性互动,激发了学生的学习热情。⑤能够为学生将来走上工作岗位做好零阻力的对接。

猜你喜欢
寄存器中断按键
STM32和51单片机寄存器映射原理异同分析
基于有限状态机的按键检测程序设计
Lite寄存器模型的设计与实现
基于FPGA的中断控制器设计*
Linux中断线程化分析及中断延时测试
按键消抖在单片机和FPGA实验教学中的应用
移位寄存器及算术运算应用
跟踪导练(二)(5)
千里移防,卫勤保障不中断
一种多方向导光按键结构设计