怎么用单片机产生PWM波形

如题所述

单片机产生PWM波形波形的方法:
主要是采用软件控制,控制2个时间。
具体就是由单片机的引脚输出PWM波形;单片机引脚 如P1.7 控制其输出高电平的时间T1 和输出低电平的时间T2。
PWM波形的周期T=T1+T2
PWM波形的占空比=(100T1/T)%

PWM波形实现的算法:
1 根据PWM波形的频率f,计算出PWM波形的周期T=1/f;
2 根据PWM波形的占空比 计算出高电平时间 T1=占空比×T
3 计算出低电平时间 T2=T-T1
4 按上述时间去控制 单片机引脚高低电平的时间就可以了。

呵呵 赶快自己写程序吧 别忘了给俺加分呀
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-25
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(ZQ)// 周期
{
ZQ--;
if(ZKB)//占空比
{
ZKB--;
IO = 1;//控制占空比的单片机输出口
}
else IO = 0;
}
else
{
ZQ=100;//如果你需要ZQ和ZKB可调可以定义一个变量a,b;ZQ=a;ZKB=b;
ZKB=30;//注意ZKB要小于ZQ
}
}
用定时器做的
第2个回答  2012-07-25
用定时器写,简单的定时时间,然后根据需要调高低电平
第3个回答  2012-07-25
一步步做

怎样产生PWM波形
1、推荐用单片机程序就可以轻松的实现,特别是有些单片机就有PWM模块,直接输入数据就能得到你想要的脉冲宽度的PWM波形。2、也可以用比较器来做,一端输入三角波,另一端输入直流电平,改变直流值就可以输出不同脉冲宽度的PWM波形。

怎么让单片机(c8051f340)产生一定占空比的pwm波形
详情请查看视频回答

...通过按键触发来输出一个可调占空比的的PWM波形。用C语言的_百度知 ...
开个定时器,0.1ms的中断周期,中断100次为一个PWM周期,得出10ms周期的PWM波,然后在这100次的中断中,前30次中断让IO口输出高,后70次让IO口输出低,然后就得出了30%占空比的PWM波,根据这个方法即可实现你的要求。

经过数模转换后怎么产生PWM 51单片机
3、选定PWM输出频率,就决定了输出方波的周期,将数字量转换为方波占空比,就可以产生PWM。

经过数模转换后怎么产生PWM 51单片机
1、PWM是介于 模拟量 和数字量之间的一种信号。从产生角度看,由高电平和 低电平 组成,接近数字量。从使用角度看,加上一个 低通滤波器 就变成幅值连续的模拟量了,接近模拟量。2、你要产生PWM,不需要经过 数模转换 。3、选定PWM输出频率,就决定了输出 方波 的周期,将数字量转换为方波 占空比 ...

用TL494,PWM波怎么产生
利用单片机通过DA芯片的输出电压抑制,将该电压加到PWM比较器的TL494正输入端,即TL494端口3,调节DA芯片的输出电压,可以控制TL494PWM的宽度。误差放大器有两个,一个用于电压控制,另一个用于过流保护,电压控制输出占空比控制。终止电压输出反馈电阻器,负终止DA输出,如果输出电压大于反馈电压哒,错误...

怎样利用AT89c52输出pwm信号,电路图怎样连接?
先看看AVR单片机产生PWM的原理(51就要用A\/D与三角波):AVR单片机片内有一个具有16位PWM功能的定时\/计数器。在普通模式下,计数器不停地累加,计到最大值(TOP=0xffff)后溢出,返回到最小值0x0000重新开始。当启用PWM功能即在单片机的快速PWM模式下,通过调整OCR1A的值可实现输出PWM波的占空比变化。产...

AVR单片机怎么产生占空比可调PWM波形
AVR单片机产生占空比可调PWM波形:设置TC1为快速PWM方式,输入频率为1MHz时,在PD4和PD5输出非反相的PWM,频率1M\/100=10KHz,占空比通过设置OCR1A和OCR1B来实现:PORTD=0x00;DDRD=0x30;TCCR1A=0xA2;TCCR1B=0x19;TCNT1H=0x00;TCNT1L=0x00;ICR1H=0x00; \/\/ICR设置PWM频率 ICR1L=0x63;OCR1AH...

如何用单片机产生两路波形相同相位不同的PWM波
用一个定时器就可以。然后在不同时间对pwm翻转就可以了。

怎么51单片机定时器来模拟PWM波?
对于用定时器来模拟,最基本的方法就是使用一个IO口循环设置其输出值为高电平和低电平。那么定时器在这里起计时作用,而且需要两个时间:高电平持续时间、低电平持续时间。只要做到这两个时间的计时,那么就可以实现基本的PWM了。而要做到两个时间的计时,有两种方案:1.单计时器方案 int i;\/\/计时变量...

相似回答