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