如何用51单片机输出一个占空比可调的方波:

要求1.频率在15K-30K。
2占空比至少在30%都70%连续可调。
3占空比可以根据AD采样结果随时可调。
(原题是用单片机驱动mosfet,用AD采样形成反馈回路,构建一个直流稳压电源,输出功率在30W)

首先选择一个I/O设置为输出模式,这个就是用于输出方波的硬件接口。
频率可调,可以根据你要想要的频率,换算成中断周期,实质上是一个计数器。建议弄一个300K的中断服务。那么可以这样整:如果要30K的频率,那么每10次中断视为一次完整的周期,执行一次你要的处理。
占空比问题,比如30%的占空比,那么你前三次中断都把状态设置为1,后面七次都设置为0状态。照这个思路就实现你的占空比了。当然这些中断次数的依据需要你自己对占空比的要求进行换算得到。在中断服务程序中去操作I/O口状态,当然你还可以在该程序结束的时候或者开始的时候,再次修改中断时间从而调整输出频率。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-09-23
估计你这个是想使用单片机来驱动DC-DC稳压电源吧。
你买STC12系列的单片机,自带PWM及ADC功能,然后通过输出电压及电流值调整频率输出,控制MOS管驱动高频变压器就可以完成了。
第2个回答  2013-05-06
51自身没有PWM波发生器,需要用定时器模拟
相似回答