DS1302+AT89C2051控制的紅外遙控LED電子鐘設(shè)計(jì)
自制LED電子鐘在很多電子類報(bào)刊雜志上都可以見到,但多數(shù)在斷電后要重新設(shè)置時(shí)間等參數(shù),給使用帶來不便。也有用電池作為備用電源的,但往往體積較大。本文介紹的LED電子鐘克服了上述弊端,加上采用家電通用的紅外遙控器進(jìn)行控制,使用方便。該電子鐘有一路鬧鈴輸出,可以通過遙控器設(shè)置鬧鈴時(shí)間及鬧鈴允許。
一、工作原理
實(shí)時(shí)時(shí)鐘芯片DS1302采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,也可以關(guān)閉充電功能,芯片采用32768Hz晶振。
AT89C2051作為主控芯片,其功能一是對(duì)接收到的紅外遙控編碼進(jìn)行判斷識(shí)別,并進(jìn)行相應(yīng)的處理;二是定期讀?。模樱保常埃仓械臅r(shí)間,并把小時(shí)和分鐘送顯示;三是比較設(shè)置的鬧鈴時(shí)間與實(shí)時(shí)時(shí)間,如果相同且鬧鈴允許,則蜂鳴器以1秒的周期鳴響一分鐘。按遙控器相應(yīng)鍵可以關(guān)閉鬧鈴。鬧鈴時(shí)間保存在DS1302的RAM中,不需要單獨(dú)的EEPROM。
二、硬件電路
附圖為電子鐘的原理圖。IC2為DS1302,電子愛好者可以向MAXIM公司索取免費(fèi)樣品。Y2為32768 Hz石英晶振,可以用普通電子表里的晶振。IC3為3腳塑封一體化紅外接收頭。LED1~LED4為高亮度共陽數(shù)碼管。如果沒有10MHz晶振,Y1也可以用其他12MHz以內(nèi)的代替,但要修改程序中YS1和YS2的延時(shí)參數(shù),以保持延時(shí)時(shí)間不變。調(diào)整R2可以改變數(shù)碼管的亮度。P1口輸出段碼。數(shù)碼管左邊兩位顯示小時(shí),右邊兩位顯示分,當(dāng)顯示鬧鈴時(shí)間時(shí)閃動(dòng)。第二位和第三位的小數(shù)點(diǎn)作為秒閃動(dòng)。注意第三位數(shù)碼管按附圖布好印制版后安裝時(shí)要旋轉(zhuǎn)180°,以便讓時(shí)和分之間出現(xiàn)“:”。最后一位小數(shù)點(diǎn)作為鬧鈴開關(guān)標(biāo)志,亮表示鬧鈴開啟。蜂鳴器B2采用小型自帶音源的。
要特別說明的是,備用電源B1可以用電池或超級(jí)電容(10萬μF以上)。雖然DS1302在主電源掉電后耗電很小,但如果要長(zhǎng)時(shí)間保證時(shí)鐘正常,最好選用小型充電電池。可以用老式電腦主板上的3.6V充電電池。如果斷電時(shí)間較短(幾小時(shí)或幾天),可以用漏電較小的普通電解電容代替(100μF就可以保證1小時(shí)的正常走時(shí))。DS1302在第一次加電后,需進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間及鬧鈴。
三、軟件設(shè)計(jì)
這里主要對(duì)設(shè)置部分的軟件作一些說明。
采用長(zhǎng)虹彩電K11F型遙控器,遙控器按照16位地址碼、8位數(shù)據(jù)碼以及8位數(shù)據(jù)碼的反碼發(fā)送。附表列出了各按鍵的編碼及本電子鐘對(duì)應(yīng)的動(dòng)作。如果采用其他遙控器,需對(duì)程序相應(yīng)部分的編碼進(jìn)行修改。
表中的操作方法中,“任意”是指該鍵第一次按后,進(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í)刻按“靜音”鍵。
顯示開關(guān):在任意時(shí)刻按“顯示”鍵開啟或關(guān)閉顯示器。
初始化:在按“菜單”鍵進(jìn)入設(shè)置狀態(tài)后任意時(shí)刻,按“日歷”鍵執(zhí)行初始化。初始化后的時(shí)間為2002/12/1/12∶00∶00?! ?br />
評(píng)論