應(yīng)用AVR單片機(jī)制作電子打鈴儀的思路
下面是打鈴儀(成熟產(chǎn)品)的具體設(shè)計(jì)思路:
1、硬件方面:用有備用電池供電的日歷芯片DS1302作電子鐘的標(biāo)準(zhǔn)時(shí)間,AVR外置I2C存儲(chǔ)器,LED作狀態(tài)和時(shí)間顯示,四至五個(gè)輕觸開(kāi)關(guān)作控制,輸出采用無(wú)觸點(diǎn)方案。供電:12V直流/220V兩用,沒(méi)有市電自動(dòng)轉(zhuǎn)換12V蓄電池供電。
控制開(kāi)關(guān)的分配:時(shí)分調(diào)整2個(gè),功能轉(zhuǎn)換1個(gè),存儲(chǔ)或顯示記錄打鈴點(diǎn)1個(gè),備用1個(gè)。
2、軟件方面:從存儲(chǔ)器中取出所有打鈴點(diǎn)(一般要限額),每分鐘對(duì)比一次,查詢是否存在打鈴點(diǎn)。如果有則執(zhí)行打鈴程序。如果打鈴點(diǎn)作了調(diào)整,則再次取出打鈴點(diǎn)。
本人不負(fù)自己期望,在學(xué)習(xí)應(yīng)用AVR單片機(jī)方面取得重大的進(jìn)展。本人已經(jīng)具備初步應(yīng)用AVR制作打鈴儀的設(shè)計(jì)、編程能力。雖然現(xiàn)在制作的模型仍存在一些缺點(diǎn)而不能推廣、應(yīng)用,但設(shè)計(jì)思路已經(jīng)相當(dāng)清晰,制作成功已指日可待。
下面是部分源程序:
time();
jinwei();
scankey();
if(hour==hour00&min==min00&out==1)//三個(gè)條件缺一不可
{
savenum=savenum+2;
hour00=EEPROMread(savenum);
_NOP();_NOP();_NOP();
min00=EEPROMread(savenum+1);
daling();
}
評(píng)論