《物联网系统设计与应用开发》课件3-3 任务3 定时器_第1页
《物联网系统设计与应用开发》课件3-3 任务3 定时器_第2页
《物联网系统设计与应用开发》课件3-3 任务3 定时器_第3页
《物联网系统设计与应用开发》课件3-3 任务3 定时器_第4页
《物联网系统设计与应用开发》课件3-3 任务3 定时器_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

定时/计数器概述01

任务:T1控制LED闪烁(自由模式)02目录问题引入我们生活中经常用到各种定时器,比如微波炉、烤箱、定时器、计时器。。。等等。

使用单片机的定时/计数器才能达到较为精准的时间控制。什么是定时/计数器什么是定时/计数器?定时/计数器是单片机中的一个硬件电路,能够对时钟信号或外部输入信号进行计数,当计数值达到最大值或设定值时便向CPU提出中断请求,从而实现定时或计数功能的外设。在单片机中,一般使用T(Timer)表示定时计数器。

定时/计数器工作原理定时/计数器定时/计数器的核心就是一个计数器定时/计数器整个工作过程中不需要CPU进行过多参与,它的出现将CPU从相关任务中解放出来,提高了CPU的使用效率。CPU与定时/计数器之间的交互关系定时/计数器与CPU的交互软件延时函数:CPU通过执行循环指令来消耗时间,降低CPU的效率;同时延时不精确。CC2530单片机CC2530共有4个定时器:T1、T2

、T3和T4

,用于定时和计数。CC2630定时/计数器(1)自由运行模式计数器从0x0000开始计数,每个活动时钟边沿增加1。当计数达到0xFFFF时,CPU将产生一个中断请求。当达到最终计数值达到0xFFFF时,CPU将0x0000重新装载到计数器中,计数器继续进行累加。定时器工作模式自由运行模式:当计数到最大值65536时,产生溢出中断。(2)模模式模模式产生溢出的条件:是计数器累加的计数值与寄存器T1CC0中保存的值相等,此时产生溢出,CPU产生中断请求。模模式可以用于周期不是0xFFFF的应用程序。

定时器工作模式模模式:当计数到设定的最大值(T1CC0寄存器中的值)时,产生比较中断。(3)正计数/倒计数模式正计数/倒计数模式产生溢出的条件是计数器累加到的计数数值与寄存器T1CC0中保存的值相等,产生溢出,再反向累减到计数器的数值为0,再次增大到最大值溢出。该模式也可以产生中断请求。比较三种模式可以看出:自由运行模式的溢出值为0xFFFF不可变;其他两种模式可以通过T1CC0赋值,以精确控制定时器的溢出值。定时器工作模式定时器功能如下:5个捕获/比较通道,每个通道使用一个I/O引脚(P0.2~P0.6)三种工作模式:自由运行、模模式或正计数/倒计数模式具有可被1,8,32或128整除的时钟分频器,可实现将系统时钟频率分频。在每个捕获/比较和最终计数上生成中断请求定时/计数器功能定时器定时时间由以下公式可以计数得出。定时时间例如:默认CC2530晶振频率为16MHz,如果分频为128分频则T1自由运行模式下:一次中断时间为定时器定时时间由以下公式可以计数得出。定时时间例如:默认CC2530晶振频率为16MHz,如果分频为128分频则T1模模式下:一次中断时间为/********T1初始化函数*****/voidInitT1(void){T1CTL|=0X0d;//128分频,自由运行模式T1IE=1;//开T1中断EA=1;//开总中断}T1CTLIEN1EA??定时/计数器相关寄存器T1控制寄存器:中断使能寄存器:T1(自由模式)设置流程【设计注意】:定时器1的模模式,需要开启其通道0的输出比较模式voidTimerInit(void){T1CTL=0x0E;//设置定时器T1,128分频,模模式,从0计数到T1CC0T1CC0L=62500%256;//装入定时器初值(比较值)

T1CC0H=62500/256;T1CCTL0|=0x04;//设置捕获比较通道0为比较模式,用以触发中断

T1IE=1;//使能Timer1中断

EA=1;//开启总中断}T1CTLT1CC0HT1CC0LIEN1EA???定时/计数器相关寄存器T1控制寄存器:最大值寄存器:中断使能寄存器:T1(模模式)设置流程【注意】:定时器1的模模式,需要开启其通道0的输出比较模式位位名称复位值操作描述7:4--0000R0未使用。3:2DIV[1:0]00R/W定时器1时钟分频设置。00:1分频。01:8分频。10:32分频。11:128分频。1:0MODE[1:0]00R/W定时器1工作模式设置。00:暂停运行。01:自由运行模式。10:模模式。11:正计数/倒计数模式。T1CTL:T1控制寄存器T1定时器相关寄存器位位名称复位值操作描述7:0T1CC0[15:8]0x00R/W定时器1通道0捕获/比较值的高位字节。T1CC0H寄存器位位名称复位值操作描述7:0T1CC0[7:0]0x00R/W定时器1通道0捕获/比较值的低位字节。T1CC0L寄存器T1定时器相关寄存器位位名称复位值操作描述7:6-00R0不使用,读出来是05POIE0R/W端口0中断使能0:

中断禁止1:

中断使能4T4IE0R/W定时器4中断使能0:

中断禁止1:

中断使能3T3IE0R/W定时器3中断使能0:

中断禁止1:

中断使能2T2IE0R/W定时器2中断使能0:

中断禁止1:

中断使能1T1IE0R/W定时器1中断使能0:

中断禁止1:

中断使能0DMAIE0R/WDMA传输中断使能0:

中断禁止1:

中断使能IEN1(0xB8

-中断使能1T1定时器相关寄存器T1IE=1;(或IEN1|=0x02;)使能T1:使能T1:位位名称复位值操作描述7:6--00R0未使用。5OVFIF0R/W0定时器1计数器溢出中断标志。4:0CHxIF0R/W0定时器1通道4到通道0的中断标志。T1STAT寄存器T1定时器相关寄存器IRCON–定时器1中断标志作用描述定时器1中断标志当定时器1中断发生时设为1并且当CPU向量指向中断服务例程时清除。0:无中断未决1:中断未决T1定时器相关寄存器定时器1中断服务函数定时器1中断服务函数#pragmavector=T1_VECTOR__interruptvoidT1_ISR(void){IRCON=0x00;//清中断标志,也可由硬件自动完成count++;if(count>1)//2次中断后LED取反,闪烁一轮(1秒时间)

{count=0;//计数清零LED1=~LED1;

}}本任务功能:T1通过中断方式控制LED1周期性闪烁。重点:配置T1,设置成自由运行模式,定时时间为1s,控制LED闪烁效果。任务2:T1控制LED灯闪烁_以中断方式源码分析/*main函数*/voidmain(void){InitLed(); //设置LED灯相应的IO口

InitT1();//设置T3相应的寄存器

while(1){};}主函数主要实现了以下功能。(1)初始化LED1函数InitLed()。(2)初始化定时器1函数InitT1():选择128分频自由模式,并将定时器1中断使能。(3)在主函数中使用while(1)等待中断即可。源码分析/*定时器T1初始化*/voidInitT1(){T1CTL=0x0d;//128分频,自动重装0x0000-0xFFFFT1STAT=0x21;//通道0,中断有效

T1IE=1;//定时器1中断使能

EA=1;//开总中断}定时器1的初始化,可以精确控制LED1闪烁时间间隔。源码分析/*中断服务子程序*/#pragmavector=T1_VECTOR__interruptvoidT1_ISR(void){IRCON=0x00;//清中断标志,也可由硬件自动完成

if(count++>1)//1次中断后LED取反,闪烁一轮(约为0.5秒时间)

{count=0;//计数清零

LED1=~LED1;//改变LED1的状态

}}定时器T1中断服务程序,该程序实现了LED1翻转的操作。注意:系统在不配置工作频率是默认为2分频,即32M/2=16M,所以定时器每次溢出时间T=1/(16M/128)*65536=0.524s。(1)编写程序并编译,正确连接CC2530开发板与仿真器,选择“Project→Downloadanddebug”将程序下载到CC2530开发板中。(2)下载完后可以单击“Debug→Go”全速运行,也可以将CC2530重新上电或者按下复位按钮让刚才下载的程序重新运行。(3)观察LED的闪烁情况,可以改变LED灯的闪烁间隔时间。操作步骤感谢观看THANKYOUPleasereplacetext,clickaddrelevantheadline,modifythetextcontent,alsocancopyyourcon

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论