打印

ATmega8 快速PWM实现DA操作,PWM设置占空比疑问?

[复制链接]
810|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
元方义城|  楼主 | 2016-3-4 17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的目的是用单片机输出PWM加一个RC电路实现简单的DA操作。问题是在主程序中我设置OCR1B的值为变量,PWM就无法实现固定占空比的波形?
用了12M晶振,用了16位的定时器1,设置频率200HZ,代码如下:
void PWM_init(void)
{
        TCCR1A=0X63;//设置成快速PWM
        TCCR1B=0X1D; //希望的到频率为200HZ的PWM 1024分频   0.05s
        OCR1A=59;
        OCR1B=30;
}
viod main

   OCR1B=data;//data是<59的随机数。

可试了很多次都不行,望高手解惑。简单来说就是想通过data来控制PWM的占空比。在主程序中直接赋值OCR1B=30,可出现波形,一旦data在主程序变化,就出不来波形了

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

158

帖子

4

粉丝