CC2530定时器设置以及应用

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
必须为0
端口0
定时器4
定时器3
定时器2
定时器1
DMA完成
2)修改程序实现4个LED指示灯的流水灯控制,延时时间为1秒。
将P1口状态用数组存放,采用循环结构引用数组。
任务二、中断法程序设计
与定时器中断相关的寄存器
IEN1:中断使能1,0为中断禁止,1为中断使能
D7
D6
D5
D4
D3
D2
D1
D0
未用
未用
端口0
定时器的应用
一、教学目标
1、熟悉定时器相关寄存器的功能
2、能对程序进行改写以实现不同时间的定时操作
二、教学重点
定时器T1寄存器设置
通过变量累计定时溢出调整定时时间的方法
三、教学难点
定时器以及定时中断寄存器的设置
四、教学方法
案例法、对比法
五、教学过程
[引入]定时器也是CC2530的重要资源之一,CC2530的定时器比51单片机的定时器功能更多,本次课通过阅读、修改程序以及相关寄存器的学习,使大家能基本应用定时器完成不同定时时间的程序设计。
00:暂停运行
01:自由运行,反复从0x0000到0xffff计数
10:模计数,从0x000到T1CC0反复计数
11:正计数/倒计数,从0x0000到T1CC0反复计数并且从T1CC0倒计数到0x0000
IRCON:中断标志4,;0为无中断请求。1为有中断请求。
D7
D6
D5
D4
D3
D2
D1
D0
睡眠定时器
IEN1 |=0X02; //定时器1中断使能
EA=1; //开总中断
CLKCONCMD &= 0x80; //时钟速度设置为32MHz
}
2)中断服务子程序设计
请同学们将任务一的程序调整为中断服务子程序
#pragma vector = T1_VECTOR //中断服务子程序
__interrupt void T1_ISR(void)
{


}
注意:中断标志需要软件清除,T1的中断标志位为T1IF
六、小结
本次课通过两个案例,分别采用查询法和中断法对定时器1进行程序设计,为后面的串口操作打下了基础。
七、作业
请同学们结合按键控制LED和定时器操作完成程序设计,按下按键,LED灯以1秒的时间间隔依次点亮
定时器初始化
定时中断初始化
void init(void)
{ P1SEL &= ~0x03; //设置LED1、LED2为普通IO口
P1DIR |= 0x003 ; //设置LED1、LED2为输出
LED1 = 0;
LED2 = 1;//灭LED
T1CTL = 0x05; // T1通道0,8分频;自动重载模式(0x0000->0xffff);
定时Байду номын сангаас4
定时器3
定时器2
定时器1
DMA传输
IEN0:中断使能0,0为中断禁止,1为中断使能
D7
D6
D5
D4
D3
D2
D1
D0
总中断EA
未用
睡眠定时器中断
AES加密/解密中断
USART1 RX中断
USART0 RX中断
ADC中断
RF TX/RF FIFO中断
1)修改查询法代码的初始化程序使其为中断控制法
定时器程序设计方法也分为查询法和中断法。
任务一、查询法程序设计
1)结合以下寄存器的功能介绍阅读程序,分析程序的功能,并分析定时时间
T1CTL:定时器1的控制,D1D0控制运行模式,D3D2设置分频划分值
D7
D6
D5
D4
D3D2
D1D0
未用
未用
未用
未用
00:不分频
01:8分频
10:32分频
11:128分频
相关文档
最新文档