×
单片机 > 单片机程序设计 > 详情

AVR timer1PWM设置

发布时间:2020-08-31 发布时间:
|

简介:PWM是啥,不多说自己网络上搜索,PWM调节在控制方面使用很广泛,利用PWM控制方式可以使得电路简单可靠,芯片体积也会很小。下面看看AVR的PWM输出控制吧。




void timer1_pwm()


{


TCCR1A=(1<


//比较输出模式,快速PWM,比较匹配时清零OC1A/B,OC1A/B在TOP时置位。


TCCR1B=(1<


//模式14,快速PWM,计数上限由ICR1确定,1024分频。


ICR1H = 0x00; //计数上限,也即是TOP值,调节PWM频率


ICR1L = 0xFF;


DDRD_Bit5=1;


DDRD_Bit4=1; //OC1A/B管脚设置为输出


OCR1AH=0x00; //OC1A匹配寄存器,调节占空比


OCR1AL=0xef;


OCR1BH=0x00; //OC1B匹配寄存器,调节占空比


OCR1BL=0x0F;


}


对照手册PWM设置很简单,上面的程序是初始化代码,在main函数中,修改OCR1A和OCR1B的值,就可以改变占空比了。在PD4和PD5端口接上发光二极管就可以调节发光二极管的亮度,你也可以接上示波器观察波形。


在力天开发板上,PD4和PD5是控制数码管的选通位,这样我们设置PORTB输出OXFF,然后可以看见一个数码位显示8,亮度从暗到亮,循环变化。图片我就不截取了。


关键字:AVR  timer1  PWM设置


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会