发表于:2008/8/3 19:15:00
#0楼
avr单片机atmega48的eeprom操作例子
发布时间:2008年8月3日 19时13分
/*****************************************************
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占空比随之改变
}
}
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=56356&Name=sfmcu