请教各位前辈:用STC89C52单片机如何模拟PWM输出? 我了解原理,就是在实际编程时 不知道如何下手,,,请

如果是控制直流电机的话,用PWM调速, 是不是就是在定时器中设置一个变量,并在外面设定一个数作为周期,比如100. 在定时器中对高低电平持续时间做累加,是不是就是设置一个变量,没进一次中断,这个变量加一下, 小于这个变量的话为高, 是不是就实现了 占空比的增加??
谢谢

可以直接使用一个定时器去实现PWM的输出
比如你需要输出的PWM信号的频率是1KHZ
那个你的定时器定时时间长度为0.5MS
在定时器中断服务程序中对PWM信号的输出IO做 0 1的翻转动作就OK了

如果要调占空比 就需要在中断服务程序中对高、低电平持续时间做累加 再判断占空比 再做对应的翻转动作
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-12
要求不高的话,比如控制什么转速,或者精度要求不高的DA输出,可以用定时器模拟

要求高的话只能用DA芯片或者带DA功能的单片机了
相似回答