自制LED電子鐘在很多電子報(bào)刊雜志上都可以見(jiàn)到,但大多數(shù)在斷電后都要重新設(shè)置時(shí)間等參數(shù),,給使用帶來(lái)很多不便,。也有用后備電池作為備用電源的,但往往體積較大,。本文介紹的LED電子鐘克服了以往的弊端,,而且采用了家電通用的紅外遙控器進(jìn)行控制,方便使用,。有一路鬧鈴輸出,,可以通過(guò)遙控器設(shè)置鬧鈴時(shí)間及允許與否。
一.工作原理
DS1302為達(dá)拉斯公司的一種實(shí)時(shí)時(shí)鐘芯片,,主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能,。采用普通32768Hz晶振,。
AT89C2051作為主控芯片,一是對(duì)接收到的紅外遙控編碼進(jìn)行判斷識(shí)別,,并執(zhí)行相應(yīng)的處理;第二就是定期的讀取時(shí)鐘芯片DS1302中的時(shí)間并把小時(shí)和肥以示在4位LED中,;第三就是對(duì)設(shè)置的鬧鈴時(shí)間與實(shí)時(shí)時(shí)間進(jìn)行比較,,如果時(shí)間相同且鬧鈴允許,那么蜂鳴器就會(huì)以1秒的周期鳴響一分鐘,,提醒使用者,。如果要停止鳴鬧,只要按遙控器相應(yīng)鍵就可以關(guān)閉鬧鈴,。
鬧鈴時(shí)間保存在DS1302自帶的RAM中,,不需要單獨(dú)的EEPROM,。
二.硬件電路
圖一為電子鐘的原理圖,IC2為DS1302,,電子愛(ài)好者可以向MAXIM公司索取免費(fèi)樣品,。Y2為32768 Hz石英晶振,可以用普通電子表里的,。IC3為三腳的塑封一體化紅外接收頭,。LED1-4為高亮度共陽(yáng)數(shù)碼管。89C2051所用的晶振Y1如果沒(méi)有10MHz也可以用其他12M以內(nèi)的代替,,只要修改程序中YS1和YS2的延時(shí)參數(shù),,讓其保持延時(shí)長(zhǎng)度不變就行。調(diào)整R2可以改變數(shù)碼管亮度,。P1口接數(shù)碼管的八字段,。數(shù)碼管左兩位顯示小時(shí),右兩位顯示分,,當(dāng)顯示的是鬧鈴時(shí)間時(shí)閃動(dòng),。第二位和第三位的小數(shù)點(diǎn)作為秒閃動(dòng),注意第三位數(shù)碼管按圖一布好印制版后安裝時(shí)要旋轉(zhuǎn)180°,,以便讓時(shí)和分之間出現(xiàn)“:”,,最后一位小數(shù)點(diǎn)作為鬧鈴開(kāi)關(guān)標(biāo)志,亮表示鬧鈴開(kāi)啟,。蜂鳴器B2采用小型自帶音源的,。
圖1 電子鐘原理圖
要特別說(shuō)明的是備用電源B1,可以用電池或者超級(jí)電容(10萬(wàn)uF以上),。雖然DS1302在主電源掉電后,,耗電很小,但如果要長(zhǎng)時(shí)間保證時(shí)鐘正常,,最好選用小型充電電池,。可以用老式電腦主板上的那種3.6V充電電池,。如果斷電時(shí)間較短(幾小時(shí)或幾天)時(shí),,就可以用漏電較小的普通電解電容代替。100uF就可以保證1小時(shí)的正常走時(shí),。DS1302在第一次加電后,,須進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間及鬧鈴,。
三.軟件
軟件部分的重點(diǎn)是對(duì)DS1302的操作以及紅外遙控的解碼,。單片機(jī)解碼可參看其他文章,這里主要對(duì)設(shè)置部分作一些說(shuō)明:
遙控器采用長(zhǎng)虹彩電K11F型遙控器,遙控器按照16位地址碼,,8位數(shù)據(jù)碼以及8位數(shù)據(jù)碼的反碼發(fā)送,。表一列出了各按鍵的編碼及本電子鐘對(duì)應(yīng)的動(dòng)作。如果采用其他遙控器,,需對(duì)程序相應(yīng)部分的編碼作修改,。
操作方法中,任意是指該鍵第一次按后,,進(jìn)入該狀態(tài),,再次按后退出該狀態(tài)。
時(shí)間設(shè)置:按“菜單”鍵進(jìn)入設(shè)置狀態(tài),,LED只顯示正常時(shí)間的小時(shí),,按“↑↓”鍵調(diào)整數(shù)值,按“←“,、”→”鍵可在鬧鈴與正常時(shí)間之間移動(dòng),。任意時(shí)刻再次按“菜單”鍵就退出設(shè)置。
鬧鈴設(shè)置:鬧鈴時(shí)間在時(shí)間設(shè)置中進(jìn)行,。鬧鈴允許和取消可在任意時(shí)刻按“靜音”鍵,。
顯示開(kāi)關(guān):可在任意時(shí)刻按“顯示”鍵開(kāi)啟和關(guān)閉顯示器。
初始化:在按“菜單”鍵進(jìn)入設(shè)置狀態(tài)后任意時(shí)刻按“日歷”鍵,,初始化后的時(shí)間為2002/12/1/12:00:00; DS1302+AT89C2051的LED鐘遙控器各按鍵數(shù)據(jù)碼,,可根據(jù)不同的遙控器修改對(duì)應(yīng)的鍵碼
muteM EQU 10h ;靜音鍵 鬧鈴開(kāi)/關(guān)
timerT EQU 0Ch ;菜單鍵 進(jìn)入/退出設(shè)置狀態(tài)
leftL EQU 46h ;左移鍵
rightR EQU 47h ;右移鍵
upU EQU 19h ;增加鍵
downD EQU 1dh ;減少鍵
d_off EQU 16H ;顯示鍵 LED數(shù)碼管顯示/關(guān)閉
recall EQU 44H ;日歷鍵
DS1302初始化操作
K_on BIT P3.0 ;鬧鈴輸出
LED1 BIT P3.3
LED2 BIT P3.4
LED3CLK BIT P3.5 ;DS1302
LED4IO BIT P3.7
RST BIT P3.1
SECOND EQU 60H;
60H 秒;
61h 分;
62h 時(shí);
63h 日;
64h 月;
65h DAY;
66h 年;
6Ah 鬧分 from 00(1302);
6BH 鬧時(shí) from 01(1302);