avr单片机定时器、中断与PWM(转).docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
avr单片机定时器、中断与PWM(转)

HYPERLINK /s/blog_4aa25f130100go4v.html /s/blog_4aa25f130100go4v.html转 ? 中断:我的理解就是cpu执行时,遇到中断——根据对应的中断源(硬件或软件)——pc定位中断入口地址,然后根据这里的函数指针——跳转到相应的服务程序 ??? 之所以上面()了硬件或软件,这里还涉及到向量中断和非向量中断:区别就在于确定中断源,如果是硬件编码了中断源的,直接跳转相应的服务函数则是向量中断。而非向量中断指的是:如果发生中断了,但此时还不清楚是那个中断,需要查找标志位来确定跳转到那个中断区域。 ??? 可以发现向量中断肯定来的快些,这里为定时器的中断来做好准备。 ????再来看看avr单片机的定时器: 定时器/计数1(16位)————分为普通模式,CTC模式,快速pwm模式,相位修正pwm模式,相位频率修正pwm模式,输入捕获模式。 ??? 普通模式: ???*1 寄存器TCCR1B?(控制寄存器) ??? 7????????? 6???????? 5?????????? 4??????????? 3?????????? 2?????????? 1????????? 0 ??? ICNC1????? ICES1???? -????????? WGM13????????WGM12?????? CS12?????? CS11??????? CS10 ??? ??? CS12? CS11 CS10控制分频(内:预分频器):取值0-5对应了停止,无分频,8,64,256,1024 ??? 当为110为下降沿驱动,111为上升沿驱动(外部):用于对外部信号的计数 ? ??? *2上面的计数结果放在计数寄存器TCNT1,TCNT0中(高低8位) ? ??? *3中断屏蔽寄存器(TIMSK) ???????? OCIE2??????TOIE2????? TICIE1?? OCIE1A??? OCIE1B??? TOIE1???? OCIE0????? TOIE0 ???? TOIE1?:设置为溢出中断,置1 ? 嘿嘿,有了上面的3个寄存器就可以做秒表等了——思路为:设定控制寄存器(内分频,还是外部计数?)——装初值——设置中断方式(这里用了溢出)——打开中断 注意点:装初值时需要先写高位TCNT1,再写低位TCNT0,读时相反 ???????? TCCR1B=0x01;无分频 ???????? TCNT1H=0x88; ???????? TCNT1L=0x88;TIMSK|=BIT(2); 再开中断 SREG|=bit(7);? 这样初始化oK! ??由于avr不像51无int code等之类定义的方法,用的是#pragma data:code?? 底下为存储的内容 ??写中断也类似:#pragma interrupt_handler? (中断函数名:向量号)miao:9?(现在该理解向量中断吧) ????写好申明后就写函数体了 void miao(){中断服务程序}? ????????? 这样作为普通用法就小功告成了 ???? 总结一下就是模式,初值,中断?(对应的3个寄存器)? 和具体C函数的写法 ? CTC模式比较输出模式: 用于输出50%占空比的方波信号,用于产生准确的连续定时信号 硬件:对应了pd4,pd5输出比较b和a 比较输出 ??*1 寄存器TCCR1A(控制寄存器)??功能多了寄存器也分a、b了^_^??????? ??? 7????????? 6???????? 5?????????? 4??????????? 3?????????? 2?????????? 1????????? 0 ??com1A1?????COM1A0??? com1B1?????COM1B0??????? FOC1A???????FOC1B???????WGM11?????? WGM10 ??? 用到了4567和01???? 4、5控制b? 6、7控制a ??com1A(B)1???COM1A(B)0????? 一般用00和01????????? WGM11,WGM10放在底下讲 ???? 0???????? ?0???????? 普通i/0 ???? 0????????? 1???????? 比较匹配时输出取反 ???? 1????????? 0???????? 比较匹配时输出0 ???? 1????????? 1???????? 比较匹配时输出1 ???*2 寄存器TCCR1B?(控制寄存器)?? ??? 7????????? 6???????? 5?????????? 4??????????? 3?????????? 2?????????? 1????????? 0 ??? ICNC1

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档