当前位置:首页 > 单片机 > 单片机
[导读] /*****************************************************CodeWizardAVRhttp://www.avrdiy.com Panxiaoyi快速PWM,也可以叫单斜率PWM*****************************************************/#include

/*****************************************************
CodeWizardAVR
http://www.avrdiy.com Panxiaoyi
快速PWM,也可以叫单斜率PWM
*****************************************************/

#include
unsigned char eeprom i=0; //把变量放保存在EEPROM上/赋值与否并不影响i的值
void main(void)
{
TCCR0A=0b10000011; //比较匹配时OC0A=0,计数到比较值时OC0A=1,TOP固定等于255
TCCR0B=0b00000001; //时钟=1分频
DDRD.6=1; //PD6必须设置为输出时OC0A输出的PWM才有效
DDRD.2=0;
PORTD.2=1; //PD2接按键输入/上拉电阻使能
while(1)
{
if(PIND.2==0) //如果按键按下/简单的按键防抖动
{
while(PIND.2==0); //等待按键松开
i+=10; //更新EEPROM的数据i/重新来电后数据不变
}
OCR0A = i ; //刷新比较值,PWM占空比随之改变
}
}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭