电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机实例 >> 正文

AVR定时器1的CTC模式设置

作者:佚名    文章来源:本站原创    点击数:    更新时间:2018/12/19

avr单片机在CTC模式编程的时候,要执行的步骤如下:

1. 将PD4~PD5 设置为输出(默认为低电平)。DDRD|=BIT(4)|BIT(5);
2. 决定比较输出模式,试验中为模式电平取反。TCCR1A=0x50;
3. 决定方波产生模式位,试验中是模式4, 亦即WGM12=1。TCCR1B|=BIT(3);
4. 决定分频N,这里就假设去1 吧,无预分频。TCCR1B|=BIT(0);
5. 在步骤3 中,方波产生模式位为4,换句话说就是OCR1A 决定匹配的最大值。
CTC模式实际上就是比较输出模式,输出占空比相同的脉冲    频率=时钟晶振/2N(1+OCRnA)
如:四个指令就可以配置好CTC模式(8M,输出2KHz):
   DDRD|=0X30;
   TCCR1A=0X50;
   TCCR1B=0X09;  
   OCR1A=1999;
 
#include <iom16v.h>
#include <macros.h>
void main()
{
   DDRD|=0X30; //set PD4 and PD5 iS out
   TCCR1A=0X50; //开启OC1A OC1B
   TCCR1B=0X09; //配合TCCR1A,设置OC1A和OC1B为CTC模式,CTC时钟源选择系统8M时钟
   OCR1A=999; //设置OC1A的输出频率为4KHZ
   OCR1B=59999; //设置OC1B的输出频率为200/3Hz
}
Tags:单片机,AVR,定时器  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询