文档详情

单片机技术与应用电子教案 3.定时器1模模式下控制LED闪烁.doc

发布:2024-10-25约3.68千字共6页下载文档
文本预览下载声明

PAGE

PAGE1

课时教案

课程:单片机技术与应用-基于CC2530的ZigBee技术开发与应用

课题

定时器1模模式下控制LED闪烁

课时

4

教学

目标

知识:

1.理解模模式的工作原理。

2.掌握模模式下相关寄存器的配置。

3.掌握模模式下T1初始化函数的设计方法。

4.掌握模模式下T1中断服务函数的设计方法。

技能:

1.会分析模模式的工作原理。

2.会设置模模式下相关寄存器。

3.会对模模式下T1定时器进行初始化。

4.能够依据任务要求设计模模式下定时/计数功能相关函数,将CCDebugger下载仿真器连接至电脑和实训设备,进行仿真演示。

素质:

1.在任务实施过程中,具备动手、动脑和勇于创新的意识。

2.在分析、解决问题过程中,具备团队协作意识。

重点

1.模模式下与T1相关寄存器的设置

2.模模式下T1初始化函数的设计

难点

1.模模式下T1中断服务函数的设计

教法

任务驱动式

学法

自主探究小组合作

教具

试验

多媒体、PPT课件

教学过程

问题设计及知识点

师生互动设计

(问题与任务)

定时器1自由运行模式下控制LED闪烁

【任务描述】

基于ZigBee模块做基础开发,利用定时功能实现每隔1sLED1闪烁1次。定时时间要求使用定时器1,32MHz时钟频率,工作模式为模模式,32分频,要求每50ms产生一次溢出中断。

【任务分析】

1.知识分析

实现模模式下定时器1控制LED闪烁,理解模模式的工作原理,熟知模模式工作模式下与T1定时器相关寄存器的设置。

2.设备分析

定时器/计数器是CC2530单片机内部主要结构之一,实训任务选择ZigBee实训模块,会识读此实训模块电路图,理解此模块定时器/计数器工作原理。

3.技能分析

实现定时器1模模式下控制LED闪烁,必须清晰模模式下溢出次数的计算方法,熟练运用IAR软件进行模模式下定时/计数功能相关函数的编程,并能编译、链接、调试程序,会利用CCDebugger仿真下载器,将仿真器的下载线连接到ZigBee实训模块与电脑,进行仿真演示。

【知识储备】

一、模模式的工作原理

模模式下,计数器从0x0000开始计数,定时器T1每个分频后的时钟边沿增加1,即每s(CC2530单片机时钟频率是32MHz)增加1,当计数器达到寄存器T1CC0中值(16位寄存器,由T1CC0H和T1CC0L组合)时溢出,计数器重新载入0x0000,继续递增。当计数达到最大计数值寄存器T1CC0中值时,IRCON.T1IF和T1STAT.OVFIF两个标志位被置1,若设置相应的中断使能位T1MIF.OVFIM和IEN1.T1IE,将产生中断请求。定时器1共有5对T1CCxH和T1CCxL寄存器,分别对应通道0到通道4。定时器1的定时功能使用T1CC0H和T1CC0L两个寄存器,存放最大计数值的高8位和低8位。

注意:

1)如果定时器1的计数器开始于T1CC0以上的一个值,当达到最终计数值(0XFFFF)时,上述相应标志位被置1。

2)模模式用于周期不是0XFFFF的场合。

二、模模式下与T1定时器相关寄存器及设置

根据模模式的工作原理可知判断是否产生溢出,需要将计数值不断与寄存器T1CC0中的值进行比较。所以模模式下与T1相关寄存器有:

T1CCTL0:定时器1通道0捕获/比较控制寄存器

T1CC0H:定时器1通道0捕获/比较值高位

T1CC0L:定时器1通道0捕获/比较值低位

T1STAT:定时器1状态寄存器

T1CTL:定时器1控制寄存器。

TIMIF:定时器1/3/4中断屏蔽/标志

【任务指导】

1.搭建开发环境

1)新建工作区,工作区名为:work3_2。

2)新建工程,工程名为:project3_2。

3)新建源程序文件,命名为test3_2.c。

4)将test3_2.c文件添加到project3_2工程中。

5)按键CTRL+S保存工作区。

6)配置工程选项,“Project”-“Options”-“GeneralOptions”,“Device”-“TexasInstruments”-“CC2530F256”。

7)配置linker,勾选Overridedefault

8)配置Debugger,“Debugger”-“Setup”-“Driver”-“TexasInstruments”。

2.在编辑窗口设计程序

(1)准备工作

引入CC2530必要的头文件“iocc2530.h”,定义相关变量等。

#includeiocc2530.h

#defineLED1P1_0

unsignedcharcount;

(2)

显示全部
相似文档