第九章定时器资源及其应用解析.ppt
《第九章定时器资源及其应用解析.ppt》由会员分享,可在线阅读,更多相关《第九章定时器资源及其应用解析.ppt(120页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第九章 定时器资源及其应用概述n控制系统中常用到实时钟以实现:n定时n延时n外部事件计数n外部突发事件捕捉nPWM波形产生n几乎所有单片机内部都有定时器单元nM16有三个独立定时器T0、T1和T2概述n定时器实质上是一个脉冲计数电路n脉冲源来自内部时钟则被称为定时器n脉冲源来自外部引脚输入信号则被称为计数器概述Tn计数单元波形发生OC0TOV0OCF0分频器CLK9-1 8位定时器T0nT/C0 是一个通用的单通道8 位定时器/计数器模块。其主要特点如下:n单通道8位计数器n比较匹配发生时清除定时器(自动重装特性,Auto Reload)n无输出抖动,相位精确可调的PWM输出n频率发生器n外部
2、事件计数器n10 位的时钟预分频器(1、8、64、256、1024)n溢出和比较匹配中断源(TOV0 和 OCF0)9-1 8位定时器T09-1-1 T0的时钟源及预分频器nT0工作在定时方式下,时钟源来自芯片内部系统时钟10位预分频器,通过设置T0控制寄存器TCCR0中的时钟选择位CS02:0,即可选择不同的分频因子。nT0工作在计数方式下,由T0 引脚提供的外部时钟源可以用作T0 时钟。9-1-2 T0运行n通过设置时钟选择位CS02:0,选择T0时钟源n根据T0的工作模式,T0的计数单元在每个T0时钟到来时,做指定的加一或减一操作n当TCNT0上溢出时将产生溢出中断,当与比较匹配单元OC
3、R0值相等时,将产生比较匹配中断n设置时钟选择位CS02:0=0时,T0停止计数9-1-3 T0的计数单元ncount 使TCNT0 加 1 或减1ndirection 选择加操作或减操作nclear 清除TCNT0nclkTn T/C 的时钟,clkT0 ntop 表示TCNT0 已经达到了最大值nbottom 表示TCNT0 已经达到了最小值(0)9-1-3 T0的计数单元nTCNT0中存放计数值,逻辑控制在每个T0时钟修改TCNT0中的数值nMCU可以在任意时间访问TCNT0,并可修改其数值,写入的值立即覆盖原有内容,并会影响T0的运行nT0计数时序取决于TCCR0中的WGM1:0的设置
4、。nT0计数溢出时,置溢出中断标志TOV09-1-3 T0的计数单元9-1-4 T0的比较匹配单元n8位比较器持续对TCNT0和输出比较寄存器OCR0进行比较。n一旦TCNT0等于OCR0,比较器就给出匹配信号。n在匹配发生的下一个定时器时钟周期输出比较标志OCF0 置位。n若此时OCIE0=1 且SREG 的全局中断标志I 置位,CPU 将产生输出比较中断。n执行中断服务程序时OCF0 自动清零,或者通过软件写”1”的方式来清零nWGM01:0和COM01:0决定OC0引脚上输出不同波形9-1-4 T0的比较匹配单元9-1-4 T0的比较匹配单元n比较输出寄存器OCR0配备了一个辅助缓存,以
5、防产生奇边非对称的PWM波形n无需关心MCU如何管理此辅助缓存nMCU 对TCNT0 的写操作会屏蔽在下一个定时器时钟周期发生的比较匹配事件9-1-5 T0的比较匹配的输出单元nTCCR0中的COM1:0用于设置比较匹配模式n波形发生器利用COM01:0 来确定下一次比较匹配发生时的输出比较状态(OC0)nCOM01:0 还控制OC0 引脚输出信号的来源。n若COM01:0=0则OC0寄存器不会影响OC引脚状态nOC引脚输出OC0寄存器的值必须设置OC引脚DDRx为输出9-1-5 T0的比较匹配的输出单元9-1-6 T0的工作方式nT0可以工作在一下四种方式中n方式0:普通模式(WGM01:0
6、=0)n方式2:比较匹配清零计数器CTC模式(WGM01:0=2)n方式3:快速PWM模式(WGM01:0=3)n方式1:相位可调PWM模式(WGM01:0=1)nOC0输出模式由COM1:0的设置和工作方式决定9-1-6-1 T0的工作方式0:普通模式nWGM01:0=0时,T0工作在普通模式nT0为单向加一计数器,直到TCNT0值到达0 xFF,下个计数脉冲到来时,由于数值溢出计数器简单地返回到最小值0 x00 重新开始n在TCNT0 溢出时,置溢出标志位TOV0n用户可以随时通过写入TCNT0初值调整计数器溢出时间间隔n输出比较单元可以用来产生中断,但是不推荐在普通模式下利用输出比较来产
7、生波形,因为这会占用太多的CPU 时间。n用于普通定时9-1-6-1 T0的工作方式0:普通模式n要求:8M外部晶振,定时100usn每个系统时钟周期1/8usnT0时钟采用8分频,一个T0时钟周期1usn100个T0时钟周期后产生溢出中断nTCNT0值 256-100=156 0 x9CnTCCR0的值?9-1-6-1 T0的工作方式0:普通模式nTCCR0中的WGM00和WGM01为00时即为普通模式nCOM01和COM00为00时不影响OC0nCS02、CS01和CS00为?9-1-6-1 T0的工作方式0:普通模式nCS02、CS01和CS00为 0109-1-6-1 T0的工作方式0
8、:普通模式 0 0 0 0 0 0 1 0 TCCR0=0 x029-1-6-1 T0的工作方式0:普通模式n定时器中断屏蔽寄存器TIMSKn允许溢出中断 TOIE0为1nTIMSK|=0 x019-1-6-1 T0的工作方式0:普通模式nT0初始化void timer0_init(void)TCCR0=0 x00;/stop TCNT0=0 x9C;/set count TCCR0=0 x02;/start timer TIMSK|=0 x01;/timer interrupt sources SEI();/re-enable interrupts9-1-6-1 T0的工作方式0:普通模式n
9、T0溢出中断服务程序#pragma interrupt_handler timer0_ovf_isr:iv_TIMER0_OVFvoid timer0_ovf_isr(void)TCNT0=0 x9C;/reload counter value 9-1-6-1 T0的工作方式0:普通模式nT0一次溢出中断最长定时为?n与系统时钟有关,时钟频率越低,定时越长n与分频因子有关,1024分频定时最长n与TCNT0初值有关,TCNT0为0时定时最长nT0定时公式:nT:定时时长 N:分频因子 fclk_I/O:系统频率9-1-6-1 T0的工作方式0:普通模式n实验题目n动态7段数码管定时扫描nT0定
10、时2mS,每次扫描一位n通过全局变量控制位选n数字时钟n7段数码管显示时间n时分秒可调n可定闹钟多个n可设置懒人模式9-1-6-2 T0的工作方式2:CTC模式nWGM01:0=2时,T0工作在CTC模式nT0为单向加一计数器,一旦TCNT0的值于OCR0值相等(即匹配),就将TCNT0清零,然后继续单向加一。n比较匹配时,置位比较匹配标志OCF0,用于申请中断。n用户可以在中断中修改OCR0的值。nOCR0定义了计数器的TOP值(上边界),即计数器的分辨率。n用于频率发生9-1-6-2 T0的工作方式2:CTC模式9-1-6-2 T0的工作方式2:CTC模式nT0在计数时钟频率较高时,写入O
11、CR0的值与0 x00(BOTTOM)接近时,可能会丢失一次匹配。n写入OCR0 的值小于当前TCNT0 的值时,计数器将丢失一次匹配。n在下一次比较匹配发生之前,计数器累加到0 xFF,再从0 x00 开始计数到OCR0。nTCNT0溢出时,产生溢出中断。9-1-6-2 T0的工作方式2:CTC模式n在CTC模式下,设置TCCR0中的COM11:01可以在OC0引脚上输出不同频率的波形n波形频率通过OCR0调整9-1-6-2 T0的工作方式2:CTC模式nOC0引脚方波频率9-1-6-2 T0的工作方式2:CTC模式n8Mhz晶振产生1K方波n64分频 OCR0=0 x7D 0 0 0 1
12、1 0 1 1 TCCR0=0 x1B 9-1-6-2 T0的工作方式2:CTC模式nT0 初始化void timer0_init(void)TCCR0=0 x00;/stop TCNT0=0 x00;/set count OCR0 =0 x7D;/set compare TCCR0=0 x1B;/start timer TIMSK|=0 x02;/timer interrupt sources SEI();/re-enable interrupts9-1-6-2 T0的工作方式2:CTC模式nT0 比较匹配中断服务程序#pragma interrupt_handler timer0_comp
13、_isr:iv_TIMER0_COMPvoid timer0_comp_isr(void)/compare occured TCNT0=OCR0nPB3端口初始化DDRB|=0 x80;9-1-6-2 T0的工作方式2:CTC模式n实验题目n频率发生器(8M晶振)n产生可调频率的方波波形发生器n最高频率?n最低频率?n步进?n分档位?n如何显示?9-1-6-2 T0的工作方式2:CTC模式n最高频率n最低频率n调整步进9-1-6-2 T0的工作方式2:CTC模式n分为5档nN=1nN=8nN=64nN=256nN=1024n7SEG LED显示,独立键调整(档位增、减,频率增减),矩阵键盘直接
14、输入频率。nPB3(OC0)输出波形,注意设置为输出,使用示波器观察,并拍摄图片9-1-6-3 T0的工作方式3:快速PWM模式nWGM01:0=3时,T0工作在快速PWM模式nT0为单向加一计数器,从0 x00到0 xFF,然后溢出返回0 x00nCOM01:0=2时,TCNT0与OCR0匹配时OC0引脚输出低电平;TCNT0溢出时,OC0引脚输出高电平nCOM01:0=3时,OC0引脚状态与上述过程相反n用户可以在溢出中断TOV0中修改OCR0的值。nOCR0的值,用于调整波形的占空比n十分适合于功率调节,整流和DAC 应用9-1-6-3 T0的工作方式3:快速PWM模式9-1-6-3 T
15、0的工作方式3:快速PWM模式n波形周期是计数256次时间,从0 x00-0 xFFnOCR0为0 x00时,OC0输出尖峰脉冲序列nOCR0为0 xFF时,OC0输出恒高(COM01:0=2)nOCR0为0 xFF时,OC0输出恒低(COM01:0=3)nOCR0为0 x00时,OC0输出方波(COM01:0=1)n最高频率9-1-6-3 T0的工作方式3:快速PWM模式n产生占空比连续可调的方波,用于调节LED亮度9-1-6-3 T0的工作方式3:快速PWM模式n初始化T0,使其工作在快速PWM模式n设置OC0引脚为输出状态,且设置输出模式为正向比较匹配输出COM01:0=2n允许溢出中断
16、,在中断中更新OCR0值,调整输出波形的占空比,进而控制LED亮度n由于T0为8位,亮度等级可划分为256个等级9-1-6-3 T0的工作方式3:快速PWM模式n在快速PWM模式下,输出方式为9-1-6-3 T0的工作方式3:快速PWM模式 0 1 1 0 1 0 1 1 TCCR0=0 x6Bn设置OC0引脚为输出状态 DDRB|=0 x08;9-1-6-3 T0的工作方式3:快速PWM模式n初始化T0,使其工作在快速PWM模式/TIMER0 initialize-prescale:64/WGM:PWM Fast/desired value:450Hz/actual value:450.00
17、0Hz(0.0%)void timer0_init(void)TCCR0=0 x00;/stop TCNT0=0 x00;/set count OCR0 =0 xFF;/set compare TCCR0=0 x6B;/start timer TIMSK|=0 x01;/timer interrupt sources SEI();/re-enable interrupts9-1-6-3 T0的工作方式3:快速PWM模式n允许溢出中断,在中断中更新OCR0值n自己写出main()主函数n扫描键盘n根据按键更新Light_Set的值n把要显示的字型码送PA口#pragma interrupt_ha
18、ndler timer0_ovf_isr:iv_TIMER0_OVFvoid timer0_ovf_isr(void)OCR0=Light_Set;9-1-6-4 T0的工作方式1:相位可调PWM模式nWGM01:0=1时,T0工作在相位可调PWM模式nT0为双向计数器,从0 x00加1到0 xFF,然后从0 xFF减1到0 x00nCOM01:0=2时,在加1过程中TCNT0与OCR0匹配时OC0引脚输出低电平;在减1过程中TCNT0与OCR0匹配时,OC0引脚输出高电平nCOM01:0=3时,OC0引脚状态与上述过程相反nTCNT0减1至0 x00时,溢出中断TOV0置位nOCR0的值,用
19、于调整波形相位n用于电机控制,调速9-1-6-4 T0的工作方式1:相位可调PWM模式9-1-6-4 T0的工作方式1:相位可调PWM模式nOC0引脚方向设置输出,且输出模式为2或3时,OC0引脚波形频率为n比方式3(快速PWM方式)输出频率小nCOM01:0=2 OCR0为0 xFF时,OC0输出恒高 OCR0为0 x00时,OC0输出恒低 COM01:0=3 OC0输出与上述相反9-1-6-4 T0的工作方式1:相位可调PWM模式n用于DC Motor 调速n实例请参考T1电机调速9-1-7 与T0相关的寄存器nT0控制寄存器TCCR0nT0计数寄存器TCNT0nT0比较输出寄存器OCR0
20、n定时器中断屏蔽寄存器TIMSKn定时器中断标志寄存器TIFR9-1-7-1 与T0相关的寄存器-TCCR0nBit 7 FOC0:强制输出比较nFOC0仅在非PWM模式时才有效。对其写1 后,波形发生器将立即进行比较操作。n比较匹配输出引脚 OC0 将按照COM01:0 的设置输出相应的电平。nFOC0不会引发任何中断,CTC模式下对定时器进行清零的操作。9-1-7-1 与T0相关的寄存器-TCCR09-1-7-1 与T0相关的寄存器-TCCR0CTC模式对应的输出模式9-1-7-1 与T0相关的寄存器-TCCR09-1-7-1 与T0相关的寄存器-TCCR09-1-7-1 与T0相关的寄存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九 定时器 资源 及其 应用 解析
限制150内