AVR单片机定时计数器的结构与应用教案分析.ppt

AVR单片机定时计数器的结构与应用教案分析.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引入 先回顾学习51单片机时,定时器的中断如何产生的? 第8章 定时/计数器实例解析 本章重点: 1.了解AVR定时/计数器的特点 2.学会对定时/计数器的相关寄存器进行配置 3. 掌握AVR定时/计数器的工作模式 本章难点: 掌握定时/计数器的PWM模式,T/C1的输入捕捉功能 主要工作模式(以T0为例) 1.普通模式 时钟源来自芯片内部:定时方式。当计数器从设定的初值开始计到255,产生计数溢出中断(TOV0=1),不能自动重装。 时钟源来自外部引脚T0(PB0):计数方式,当计数器从设定的初值开始计到255,产生计数溢出中断(TOV0=1)。 T/C0的主要工作模式 2.CTC模式(自动重载) 当计数器TCNT0的数值累加到等于OCR0中的数值时(匹配),OC0引脚置位或复位或取反,并产生比较匹配中断(OCF0=1) 该模式常用于得到波形输出(比如方波) T/C0的主要工作模式 3.快速PWM模式 当计数器TCNT0的数值累加到等于OCR0中的数值时,OC0引脚置位(或复位),计数到255时,OC0复位(或置位),并产生比较溢出中断(TOV0=1)。 该模式常用于产生高频的PWM波形,通过0CR0的值来控制占空比。 T/C0的主要工作模式 4.相位修正PWM模式(双向计数器) 当计数器升序计数时,若与OCR0匹配,OC0引脚置1;而在计数器降序计数时,若与OCR0匹配,OC0引脚清0。或者正好相反。 T/C0的主要工作模式 4.相位修正PWM模式(双向计数器) 当定时计数器计数到0x00时,计数溢出标志TOV0置位,即TOV0=1,此时可申请溢出中断。 该模式常用于产生高精度相位修正PWM波形,通过0CR0的值来控制占空比。 实例解析4—T/C0快速PWM实验 作业: 设计一个125KHZ方波发生器。 作业: 利用ICP测量方波(200-5KHZ)的周期,即捕捉到相邻两个上升沿或上升沿的时间差即为周期。(单片机工作时钟为8MHZ) 实例解析2—T/C0定时实验 实现功能:使用T/C0进行1S的定时,每到1S,PA口外接的LED灯状态改变一次。 设计思路:T/C0作为定时器,每到25ms中断一次,当中断次数到达40次时,控制PA口LED灯取反。本设计采用8MHZ时钟,1024分频,所以计数脉冲频率是8MHZ/1024=7812.5HZ,定时时间T=25ms 定时器初值=2n-(时钟频率/1024)*T 这里可算出定时器初值=28-(8000000/1024)*0.025=61 #include iom16v.h char Counter = 0; // 1S计数变量清零 /********端口初始化********/ void port_init() { PORTA=0xFF; //PA口配置为输出 DDRA=0xFF; //PA口初始值为1 } /********定时器0初始化********/ void timer0_init() //因为定时时间太短,看不到灯的变化 { SREG = 0x80; //使能全局中断 TIMSK|=(1TOIE0); //使能T0溢出中断 TCCR0|= ; //T0工作于普通模式,1024分频 TCNT0 = ;} /********主函数********/ void main() { port_init(); timer0_init(); while(1); } /********定时器0中断服务函数********/ #pragma interrupt_handler timer0_ovf:10 void timer0_ovf(void) { TCNT0 =61; //重装计数初值 Counter ++ if ( ) //定时中断溢出40次为1S { PORTA=~PORTA; Counter = 0; //1S计时变量清零 } } 实例解析3—T/C0的CTC模式实验 实现功能:使用T/C0进行比较匹配时清零模式(CTC),在单片机的比较匹配输出口PB3(OC0)上输出一个频率为20HZ占空比为50%的方波脉冲。同时控制PD7口的蜂鸣器每隔1S鸣叫1次。 设计思路:要求输出一个20HZ占空比为50%的方波,可让OC0每隔0.025s取反一次,当前晶振为8MHZ,102

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档