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

[复制链接]
 楼主| 元方义城 发表于 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

粉丝
快速回复 在线客服 返回列表 返回顶部

26

主题

158

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部