電子工程網(wǎng)
標題: 基于 AT89S52、DS1302、LCD1602 的 時(shí)鐘 日歷 鬧鐘(含C源文件、詳細程序摘要) [打印本頁(yè)]
作者: MCU_NEWER 時(shí)間: 2013-7-1 20:49
標題: 基于 AT89S52、DS1302、LCD1602 的 時(shí)鐘 日歷 鬧鐘(含C源文件、詳細程序摘要)
在網(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
-
-
DS1302_1602.rar
2013-7-1 20:45 上傳
點(diǎn)擊文件名下載附件
下載積分: 積分 -1
494.96 KB, 下載積分: 積分 -1
售價(jià): 3 積分 [記錄]
C源程序、及摘要
作者: MCU_NEWER 時(shí)間: 2013-7-1 20:56
以前未試過(guò)利用時(shí)鐘芯片DS1302來(lái)編時(shí)鐘程序,通過(guò)這次修改程序、增加功能,編寫(xiě)程序摘要文檔使我更加理解程序的功能及執行過(guò)程,同時(shí)也加深了對 DS1302、LCD1602 的了解。
看來(lái)編寫(xiě)文檔,很好!很好!
作者: MCU_NEWER 時(shí)間: 2013-7-1 21:21
附件中C源文件生成的HEX文件顯示達到9KB之大(我是用 Keil uVision3 來(lái)編的),但程序中并未增加以下功能:
1、顯示“AM”、“PM” 的功能。
2、12小時(shí)制與24小時(shí)制之間切換的功能,現在只能以24小時(shí)制來(lái)顯示。
3、在調整參數大小的過(guò)程中,不能通過(guò)長(cháng)按加減鍵來(lái)實(shí)現自動(dòng)快速加減數。
4、只能設置1個(gè)鬧鐘,不能設置多個(gè)。
5、沒(méi)有秒表功能。
6、鬧鐘鈴聲只有“嘀嘀”聲,沒(méi)有樂(lè )曲。
7、也不能通過(guò)與PC機連接,進(jìn)行由PC機來(lái)在線(xiàn)實(shí)時(shí)修改時(shí)鐘日歷的參數。
作者: MCU_NEWER 時(shí)間: 2013-7-2 21:41
還可以再加上懶人鬧鐘的功能。
作者: daizhi1970 時(shí)間: 2013-7-9 16:01
學(xué)習O(∩_∩)O謝謝
作者: huangze2012 時(shí)間: 2013-12-7 10:21
謝謝
作者: lq520yxh520 時(shí)間: 2013-12-30 14:39

作者: Hugo801122 時(shí)間: 2014-2-18 18:31
樓主真熱心,分享這么好的嵌入式系統資料,多謝!
作者: yangxf0120 時(shí)間: 2014-8-20 21:52
謝謝你提供好的資料,學(xué)習學(xué)習~
作者: 噢噢噢 時(shí)間: 2014-12-10 23:49

作者: 渴望 時(shí)間: 2014-12-14 00:31
看看,,,,
作者: pcbkey 時(shí)間: 2015-2-2 11:04
樓主厲害
作者: sheron888 時(shí)間: 2015-4-6 14:46
卡卡看看。。。。
作者: ceip2183 時(shí)間: 2015-4-7 13:09
這個(gè)帖子怎么收藏???
作者: myjanly 時(shí)間: 2015-4-7 17:32
樓上看什么?
作者: licu 時(shí)間: 2015-4-13 14:38
學(xué)習了,謝謝版主分享!!
作者: tangbaozi 時(shí)間: 2015-5-16 18:41
謝謝分享
作者: 煙斂寒林 時(shí)間: 2015-5-17 14:19
很好
作者: 隨心小7 時(shí)間: 2016-11-10 19:30
樓主為什么按照你的仿真LCD不顯示
作者: 海潮 時(shí)間: 2017-4-10 16:02
你好 謝謝分享
作者: 無(wú)所畏懼 時(shí)間: 2017-7-26 23:50
注冊 學(xué)習!
作者: 咖啡so 時(shí)間: 2017-8-2 17:42
想要學(xué)習linux底層開(kāi)發(fā)的速加君羊201030910
作者: 1207435600 時(shí)間: 2017-8-8 15:18
我現在也想找一個(gè)時(shí)鐘芯片,要求是外掛晶振的,誤差24小時(shí)小于1秒,請問(wèn)那位朋友可以推薦一顆芯片呀,謝謝。
歡迎光臨 電子工程網(wǎng) (http://selenalain.com/) |
Powered by Discuz! X3.4 |
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页