单片机技术与应用电子教案 3.双键控制LED灯.doc
PAGE
PAGE1
课时教案
课程:单片机技术与应用-基于CC2530的ZigBee技术开发与应用
课题
双键控制LED
课时
8
教学
目标
知识:
1.掌握按键SW2的电路状态及相关寄存器的设置。
2.理解按键SW2的中断初始化函数的设计流程。
3.掌握按键SW2中断服务函数的设计思想。
技能:
1.会分析按键SW2的电路,并会设置相关寄存器。
2.会设计编写按键SW2的中断初始化函数及中断服务函数。
3.会应用IAR软件编写、编译、链接、下载、调试程序,能够将CCDebugger仿真下载器的下载线连接到ZigBee实训模块与电脑,进行仿真演示。
素质:
1.具备绿色生产、环境保护、安全防护、质量管理等相关知识与技能。
2.在任务实施过程中具备创新能力。
重点
1.按键SW2的电路状态分析及其相关寄存器的配置
2.按键SW2中断服务函数的设计
难点
双键控制LED灯的程序设计
教法
做中教做中学任务驱动式
学法
学练结合自主探究
教具
试验
多媒体、PPT课件
教学过程
问题设计及知识点
师生互动设计
(问题与任务)
双键控制LED
【任务描述】
基于ZigBee模块做基础开发,采用中断的方式开发按键功能,当按下SW1键时,LED1亮,LED2灭;按下SW2键时,LED1灭,LED2亮。
【任务分析】
1.知识分析
实现双键控制LED,必须熟悉每个按键及LED端口相关寄存器,并会设置相关端口寄存器。
2.设备分析
实训任务选择ZigBee实训模块如下图2-3-1所示,会识读此实训模块电路图,明确此模块上SW1、SW2、LED1灯电路及其与CC2530单片机端口关系,理解按键电路的工作原理。
3.技能分析
要实现双键控制LED,必须会运用IAR软件进行编程,并能够编译、链接、调试程序;会利用CCDebugger仿真下载器,将仿真器的下载线连接到ZigBee实训模块与电脑,进行仿真演示。
【知识储备】
一、SW2的电路状态及相关寄存器的设置
1.按键SW1和SW2电路
ZigBee模块两个按键的电路及其与CC2530的端口关系
2.电路分析
1)初始状态,按键SW2未按下,端口P1_6、INT(P0_1)通过电阻R7(上拉电阻)与电源相连,端口P1_6、INT(P0_1)端口为高电平,端口P1_6、INT(P0_1)的输入模式为上拉模式。
2)当按键按下时,端口P1_6、INT(P0_1)端口直接与地相连,端口P1_6、INT(P0_1)端口为低电平。
所以当端口P1_6、INT(P0_1)由1变0时(下降沿触发),表示按键按下,产生中断请求。
3.与按键SW2端口相关寄存器及其设置
1)端口寄存器:P1、P0。
2)功能寄存器:P1SEL、P0SEL。
3)方向寄存器:P1DIR、P0DIR。
4)配置寄存器P1INP、P0INP、P2INP。
二、SW2中断初始化函数的设计流程
1.开总中断,设置总中断为1,即EA=1;或IEN0|=0x80;
2.开中断源,P1INT或P0INT,IEN2|=0x10;或IEN1|=0x20;
3.设置P1IEN或P0IEN的P1_6或P0_1位中断使能位为1。
P1IEN|=0x40;或P0IEN|=0x02;
4.在PICTL寄存器中设置P1或P0为下降沿触发。
PICTL|=0x04;或PICTL|=0x01;
三、SW2中断服务函数的设计流程
按键SW2的端口中断位有两个,P1_6和P0_1,其中断服务函数与按键SW1的中断服务函数设计流程一样。其基本格式如下:
#pragmavector=中断向量
__interruptvoid函数名称(void)
{
/*在这里编写中断处理函数的具体程序*/
}
1)如果使用P1_6作为按键SW2外部中断位,则:
#pragmavector=P1INT_VECTOR
__interruptvoidP1_ISR(void)
{
if(P1IFG0x40)//判断P1_6端口是否产生中断
{
……
}
P1IF=0x00;
P1IFG=~0x40;
}
2)如果使用P0_1作为按键SW2外部中断位,则:
#pragmavector=P0INT_VECTOR
__interruptvoidP0_ISR(void)
{
if(P0IFG0x02)//判断P0_1端口是否产生中断
{……}
P0IF=0x00;
P0IFG=~0x02;
}
【任务指导】
1.搭建开发环境
1)新建工作区,工作区名为:work2_2。
2)新建工程,工程名为:project2_2。
3