在網(wǎng)上下的程序,針對自己的學(xué)習(xí)板修改了引腳的定義,并實現(xiàn)/增加了以下功能: 1、設(shè)置參數(shù)其間光標(biāo)閃爍等待的功能。 網(wǎng)上下的原程序無此功能,設(shè)置日期、時間時不知道光標(biāo)移到哪?當(dāng)前選中哪個參數(shù),很不方便。 于是我修改了一下設(shè)置參數(shù)其間光標(biāo)顯示特性為“顯示+閃爍”,并增加了等待按鍵的語句就實現(xiàn)了。 2、增加了一個按鍵——確認(rèn)鍵 S4。 原程序只有3個按鍵,每次一進入設(shè)置參數(shù)模式后,都要進入到設(shè)置鬧鐘模式選中字符“@”再按一下加數(shù)鍵或減數(shù)鍵才能返回到正常顯示模式,這樣至少要按9次S1鍵(未進入設(shè)置鬧鐘模式、并且無調(diào)整過參數(shù)大小的情況),或者11次S1鍵+1次S2/S3鍵(有進入過設(shè)置鬧鐘的情況、并且無調(diào)整過參數(shù)大小的情況)。可見會按到你煩。 于是我增加了一個按鍵——確認(rèn)鍵 S4,這樣每次進入設(shè)置參數(shù)模式后,一按S4鍵就可返回到正常顯示模式。 3、增加了鬧鐘記憶功能。 原程序雖然可以設(shè)置鬧鐘,但每當(dāng)復(fù)位、關(guān)斷電源后又重新接上電源時原來設(shè)置好的鬧鐘時間就掉失了,要重新設(shè)置。 于是我增加了鬧鐘記憶功能,把設(shè)置好的鬧鐘時間及鬧鐘開/關(guān)狀態(tài)保存下來,重新接電后就是斷電前設(shè)置的狀態(tài)。 注:使用本程序要注意的地方: 1、引腳定義時,DS1302、LCD1602 接到 AT89S52 的哪個引腳。 2、引腳定義部分并未指明 LCD1602 的8位數(shù)據(jù)線接到單片機的哪個 I/O 口,使用前記得要改為你自己的接法。 我的學(xué)習(xí)板接的是P2口,變量P2涉及到以下函數(shù): void write_com(uchar com) //寫入lcd顯示方式 void write_data(uchar date) //向lcd1602寫入數(shù)據(jù) 主要芯片:AT89S52、DS1302、LCD1602 一、系統(tǒng)功能: 1、 用液晶屏 LCD1602 分兩行顯示“ 年、月、日、周日、時、分、秒 ”,格式如下: 2013-06-28 Fri 15:18:36 2、 還可以設(shè)置1個鬧鐘。 3、 日期、時間、鬧鐘均可通過按鍵來調(diào)整。 4、 鬧鐘時間及開關(guān)狀態(tài)可保存,即關(guān)機后再開機會顯示上次關(guān)機前鬧鐘的設(shè)置 5、 共4個獨立按鍵: S1:功能鍵。用來選擇要更改的項目(年、月、日、周日、時、分、秒、鬧鐘)。 S2:加數(shù)鍵。按1下則數(shù)值加1。 S3:減數(shù)鍵。按1下則數(shù)值減1。 S4:確認(rèn)鍵。在設(shè)置參數(shù)模式下,一按此鍵程序即返回到正常顯示模式的狀態(tài)。 在設(shè)置鬧鐘模式下,屏幕第二行顯示的格式:@ NO 00:00:00
鬧鐘設(shè)置模式.JPG
設(shè)置鬧鐘模式
|