logo资料库

atmega32产生4路可调pwm.docx

第1页 / 共1页
资料共1页,全文预览结束
#include #define F_CPU 16000000UL void main() { int pwm=1; int i,j; char n=1; TCCR0=0x61;//相位修正 pwm,匹配时清零,1:1 分频 TCCR1A=0xa1;//8 位相位修正 pwm(与 TCCR0 一致),匹配时清零,1:1 分频 TCCR1B=0x01;//8 位相位修正 pwm,匹配时清零,1:1 分频 TCCR2=0x61;//相位修正 pwm,匹配时清零,1:1 分频 DDRB=0x38;//置 OC0 为输出 DDRD=0xb0;//置 OC1A,OC1B,OC2 为输出,OC0,OC1A,OC1B,OC2 分别对应 PB3,PD5,PD4,PD7 while (1) { for(i=0;i<100;i++) for(j=0;j<10;j++); if(pwm==255||pwm==0) n=-n; pwm=pwm+n; OCR0=OCR1A=OCR1B=OCR2=pwm;//将占空比置为 pwn/256*100% } }
分享到:
收藏