×
单片机 > 单片机程序设计 > 详情

AVR定时器1快速PWM模式设置

发布时间:2020-06-04 发布时间:
|

简单归纳一下:


快速PWM,是由匹配值和TOP 值决定的。而TOP值可以是固定的(方波产生模式5,6,7),又或者可编程(方波产生模式14,15)。方波产生模式5,6,7 分别对应0x00ff,0x01ff,0x03ff 的TOP 值,而模式14,15 的TOP 值分别为1CR1,和OCR1A 来决定。从视频教程中我们知道模式15 需要牺牲OC1A 作为代价,(OC1A=PD5)OCR1A 决定了PWM 输出的频率,而OCR1B 决定了PWM 不同的占空比输出。换一句话说,OCR1A 是OCR1B 求出占空比的参考值。(上一页有详细的介绍),虽然OC1A 被牺牲了,但是,OC1A 还可以很合理的设置依然可以工作于近似CTC 模式(勉强算是吧)。这里打上小小的补充:如果方波产生的模式是5,6,7,仅要稍微修改一下概念就可以了。


在编程的时候需要如下的步骤:


1.设置PD4~5 为输出(默认为低电平)。DDRD|=BIT(4)|BIT(5);


2.决定方波产生模式,试验中为15。OCR1A|=BIT(0)|BIT(1); OCR1B|=BIT(3)|BIT(4);


3.决定OC1A,和OC1B 的工作方式,试验中快速PWM,OC1A 作为牺牲,工作近似CTC 模式。OC1B,却是匹配时清零,TOP 时置一。OCR1A|=BIT(5)|BIT(6);


4.决定频率,OCR1A 设初值。


5.决定PWM 输出占空比,OCR1B 设初值。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
8051单片机的函数发生器的设计