AVR具有512个字节的片内EEPROM,使用它能够记载事前设定的打铃时刻(假如每个时刻条需求2个字节,则存储的时刻条能够200多个),然后将AVR制造成电子钟,在某个时刻内,扫描并取出片内存储的时刻条,与当时时刻进行比照,假如符合,则打铃。
下面是打铃仪(老练产品)的详细规划思路:
1、硬件方面:用有备用电池供电的日历芯片DS1302作电子钟的标准时刻,AVR外置I2C存储器,LED作状况和时刻显现,四至五个轻触开关作操控,输出选用无触点计划。供电:12V直流/220V两用,没有市电主动转化12V蓄电池供电。
操控开关的分配:时分调整2个,功用转化1个,存储或显现记载打铃点1个,备用1个。
2、软件方面:从存储器中取出一切打铃点(一般要限额),每分钟比照一次,查询是否存在打铃点。假如有则履行打铃程序。假如打铃点作了调整,则再次取出打铃点。
自己不负自己希望,在学习使用AVR单片机方面获得严重的发展。自己现已具有开始使用AVR制造打铃仪的规划、编程才能。尽管现在制造的模型仍存在一些缺陷而不能推行、使用,但规划思路现已适当明晰,制造成功已指日可下。
下面是部分源程序:
time();
jinwei();
scankey();
if(hour==hour00&min==min00&out==1)//三个条件缺一不可
{
savenum=savenum+2;
hour00=EEPROMread(savenum);
_NOP();_NOP();_NOP();
min00=EEPROMread(savenum+1);
daling();
}