第九章定时器资源及其应用解析优秀PPT.ppt

上传人:1398****507 文档编号:57464427 上传时间:2022-11-05 格式:PPT 页数:120 大小:1.22MB
返回 下载 相关 举报
第九章定时器资源及其应用解析优秀PPT.ppt_第1页
第1页 / 共120页
第九章定时器资源及其应用解析优秀PPT.ppt_第2页
第2页 / 共120页
点击查看更多>>
资源描述

《第九章定时器资源及其应用解析优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第九章定时器资源及其应用解析优秀PPT.ppt(120页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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相关的寄存器-TCCR0Bit 7 FOC0:强制输出比较FOC0仅在非PWM模式时才有效。对其写1 后,波形发生器将马上进行比较操作。比较匹配输出引脚 OC0 将依据COM01:0 的设置输出相应的电平。FOC0不会引发任何中断,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相关的寄存器-TC

21、CR09-1-7-2 与T0相关的寄存器n定时器中断屏蔽寄存器TIMSKn定时器中断标记寄存器TIFR9-1-8 T0外部脉冲输入引脚n由T0 引脚供应的外部时钟源可以用作T/C 时钟clkT0。n引脚同步逻辑在每个系统时钟周期对引脚T0 进行采样。然后将同步(采样)信号送到边沿检测器。9-1-8 T0外部脉冲输入引脚nCS02:0=7 时边沿检测器检测到一个正跳变产生一个clkT0 脉冲nCS02:0=6 时一个负跳变就产生一个clkT0 脉冲n由于同步与边沿监测电路,引脚T0上的电平变更须要延时2.5 到3.5 个系统时钟周期才能更新计数器n为保证正确的采样,外部时钟脉冲宽度必需大于一个系

22、统时钟n外部时钟源不送入预分频9-1-9 T0预分频器9-1-9 T0预分频器n特殊功能IO 寄存器SFI nPSR10:T/C1 与T/C0 预分频器复位nT/C1 与T/C0 共用同一预分频器,且预分频器复位对两个定时器均有影响。9-2 16位定时器T1n16位的T/C 可以实现精确的程序定时(事务管理)、波形产生和信号测量。其主要特点如下n 真正的16 位设计(即允许16 位的PWM)n 2 个独立的输出比较单元n 双缓冲的输出比较寄存器n 一个输入捕获单元n 输入捕获噪声抑制器n 比较匹配发生时清除寄存器(自动重载)n 无干扰脉冲,相位正确的PWMn 可变频率的PWMn 频率发生器n

23、外部事务计数器n 4 个独立的中断源(TOV1、OCF1A、OCF1B 与ICF1)9-2 16位定时器T19-2 16位定时器T1n与T0相比,有一下特点n增加2个模块nOCR1B OC1B 波形输出单元nICR1 ICP1 输入捕获单元n增加3个寄存器nOCR1BnICR1nTCCR1BnTCNT1、OCR1A、OCR1B和ICR1为16位寄存器9-2 16位定时器T1n16位寄存器特殊的访问方法n读写16位寄存器须要两次操作n先写入该寄存器的高位字节,然后写入低位字节n先读取该寄存器的低位字节,然后读高位字节nC语言会自动处理读写过程n应留意,16位寄存器操作时最好关全局中断9-2-1

24、T1的输入捕获单元nT/C 的输入捕获单元可用来捕获外部事务,并标记发生的时刻。n外部事务触发信号由引脚ICP1 输入,也可通过模拟比较器实现。n可用来计算频率、占空比及信号的其它特征,以及为事务创建日志。9-2-1 T1的输入捕获单元9-2-1 T1的输入捕获单元n当引脚ICP1上的逻辑电平发生了变更,或模拟比较器输出电平发生了变更,输入捕获即被激发nTCNT1 数据被拷贝到输入捕获寄存器ICR1,同时输入捕获标记位ICF1 置位n假如此时ICIE1=1,输入捕获标记将产生输入捕获中断。n中断执行时ICF1 自动清零,或者也可通过软件在其对应的I/O 位置写入逻辑1”清零9-2-1 T1的输

25、入捕获单元n输入捕获触发源nICP1和模拟比较输出n通过设置ACSR 的ACIC位,可选择触发源n变更触发源有可能造成一次输入捕获n使能噪声抑制器后,会引入4 个系统时钟周期的延迟。n置位TCCR1B 的ICNC1 将使能噪声抑制器9-2-1 T1的输入捕获单元n输入捕获运用留意事项:n安排足够的处理器资源来处理输入事务n假如处理器在下一次事务出现之前没有读取ICR1 的数据,ICR1 就会被新值覆盖n在任何输入捕获工作模式下都不举荐在操作过程中变更TOP 值n测量外部信号的占空比时要求每次捕获后都要变更触发沿。读取ICR1 后必需尽快变更敏感的信号边沿n变更边沿后,ICF1 必需由软件清零(

26、在对应的I/O 位置写“1”)。n若仅需测量频率,且运用了中断发生,则不需对ICF1 进行软件清零。9-2-2 与T1相关的寄存器nTCCR1AT1限制寄存器AnTCCR1BT1限制寄存器BnTCNT1T1数据寄存器n(TCNT1H、TCNT1L)nOCR1AT1输出比较寄存器An(OCR1AH、OCR1AL)nOCR1BT1输出比较寄存器Bn(OCR1BH、OCR1BL)nICR1T1输入捕获寄存器n(ICR1H、ICR1L)nTIMSKT1中断屏蔽寄存器nTIFRT1中断标记寄存器9-2-2-1 与T1相关的寄存器-TCCR1A(B)nTCCR1AT1限制寄存器AnTCCR1BT1限制寄存

27、器B9-2-2-1 与T1相关的寄存器-TCCR1A(B)n比较输出模式(A通道、B通道)9-2-2-1 与T1相关的寄存器-TCCR1A(B)n比较输出模式(A通道、B通道)9-2-2-1 与T1相关的寄存器-TCCR1A(B)n比较输出模式(A通道、B通道)9-2-2-1 与T1相关的寄存器-TCCR1A(B)nBit 3 FOC1A:通道A 强制输出比较nBit 2 FOC1B:通道B 强制输出比较9-2-2-1 与T1相关的寄存器-TCCR1A(B)9-2-2-1 与T1相关的寄存器-TCCR1A(B)nICNC1:入捕获噪声抑制器入捕获噪声抑制器n置位置位ICNC1,使能输入捕获噪声

28、抑制。,使能输入捕获噪声抑制。nICES1:输入捕获触发沿选择输入捕获触发沿选择nICES1 为为“0”选择的是下降沿触发输选择的是下降沿触发输入捕获入捕获n ICES1 为为1”选择的是逻辑电平的上选择的是逻辑电平的上升沿触发输入捕获。升沿触发输入捕获。9-2-2-1 与T1相关的寄存器-TCCR1A(B)9-2-2-2 与T1相关的寄存器-TIMSK、TIFRnTIMSKT1中断屏蔽寄存器nTIFRT1中断标记寄存器9-2-3 T1的工作模式n一般模式(WGM13:0=0)nCTC模式(WGM13:0=4、12)n快速PWM模式(WGM13:0=5、6、7、14、15)n相位可调PWM模式

29、(WGM13:0=1、2、3、10、11)n相位频率可调PWM模式(WGM13:0=8、9)T1工作模式-一般模式nWGM13:1=0 T1工作在一般模式下n一般模式与T0相像,只是TCNT1是16位nTCNT1最大值是0 xFFFFT1工作模式-CTC模式nWGM13:0=4、12nOCR1A、ICR1用于调整辨别率nWGM13:0=4时,TCNT1与OCR1A匹配可引发OCF1A中断并可影响OC1A输出nWGM13:0=12时,TCNT1与ICR1匹配可引发ICF1中断,能否影响输出呢?主要应用在何种状况?T1工作模式-快速PWM模式nWGM13:0=5、6、7、14、15n与T0相比TO

30、P值可调,T0的TOP为0 xFF,T1的TOP可为n0 x00FF(8bit)WGM13:0=5n0 x01FF(9bit)WGM13:0=6n0 x03FF(10bit)WGM13:0=7nOCR1A WGM13:0=15nICR1 WGM13:0=14n频率可调n可以在OC1A和OC1B输出波形T1工作模式-快速PWM模式nTOP值固定时,计数溢出置位TOV1,TOP值是OCR1A、ICR1时,计数溢出置位TOV1,同时置OCF1A或ICF1n精度(频率)可调,最大16位PWM,最小2位PWMn可以在OC1A和OC1B输出波形T1工作模式-相位可调PWM模式nWGM13:0=1、2、3、

31、10、11n与T0相比TOP值可调,T0的TOP为0 xFF,T1的TOP可为n0 x00FF(8bit)WGM13:0=1n0 x01FF(9bit)WGM13:0=2n0 x03FF(10bit)WGM13:0=3nOCR1A WGM13:0=11nICR1 WGM13:0=10T1工作模式-相位可调PWM模式nTOP值是OCR1A、ICR1时,计数至TOP置位OCF1A或ICF1n计数至0 x0000时,置位TOV1n精度(频率)可调,最大16位PWM,最小2位PWMn可以在OC1A和OC1B输出波形T1工作模式-相频可调PWM模式nWGM13:0=8、9n工作过程与WGM13:0=10

32、、11基本相同n唯一的区分是当修改TOP值时,相位可调模式会产生不对称PWM,而相频调整模式不会产生不对称PWM9-2-4 T1应用实例n数字表n4位7段LED显示时间,一位dp显示秒n7段LED须要2ms定时刷新n7.3728M外部时钟提高定时精度n运用T1定时1s溢出中断n运用T1比较匹配中断2ms定时刷新数字表硬件电路9-2-4 T1应用实例nT1初始化n256分频,工作在一般模式0n1s溢出nTCNT1=0 xFFFF-0 x7080+1=0 x8F80n2ms比较匹配nOCR1A-TCNT1=0 x399-2-4 T1应用实例nT1初始化/TIMER1 initialize-pres

33、cale:256/WGM:0)Normal,TOP=0 xFFFF/desired value:1Sec/actual value:1Sec(0.0%)void timer1_init(void)TCCR1B=0 x00;/stop TCNT1H=0 x8F;/setup TCNT1L=0 x80;OCR1AH=0 x00;OCR1AL=0 x39;/desired value:2ms TCCR1A=0 x00;TCCR1B=0 x03;/start Timer TIMSK=0 x14;/timer interrupt sources SEI();/re-enable interrupts9-

34、2-4 T1应用实例nT1溢出中断#pragma interrupt_handler timer1_ovf_isr:iv_TIMER1_OVFvoid timer1_ovf_isr(void)TCNT1H=0 x8F;/reload counter high value TCNT1L=0 x80;/reload counter low value/处理用户计时程序9-2-4 T1应用实例#pragma interrupt_handler timer1_compa_isr:iv_TIMER1_COMPAvoid timer1_compa_isr(void)/compare occured TCN

35、T1=OCR1AOCR1A+=0 x0039;/更新LED9-2-4 T1应用实例#pragma interrupt_handler timer1_ovf_isr:iv_TIMER1_OVFvoid timer1_ovf_isr(void)TCNT1+=0 x7081/处理用户计时程序9-2-4 T1应用实例n精确连续定时,必需保证T1始终在运行nT1进入中断,须要几个时钟周期n避开对TCNT1赋初值,正确操作是对TCNT1进行加操作n对OCR1A的操作也应当是加!因为加法产生字内容溢出,并不阻碍下次匹配中断的产生9-2-4 T1应用实例9-2-4 T1应用实例9-2-4 T1应用实例9-2-

36、4 T1应用实例9-3 定时器T2nT/C2 是一个通用单通道8 位定时/计数器,其主要特点如下:n 单通道计数器n 比较匹配时清零定时器(自动重载)n 无干扰脉冲,相位正确的脉宽调制器(PWM)n 频率发生器n 10 位时钟预分频器n 溢出与比较匹配中断源(TOV2 与OCF2)n 允许运用外部的32 kHz 手表晶振作为独立的I/O 时钟源9-3 定时器T29-3 定时器T2n与T0相比,T2增设异步时钟n可以将32768HZ晶振干脆接在TOSC1和TOSC2引脚上n内部电路已经内置了对低频晶振匹配驱动电路的优化n可以通过ASSR对其异步状态进行设置9-3 定时器T2nBit 3 AS2:

37、异步异步 T/C2nAS2为为0”时时T/C2由由I/O时钟时钟clkI/O驱动;驱动;AS2为为1”时时T/C2由连接到由连接到TOSC1引脚的晶引脚的晶体振荡器驱动。体振荡器驱动。nBit 2 TCN2UB:T/C2 更新中更新中nT/C2工作于异步模式时,写工作于异步模式时,写TCNT2将引起将引起TCN2UB置位。当置位。当TCNT2从暂存寄存器更新从暂存寄存器更新完毕后完毕后TCN2UB 由硬件清零。由硬件清零。nTCN2UB 为为0 表明表明TCNT2 可以写入新值了。可以写入新值了。nBit 1 OCR2UB:输出比较寄存器输出比较寄存器2 更新中更新中nBit 0 TCR2UB

38、:T/C2 限制寄存器更新中限制寄存器更新中9-3 定时器T2nT/C2 工作于异步模式时要考虑如下几点:n警告:在同步和异步模式之间的转换有可能造成TCNT2、OCR2 和TCCR2 数据的损毁。n平安的步骤应当是:n1.清零OCIE2 和TOIE2 以关闭T/C2 的中断n2.设置AS2 以选择合适的时钟源n3.对TCNT2、OCR2 和TCCR2 写入新的数据n4.切换到异步模式:等待TCN2UB、OCR2UB 和TCR2UB 清零n5.清除T/C2 的中断标记n6.须要的话使能中断9-3 定时器T2n振荡器最好运用32.768 kHz手表晶振。给TOSC1 供应外部时钟,可能会造成T/

39、C2 工作错误。系统主时钟必需比晶振高4 倍以上。n假如要用T/C2 作为MCU 省电模式或扩展Standby 模式的唤醒条件,则在TCNT2,OCR2A和TCCR2A更新结束之前不能进入这些休眠模式,否则MCU可能会在T/C2设置生效之前进入休眠模式。9-3 定时器T2n假如要用T/C2作为省电模式或扩展Standby模式的唤醒条件,必需留意重新进入这些休眠模式的过程。n若选择了异步工作模式,T/C2 的 32.768 kHz 振荡器将始终工作。此振荡器的稳定时间可能长达1 秒钟。n运用异步时钟时省电模式或扩展Standby 模式的唤醒过程:中断条件满足后,在下一个定时器时钟唤醒过程启动。n

40、从省电模式唤醒之后的短时间内读取TCNT2 可能返回不正确的数据。n在异步模式下,中断标记的同步须要3 个处理器周期加一个定时器周期。9-3-1 T2应用实例n频率计是我们常常会用到的试验仪器之一,本试验要运用单片机和计数电路及液晶器件来设计一个宽频的频率计。期望达到10Hz1.1G范围的频率精确测量。9-3-1 T2应用实例9-3-1 T2应用实例n频率的测量事实上就是在1S时间内对信号进行计数,计数值就是信号频率。用单片机设计频率计通常接受两种方法n1)运用单片机自带的计数器对输入脉冲进行计数,或者测量信号的周期;n2)单片机外部运用计数器对脉冲信号进行计数,计数值再由单片机读取。n本试验

41、电路接受方式2,运用一片74LS393四位双二进制计数器和Atmega16的T1计数器组成了24位计数器,最大计数值为16777215。n假如输入信号经过MB501分频器进行64分频后再进行测量,则固定1S时基下最高测量频率为1073.741760Mhz。n为了便利得到精确的1秒钟测量闸门信号,我们运用了Atmega16的异步实时时钟功能,接受32.768Khz的晶振由TC2产生1秒钟的定时信号。9-3-1 T2应用实例n单片机打开测量闸门,即PB1输出高电平,同时TC2定时器启动。n74LS393起先对输入脉冲进行计数,74LS393每计数达256时,Atmega16的T1计数器也向上计数1次。n当1S定时到达时,单片机产生中断,PB1输出低电平关闭测量闸门,然后Atmega16读取74LS393和T1的计数值,然后送LCD显示。9-4 定时器比较nT0和T2是8位定时器,T1位为16位定时器nT0做简洁定时,断续工作,即启动、停止、中断等nT1一般做始终运行状态,长时间精确定时要留意进入中断所占用时间,因此不能给TCNT赋初值nT2可做异步定时操作,一般做系统实时钟

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 商业计划书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁