好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

CC2530定时器1的原理与编程PPT课件.ppt

26页
  • 卖家[上传人]:大米
  • 文档编号:586568693
  • 上传时间:2024-09-05
  • 文档格式:PPT
  • 文档大小:793.50KB
  • / 26 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1单片机原理与应用2021/3/92021/3/9 2l大课大课((1))CC2530定时器:定时器:定时器定时器1、、定时器定时器2、、定时器定时器3、、定时器定时器4、、睡眠定时器睡眠定时器((2)定时器)定时器1的三种工作模式:的三种工作模式:自由运行自由运行、、模模模式、模式、正计数正计数/倒计数倒计数模式模式l小课小课((1))CC2530外部中断外部中断ü外部中断初始化:外部中断初始化:输入方式、清除中断标志位、合上开关;输入方式、清除中断标志位、合上开关;ü中断响应程序:中断响应程序:((2)串口通过标志位发送接收)串口通过标志位发送接收ü串口初始化:时钟、位置、方式、波特率、合开关等;串口初始化:时钟、位置、方式、波特率、合开关等;ü串口发送:等待、清标志位、发送;串口发送:等待、清标志位、发送;ü串口接收:等待、接收(硬件自动清标志位)串口接收:等待、接收(硬件自动清标志位)教学回顾教学回顾#pragma vector = 中断中断向量地址向量地址__interrupt void 中断函数名中断函数名 ( void){ 中断处理;中断处理;中断中断清除清除;; }2021/3/92021/3/9 3•1.定时器定时器1原理(难点)原理(难点);;•2.定时器定时器1编程(重点)编程(重点);;•3. PWMPWM原理原理本周教学主要内容2021/3/92021/3/9 4教学目标•理解理解CC2530 CC2530 定时器定时器1 1的原理;的原理;•掌握掌握CC2530 CC2530 定时器定时器1 1的编程方法的编程方法; ;•熟悉熟悉CC2530 CC2530 PWMPWM调节原理调节原理2021/3/92021/3/9 5一、一、定时器定时器1Ø自由运行模式自由运行模式Ø模计数器模式模计数器模式Ø正计数正计数/倒计数模式倒计数模式 2021/3/92021/3/9 6 +65535一、一、定时器定时器1——自由运行模式自由运行模式0 0 0 0 0 0 0 0T1CNTH0 0 0 0 0 0 0 0T1CNTL1 1 1 1 1 1 1 1T1CNTH1 1 1 1 1 1 1 1T1CNTL经历了经历了65535个时钟脉冲个时钟脉冲后变成后变成16个个1,如下:,如下:每经历一个时钟每经历一个时钟脉冲,数值加脉冲,数值加10 0 0 0 0 0 0 0T1CNTH0 0 0 0 0 0 0 0T1CNTL同时产生同时产生中断溢出标志位:中断溢出标志位:IRCON.T1IF和和T1STAT.OVFIF +1初始值:为初始值:为0T1CNTH和和T1CNTL里的值从里的值从16个个0逐渐增加再回到逐渐增加再回到16个个0,需要经过,需要经过65536个时钟脉冲个时钟脉冲2021/3/92021/3/9 7一、一、定时器定时器1当时钟脉冲设置当时钟脉冲设置为为32M,不分频不分频不分频不分频自由运行模式自由运行模式每次溢出时间间隔为:每次溢出时间间隔为:系统时钟源系统时钟源((32M或或16M))CLKCONCMD.OSC全局定时全局定时器分频器分频CLKCONCMD.TICKSPDT1再分频再分频T1CTL.DIV16位计数器位计数器T1CNTH、、1CNTL定时器定时器溢出溢出不分频不分频定时器溢出定时器溢出500次,就让灯状态取反:次,就让灯状态取反:灯每隔灯每隔1.024S亮一次,隔亮一次,隔1.024S灭一次灭一次每次溢出时间间隔为:每次溢出时间间隔为:2021/3/92021/3/9 8一、一、定时器定时器1——自由运行模式自由运行模式当时钟脉冲设置当时钟脉冲设置为为32M不分频不分频自由运行模式自由运行模式每次溢出时间间隔为:每次溢出时间间隔为:系统时钟源系统时钟源((32M或或16M))CLKCONCMD.OSC全局定时全局定时器分频器分频CLKCONCMD.TICKSPDT1再分频再分频T1CTL.DIV16位计数器位计数器T1CNTH、、T1CNTL定时器定时器溢出溢出8分频分频定时器溢出定时器溢出300次,就让灯状态取反:次,就让灯状态取反:灯每隔灯每隔4.9152S亮一次,隔亮一次,隔4.9152S灭一次灭一次 改变上面的时钟频率、全局定时分频、改变上面的时钟频率、全局定时分频、T1分频,就可以改变定时器溢出时间,分频,就可以改变定时器溢出时间,配合溢出次数,就可以随心所欲定时!配合溢出次数,就可以随心所欲定时!2021/3/92021/3/9 9带阴影的标志位带阴影的标志位会有硬件清除会有硬件清除T1T1溢出中断屏溢出中断屏蔽,复位为蔽,复位为1 1T1T1溢出溢出标志位标志位T1T1中断标志中断标志允许允许/ /禁止禁止T1T1中断中断EAEA中断优先级中断优先级T1T1的的5 5个通道个通道中断标志中断标志T1T1的的5 5个通道个通道中断屏蔽中断屏蔽#pragma vector = T1_VECTOR__interrupt void 中断函数名中断函数名 ( void){ 中断处理;中断处理; }中断初始化:中断初始化:设置时钟、定时器分频、设置时钟、定时器分频、运行方式、运行方式、EA、、T1IE一、一、定时器定时器12021/3/92021/3/9 10位位名称名称复位复位R/W描述描述7::4--00000R0保留保留3::2DIV[1:0]R/W 分频器划分值。

      产生主动的时钟边缘用来更分频器划分值产生主动的时钟边缘用来更新计数器,如下:新计数器,如下:00:标记频率:标记频率/1 01:标记频率:标记频率/810:标记频率:标记频率/32 11:标记频率:标记频率/1281::0MODE[1:0]R/W 选择定时器选择定时器1模式定时器操作模式通过下列模式定时器操作模式通过下列方式选择:方式选择:00:暂停运行:暂停运行01:自由运行,从:自由运行,从0x0000到到0xFFFF反复计数反复计数10:模,从:模,从0x0000到到T1CC0反复计数反复计数11:正计数:正计数/倒计数,从倒计数,从0x0000到到T1CC0反复反复计数且从计数且从T1CC0倒计数到倒计数到0x0000//用用T1来做实验来做实验128分频分频;自由运行模式自由运行模式T1CTL=((0x3<<2)|(0x1<<0);定时器定时器1的控制和状态的控制和状态寄存器寄存器T1CTL::2021/3/92021/3/9 11通过通过T1CNTH和和T1CNTL读取读取16位的计数器值位的计数器值,,当读取当读取T1CTL时,计数器高位字节被缓冲到时,计数器高位字节被缓冲到T1CNTH中,以便高位字节可中,以便高位字节可以从以从T1CTLH中读出。

      中读出T1CNTL必须总是在读取必须总是在读取T1CNTH之前首先之前首先读取 位位名称名称复位复位R/W描述描述7::0CNT[7:0]0x00R/W定时器计数器低字节包含定时器计数器低字节包含16位定时器计数器位定时器计数器低字节往该寄存器中写任何值,导致计数器低字节往该寄存器中写任何值,导致计数器被清除为被清除为0x0000,初始化所有通道的输出引脚初始化所有通道的输出引脚T1CNTL定时器定时器1计数器低位计数器低位位位名称名称复位复位R/W描述描述7::0CNT[15:8]0x00R/W定时器计数器高字节包含在读取定时器计数器高字节包含在读取T1CNTL的时的时候定时计数器缓存的高候定时计数器缓存的高16位字节位字节T1CNTH定时器定时器1计数器高位计数器高位一、一、定时器定时器12021/3/92021/3/9 12IRCON中断标志寄存器如下:中断标志寄存器如下:位位名称名称复位复位R/W描述描述7STIF0R/W睡眠定时器中断标志睡眠定时器中断标志 0:无中断未决:无中断未决 1:中断未决:中断未决6--0R/W必须写为必须写为0,写入,写入1总是使能中断源。

      总是使能中断源5P0IF0R/W端口端口0中断标志中断标志 0:无中断未决:无中断未决 1:中断未决:中断未决4T4IF0R/WH0定时器定时器4中断标志当定时器中断标志当定时器4中断发生时设为中断发生时设为1并且并且CPU指向中指向中断向量服务例程时清除断向量服务例程时清除 0:无中断未决:无中断未决 1:中断未决:中断未决3T3IF0R/WH0定时器定时器3中断标志当定时器中断标志当定时器3中断发生时设为中断发生时设为1并且并且CPU指向中指向中断向量服务例程时清除断向量服务例程时清除 0:无中断未决:无中断未决 1:中断未决:中断未决2T2IF0R/WH0定时器定时器2中断标志当定时器中断标志当定时器2中断发生时设为中断发生时设为1并且并且CPU指向中指向中断向量服务例程时清除断向量服务例程时清除 0:无中断未决:无中断未决 1:中断未决:中断未决1T1IF0R/WH0定时器定时器1中断标志当定时器中断标志当定时器1中断发生时设为中断发生时设为1并且并且CPU指向中指向中断向量服务例程时清除断向量服务例程时清除 0:无中断未决:无中断未决 1:中断未决:中断未决0DMAIF0R/WDMA完成中断标志完成中断标志 0:无中断未决:无中断未决 1:中断未决:中断未决无中断未决:无中断信号给无中断未决:无中断信号给CPU中断未决:有中断信号给中断未决:有中断信号给CPU一、一、定时器定时器12021/3/92021/3/9 13T1STAT定时器定时器1状态状态寄存器如下:寄存器如下:位位名称名称复位复位R/W描述描述7::6--00R0保留保留5OVFIF0R/W0定时器定时器1计数器溢出中断标志。

      计数器溢出中断标志当计数器在自由运行当计数器在自由运行或模计数器模式下达到最终计数值时设置,当在正或模计数器模式下达到最终计数值时设置,当在正/倒倒计数模式下达到零时倒计数写计数模式下达到零时倒计数写1没影响4CH4IF0R/W0定时器定时器1通道通道4中断标志当通道中断标志当通道4中断条件发生时设中断条件发生时设置写1没有影响没有影响3CH3IF0R/W0定时器定时器1通道通道3中断标志当通道中断标志当通道3中断条件发生时设中断条件发生时设置写1没有影响没有影响2CH2IF0R/W0定时器定时器1通道通道2中断标志当通道中断标志当通道2中断条件发生时设中断条件发生时设置写1没有影响没有影响1CH1IF0R/W0定时器定时器1通道通道1中断标志当通道中断标志当通道1中断条件发生时设中断条件发生时设置写1没有影响没有影响0CH0IF0R/W0定时器定时器1通道通道0中断标志当通道中断标志当通道0中断条件发生时设中断条件发生时设置写1没有影响没有影响一、一、定时器定时器12021/3/92021/3/9 14Ø模计数模式模计数模式::T1CC0L和和T1CC0H寄存器设置寄存器设置 T1CC0L 定时器定时器1通道通道0捕获捕获/比较值低位比较值低位位位名称名称复位复位R/W描述描述7::0T1CC0[7:0]0x00R/W定时器定时器1通道通道0捕获捕获/比较值,低位字节。

      写到比较值,低位字节写到该寄存器的数据被存储在一个缓存中,但是该寄存器的数据被存储在一个缓存中,但是不写入不写入T1CC0[7:0],之后与之后与T1CC0H一起写入一起写入生效生效T1CC0H 定时器定时器1通道通道0捕获捕获/比较值高位比较值高位位位名称名称复位复位R/W描述描述7::0T1CC0[15:8]0x00R/W定时器定时器1通道通道0捕获捕获/比较值,高位字节当比较值,高位字节当T1CCTL0.MODE=1(比较模式)时写(比较模式)时写0到该到该寄存器导致寄存器导致T1CC0[15:8]更新写入值延迟到更新写入值延迟到T1CNT=0x0000一、一、定时器定时器12021/3/92021/3/9 15定时器定时器1实例分析实例分析下述内容用于实现定时器下述内容用于实现定时器1溢出标志控制溢出标志控制LED亮灭亮灭1.定时器定时器1初始化初始化 void Initial(void){EA=1;;T1IE=1;;//用用T1来做实验来做实验 128分频分频;自动运行模式自动运行模式(0x0000->0xffff);T1CTL = 0x0d;}void InitClock(void){CLKCONCMD &= ~(1<<6); /*选择32MHz晶振*/while(!(SLEEPSTA & (1<<6))); /*等待晶振稳定*/ CLKCONCMD &= ~0x07; /* CLKSPD不分频*/ } 2.时钟时钟初始化初始化 2021/3/92021/3/9 16定时器定时器1实例分析实例分析3.LED初始化初始化 void Initled(void){//初始化初始化LED灯灯P1SEL&= ~(1<<0);// 定义定义P1_0为为普通普通IO P1DIR|= (1<<0); // 定义定义P1_0为输出为输出 LED1 = 1; }#include #define uint unsigned int#define uchar unsigned char#define LED1 P1_0uint counter=0;//统计溢出次数统计溢出次数4.头文件、宏定义头文件、宏定义2021/3/92021/3/9 17定时器定时器1void main(){ //调用初始化函数调用初始化函数void Initial(void);void InitClock(void);void Initled(void); while(1) ; }#pragma vector=T1_VECTOR//指定中断向量指定中断向量__interrupt void T1_ISR(void){IRCON=0X00;//清除中断标志,也可由硬清除中断标志,也可由硬//件自动完成件自动完成if(counter<300) counter++;else { counter=0; LED1 =!LED1 ; }}5.主函数、中断服务程序主函数、中断服务程序2021/3/92021/3/9 18二、二、定时器定时器3、定时器、定时器4编程编程系统时钟源系统时钟源((32M或或16M))CLKCONCMD.OSC全局定时全局定时器分频器分频CLKCONCMD.TICKSPDT3再分频再分频T3CTL.DIV8位计数器位计数器T3CNTT3溢出溢出当时钟脉冲设置当时钟脉冲设置为为32M,不分频不分频不分频不分频自由运行自由运行模式:模式:2568分频分频定时器溢出定时器溢出500次,就让灯状态取反:次,就让灯状态取反:每次溢出时间间隔为:每次溢出时间间隔为:2021/3/92021/3/9 191三、三、PWM数字调光的原理数字调光的原理在在P1_1上的信号如果按下面几种情况,上的信号如果按下面几种情况,D2亮度有什么不同呢?亮度有什么不同呢?10010(1)(2)(3)(4)上面上面4中情况,由暗到亮的顺序为:(中情况,由暗到亮的顺序为:(1)()(2)()(3)()(4)当加在)当加在P1_1管脚上的管脚上的信号的一个周期中,低电平所持续的时间占整个周期的时间越长,则发光二极管信号的一个周期中,低电平所持续的时间占整个周期的时间越长,则发光二极管越亮。

      由此可见,我们只需要改变占空比就可以调节越亮由此可见,我们只需要改变占空比就可以调节D2亮度我们一般把这种占亮度我们一般把这种占空比可以改变的数字信号叫做空比可以改变的数字信号叫做PWM((Pulse Width Modulation)波2、通过合适的配置,、通过合适的配置,CC2530的定时器的定时器1除了产生定时中断外,还可以在输出除了产生定时中断外,还可以在输出pwm波定时器波定时器1共有共有5路路pwm输出通道,具体如下:输出通道,具体如下:2021/3/92021/3/9 20三、三、PWM数字调光的原理数字调光的原理2、通过合适的配置,、通过合适的配置,CC2530的定时器的定时器1除了产生定时中断外,还可除了产生定时中断外,还可以在输出以在输出pwm波定时器波定时器1共有共有5路路pwm输出通道,具体如下:输出通道,具体如下:2021/3/92021/3/9 21三、三、PWM数字调光的原理数字调光的原理由上图可知,定时器由上图可知,定时器1的的PWM波的输出通道有两个位置:波的输出通道有两个位置:位置位置1::通道通道0、、1、、2、、3、、4的输出管脚为的输出管脚为P0_2,P0_3,P0_4,P0_5,P0_6;位置位置2::通道通道0、、1、、2、、3、、4的输出管脚为的输出管脚为P1_2,P1_1,P1_0,P0_7,P0_6; 发光二极管发光二极管D2所连接的所连接的IO口:口: P1_1,如果我们希望通过,如果我们希望通过P1_1对对D2进行数字调光,就必须让定时器进行数字调光,就必须让定时器1的某个通道的的某个通道的PWM输出位于输出位于P1_1,做到这一点,须进行如下设置:,做到这一点,须进行如下设置:((1)定时器)定时器1的的PWM输出位与输出位与LED灯是同一个引脚是灯是同一个引脚是P1_1,选择位置,选择位置2:: PERCFG|=1<<6;((2))IO口冲突时定时器口冲突时定时器1优先:优先:P2SEL|=1<<3;((3))P1_1为外部设备模式:为外部设备模式:P1SEL|=1<<1;2021/3/92021/3/9 22三、三、PWM数字调光的原理数字调光的原理上图为定时器上图为定时器1运行在正运行在正/倒计数模式下倒计数模式下PWM,在此种模式下,在此种模式下T1CC0(T1CC0H:T1CC0L)用做了定时计数值,所以通道用做了定时计数值,所以通道0不用做不用做PWM输出。

      输出PWM的周期的周期=((T1CC0+1))*2*1/计数脉冲的频率计数脉冲的频率PWM的占空比的占空比=((T1CC0-T1CCn))/[ T1CC0*2]2021/3/92021/3/9 23小结小结•1.CC2530 1.CC2530 定时器定时器1 1的原理;的原理;•2.CC2530 2.CC2530 定时器定时器1 1的编程方法的编程方法; ;•3.3.CC2530 CC2530 定时器定时器3 3的编程方法的编程方法; ;•4.CC2530 PWM4.CC2530 PWM调节原理调节原理2021/3/92021/3/9 24课后作业课后作业请总结体会CC2530定时器1编程的步骤;看懂书中P78、P81例题2021/3/92021/3/9 25预习内容预习内容•CC2530数据手册(中英版均可以)数据手册(中英版均可以)CC2530定时器原理与编程定时器原理与编程2021/3/92021/3/9 放映结束 感谢各位的批评指导! 谢谢 谢!谢!让我们共同进步2021/3/926 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.