怎么用单片机产生PWM波形

如题所述

第1个回答  2019-04-17
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=0x00;
//设置pd4输出占空比
ocr1al=0x22;
ocr1bh=0x00;
//设置pd5输出占空比
ocr1bl=0x22;
第2个回答  2019-10-27
单片机产生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
按上述时间去控制
单片机引脚高低电平的时间就可以了。
呵呵
赶快自己写程序吧
别忘了给俺加分呀