PIC24系列单片机定时器.ppt

PIC24系列单片机定时器.ppt

ID:50185304

大小:262.50 KB

页数:16页

时间:2020-03-06

PIC24系列单片机定时器.ppt_第1页
PIC24系列单片机定时器.ppt_第2页
PIC24系列单片机定时器.ppt_第3页
PIC24系列单片机定时器.ppt_第4页
PIC24系列单片机定时器.ppt_第5页
资源描述:

《PIC24系列单片机定时器.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、PIC24系列单片机定时器Timer1概述定时器/计数器是所有单片机都具备的功能模块,其核心部件是可编程的计数器。当计数器的输入信号为芯片内周期不变的时钟脉冲时(如指令周期Tcy,或Tcy的分频信号),其计数值代表的是时间,这时称之为定时器(Timer)。若输入信号为引脚上的随机脉冲,则其功能为计数器(Counter)。PIC24系列芯片配置了相当数量的定时器,大多数PIC24F芯片为5个16位的定时器定时器分类5个16位定时器在功能上稍有差异,分为三种类型:–A类型定时器:TIMER1低功耗32kHz振荡器作为时钟源工作外部

2、时钟源的异步模式下工作–B类型定时器:TIMER2/TIMER4,可与C类定时器形成32位定时器–C类型定时器:TIMER3/TIMER5在某个给定的MCU上,至少有一个C类型定时器能够触发A/D转换定时器模块基本功能结构图定时器模块寄存器PIC24系列的每个定时器模块都有3个16位可读/写的寄存器:TMRx、PRx和TxCON,x=1,2,…,为定时器的序号。TMRx:16位定时器寄存器,即工作寄存器(为“加”计数器)。PRx:该定时器的16位周期寄存器。TxCON:该定时器的16位控制寄存器。定时器中断控制寄存器每个

3、定时器模块还有与中断控制相关的位:•中断允许控制位(TxIE)•中断标志状态位(TxIF)•中断优先级控制位(TxIP<2:0>)PIC24F定时器模块与定时计数相关的引脚:–SOSCI/SOSCO辅助振荡器–T1CK:TIMER1外部时钟输入–T2CK:TIMER2外部时钟输入–T3CK:TIMER3外部时钟输入–T4CK:TIMER4外部时钟输入–T5CK:TIMER5外部时钟输入工作模式每个定时器模块均可工作在以下几种模式之一:–定时器–同步计数器–门控定时器:根据加在TxCK引脚上的高电平时间进行递增计数–异步计数器(

4、仅A类型定时器)工作模式由各定时器模块的控制寄存器TxCON(见pdf文档)中的相应位控制:TCS位(TxCON<1>):定时器时钟源控制位。TSYNC位(TxCON<2>):定时器同步控制位(仅A类Timer1有)。TGATE位(TxCON<6>):定时器门控控制位。TON位(TxCON<15>):使能或禁止每个定时器模块。Timer1初始化配置定时器控制寄存器T1CON:停止定时器、设置定时器的工作模式(同步控制位、门控位、时钟源)、预分频比等。清零定时器寄存器TMR1设置周期寄存器PR1设置定时器1的中断优先级I

5、PC0清零定时器1中断标志位使能定时器1中断开启定时器1定时器预分频器所有16位定时器的输入时钟(FOSC/2或外部时钟)都有1:1、1:8、1:64和1:256的预分频比选项。使用TCKPS<1:0>控制(TxCON<5:4>)选择时钟的预分频比。当发生以下情况中的任何一种时,预分频器计数器清零:–写TMRx寄存器–清零TON(TxCON<15>)–MCU复位定时器编程•TxIF位置1的条件–定时器的计数值与对应的周期寄存器相符,而且该定时器模块不工作在门控时间累加模式。–当定时器工作在门控时间累加模式下时,检测到“门控”信

6、号的下降沿。•工作方式–查询方式–中断方式中断工作方式•主程序初始化–定时器相关工作方式配置–中断的使能、优先级等配置•中断服务程序_ISR声明–定时器T1的中断向量名:_T1Interrupt–清零定时器1中断标志位:TxIF=0定时器模式(16位,非门控)若将控制寄存器TxCON中的TCS位(TxCON<1>)清“0”,则工作于定时器模式。所有类型的定时器都可以工作于定时器模式。在定时器模式下,定时器(确切地说是计数器,即TMRx)的输入时钟由内部系统时钟(Fosc/2)提供。因为使用系统时钟源作为定时器时钟,同步模式控制

7、位TSYNC(TxCON<2>)在该模式下不起作用。设指令周期为Tcy,预分频系数为N,周期寄存器PRx所赋值为X,则定时时间为:T定时=Tcy*N*(X+1)案例八路跑马灯#includeUnsignedcharLed=1;VoidInitializeTMR1(){TMR1=0;T1CON=0X0020;PR1=0X3D09;IFS0bits.T1IF=0;IPC0bits.T1IP=7;IEC0bits.T1IE=1;}viod_ISR_T1Interrupt(void){TMR1=0;IF

8、S0bits.T1IF=0;Led=Led<<1;If(Led==0x80)LED=1;}Intmain(){InitializeTMR1();TRISB=0X00;T1CONbits.TON=1;While(1){PORTB=~Led;}}本次课程结束,谢谢欣赏

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。