单片机技术与应用电子教案 3.控制LED交替闪烁.doc
PAGE
PAGE1
课时教案
课程:单片机技术与应用-基于CC2530的ZigBee技术开发与应用
课题
控制LED交替闪烁
课时
4
教学
目标
知识:
1.掌握延时函数的设计。
2.掌握程序设计的流程步骤。
技能:
1.会编写程序实现控制LED交替闪烁功能
2.会应用IAR软件编写、编译、链接、下载、调试程序,能够将CCDebugger仿真下载器的下载线连接到ZigBee实训模块与电脑,进行仿真演示。
素质:
1.实训过程中具备绿色、环保、低碳的意识,爱惜设备、节约资源、节约用电、环境整洁。
2.具备物联网行业职业道德准则和行为规范意识,具备社会责任感和担当精神。
重点
控制LED交替闪烁的程序设计流程
难点
控制LED交替闪烁程序设计
教法
做中教做中学任务驱动式
学法
自主探究
教具
试验
多媒体、PPT课件
教学过程
问题设计及知识点
师生互动设计
(问题与任务)
控制LED交替闪烁
任务描述:
将ZigBee模块与CCDebugger仿真器连接在一起,并分别连接到电脑,在IAR软件中新建工程和源文件,编译、链接、下载、调试程序,控制ZigBee模块上的LED1和LED2两个发光二极管交替闪烁。
任务分析:
1.知识分析
实现两个LED灯的交替闪烁,必须掌握两个灯的端口相关寄存器的设置,及两个灯交替闪烁时的时间间隔的程序设计。
2.设备分析
实训任务选择ZigBee实训模块,能够依据实训模块电路图,明确两个灯与CC2530单片机端口的关系。
3.技能分析
实现两个灯的交替闪烁,必须会运用IAR软件进行编程,并能够编译、链接、调试程序;会利用CCDebugger仿真下载器,将仿真器的下载线连接到ZigBee实训模块与电脑,进行仿真演示。
知识储备:
一、LED1、LED2端口相关寄存器及其设置
ZigBee实训模块电路LED灯与CC2530单片机端口的关系如图。
LED1、LED2端口相关寄存器有P1端口寄存器、P1SEL功能寄存器、及P1DIR方向寄存器。
二、延时函数
1.延时函数的设计
延时函数的设计可以利用C语言程序中的循环语句。C语言程序中关于循环语句有三类:while循环语句、do-while循环语句及for循环语句。在此,我们采用for循环语句。
2.for循环语句编写延时函数
当我们需要延时时,只需要调用此延时函数即可。以下是延时ims函数(假设单片机晶振频率为32MHz)。
voiddelay1ms(unsignedinti)
{
unsignedintj,k;
for(j=0;ji;j++)
{
for(k=0;k500;k++);
}
2.延时函数的调用
调用延时函数时,只需依据任务要求修改i的值即可。
如要延时1s,则调用延时函数如下:
delay1ms(1000);
三、任务指导
1.搭建开发环境
1)新建工作区,工作区名为:work1_2。
2)新建工程,工程名为:project1_2。
3)新建源程序文件,命名为test1_2.c。
4)将test1_2.c文件添加到project1_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//引用CC2530头文件
#defineLED1P1_0//P1_0端口控制LED1发光二极管
#defineLED2P1_1//P1_1端口控制LED2发光二极管
(2)设计延时函数
voiddelay(unsignedinti)
{
unsignedintj,k;
for(j=0;ji;j++)
{
for(k=0;k500;k++);
}
}
设计端口初始化函数init_gpio()
设计端口初始化函数init_gpio(),配置端口功能寄存器和方向寄存器。
voidinit_gpio()
{
P1SEL=~0x03;//设置P1_0、P1_1为GPIO
P1DIR|=0x03;//设置P1_0、P1_1端口方向为输出
LED1=0;//