- 相關(guān)推薦
簡析基于DS1302和LCD1602的萬年歷系統(tǒng)設(shè)計(jì)論文
0引言
在日常生活中,無論哪一行業(yè),哪一領(lǐng)域,時(shí)間授時(shí)都是不可或缺的。從古老的鐘表到現(xiàn)代的電子設(shè)備都提供時(shí)間授時(shí)的功能。因此,對于單片機(jī)學(xué)習(xí)者來說,設(shè)計(jì)并實(shí)現(xiàn)一款低成本的,有操作性的,提供年,月,日,小時(shí),分,秒,星期等基本計(jì)時(shí)功能的萬年歷系統(tǒng),顯得特別實(shí)用,特別有意義。
1總體設(shè)計(jì)及原理圖
萬年歷的基本功能一是要提供年月日等基本時(shí)間項(xiàng)的授時(shí);二是可以修改時(shí)間項(xiàng);谝陨蟽蓚(gè)功能,我們?nèi)f年歷總體設(shè)計(jì)方案。
萬年歷有時(shí)鐘計(jì)時(shí)模塊,顯示模塊,調(diào)整時(shí)鐘模塊和控制器4部分組成。接下來的任務(wù)就是對以上模塊進(jìn)行選型。低成本,可操作是選型的標(biāo)準(zhǔn)。對于控制器,選擇最常用的C51系列單片機(jī)STC89C52。
STC89C52是由宏品科技生產(chǎn)的是一種低功耗8位基于經(jīng)典C51內(nèi)核的微處理器,具有8 KhyteFLASH存儲器,512 byte RAM , 4 KByte EEPROM , 32位通用IO接口,可以直接用串口下載程序。
時(shí)鐘模塊選擇由dallas公司生產(chǎn)的時(shí)鐘芯片DS1302,DS1302是一款支持年月日,小時(shí)分秒,星期,閏年補(bǔ)償?shù)膶?shí)時(shí)時(shí)鐘芯片;其簡單三線結(jié)構(gòu)可以很方便地與單片機(jī)通用IO相連,進(jìn)行串行總線讀寫傳輸。
顯示模塊選擇16x2的字符點(diǎn)陣模塊LCD 16020LC D 1602的控制器以Hitachi公司生產(chǎn)的HD44780芯片最為常見。LC D 1602引腳主要包括3類,第1類是電源。第2類是8位數(shù)據(jù)I/0通道,用于讀寫LC D 1602。第3類是3根控制線,RS,R/W和E,其中,RS和R/W是用于實(shí)現(xiàn)LCD不同操作的。
E是作為讀寫的啟動信號,有點(diǎn)類似一個(gè)時(shí)鐘信號,數(shù)據(jù)要寫人LC D 1602或從LCD 1602讀出數(shù)據(jù)均需要首先置E信號為高至少1 s,然后置低。
調(diào)整時(shí)鐘模塊設(shè)計(jì)了4個(gè)輕觸開關(guān),用于設(shè)定和修改時(shí)間項(xiàng)。
根據(jù)總體設(shè)計(jì)方案和各個(gè)模塊的特性。設(shè)計(jì)了萬年歷的原理圖STC89C52的PO口作為通過IO來用,連接上拉電阻。時(shí)鐘芯片DS1302由32.768 Khz的品振作為時(shí)鐘源,用于串行數(shù)據(jù)傳輸?shù)腟CLK,SDA,RST分別于STC89C52的P0.3,P0.4,P0.5相連。顯示模塊LC D 1602的8位數(shù)據(jù)通道DO,D7與STC89C52的P2相連,其控制引腳RS,RW,E分別于STC89C52的P0.1 , P0.2 , P0.3相連。P1.O}P1.4連接4個(gè)上拉電阻和輕觸開關(guān),未按下為高電平,按下為低電平。
2軟件設(shè)計(jì)
通過STCS9cs2讀取DS1302各個(gè)時(shí)間項(xiàng)的值,然后顯示到LC D1602,4個(gè)輕觸開關(guān),S1用于選擇年月日等時(shí)間修改項(xiàng),S2和S3用于在修改時(shí)間項(xiàng),增加和減少某個(gè)時(shí)間項(xiàng)的數(shù)值,S4鍵用于確認(rèn)時(shí)間項(xiàng)的修改。基于以上需要實(shí)現(xiàn)的功能,設(shè)計(jì)了軟件總體流程圖。
首先設(shè)計(jì)了讀取DS1302各個(gè)時(shí)間項(xiàng)寄存器模塊。DS1302有兩類寄存器,一類是時(shí)間項(xiàng)讀寫寄存器,另一類是控制寄存器,與萬年歷系統(tǒng)相關(guān)有7個(gè)時(shí)間項(xiàng)讀寫寄存器和一個(gè)控制寄存器。
7個(gè)時(shí)間項(xiàng)寄存器分別可以讀寫秒,分,小時(shí),日期,月,星期和年?刂萍拇嫫鱟ontrol,其第7位WP用于對時(shí)間項(xiàng)寄存器的寫保護(hù),該位為0,允許對年月日等時(shí)間項(xiàng)寄存器寫,該位為1,禁止對其他寄存器寫。所有的時(shí)間項(xiàng)寄存器值均采用BCD碼格式存放。DS1302時(shí)間項(xiàng)寄存器是讀還是寫由該寄存器號的最后一位決定,最后一位為0就是寫人,為1就是讀出。秒寄存器最高位CH用于控制DS1302計(jì)時(shí)的啟停。 CH為1計(jì)時(shí)會中止,DS1302進(jìn)人待機(jī)模式。CH為0啟動計(jì)時(shí)。在按鍵設(shè)定DS1302時(shí)間項(xiàng)值的時(shí)候該位需置1。小時(shí)寄存器可以設(shè)置12或24小時(shí)制,第7位為1選擇12小時(shí)制,在這種制式下,第5位為1表示PM,為0表示AM。第7為為0選擇24小時(shí)制。
軟件的第3個(gè)部分是設(shè)計(jì)如何實(shí)現(xiàn)按鍵設(shè)定修改時(shí)間項(xiàng)。按鍵S1的功能有兩個(gè):一是按下表示需要設(shè)定時(shí)間項(xiàng),中止DS1302計(jì)時(shí),關(guān)閉DS1302寄存器寫保護(hù);二是再次不斷按下選擇設(shè)定不同的時(shí)間項(xiàng),從年開始,月,日,一直到星期,再回到年,在哪個(gè)時(shí)間項(xiàng)停留,在LC D 1602顯示的該項(xiàng)目就閃爍,就可以開始按S2或S3開始增加或減少該時(shí)間項(xiàng)的值。S4鍵的功能是確認(rèn)修改,打開DS1302寫保護(hù),重新啟動DS1302計(jì)時(shí)。
除了以上3部分的軟件設(shè)計(jì),軟件部分還設(shè)計(jì)了初始化LCD 1602和DS1302的程序。
3結(jié)束語
從設(shè)定目標(biāo)任務(wù),完成總體設(shè)計(jì)方案,基于低成本、通用原則選擇相應(yīng)的元器件,設(shè)計(jì)原理圖,到整體軟件設(shè)計(jì),各個(gè)模塊的軟件設(shè)計(jì),本文完成了萬年歷系統(tǒng)的設(shè)計(jì),并完成了實(shí)物設(shè)計(jì)。從應(yīng)用的角度看,該系統(tǒng)既可以滿足學(xué)習(xí)者很好地學(xué)習(xí)單片機(jī)知識,又可以為學(xué)習(xí)者設(shè)計(jì)、完成其他系統(tǒng)提供借鑒。
【簡析基于DS1302和LCD1602的萬年歷系統(tǒng)設(shè)計(jì)論文】相關(guān)文章:
基于系統(tǒng)設(shè)計(jì)的科研管理論文09-22
《詩經(jīng)·碩鼠》簡析01-24
陶淵明飲酒簡析11-12
《浣溪沙》原文及簡析01-06
過秦論課文簡析03-18
云南作文及簡析01-28
簡析幼兒美術(shù)教育對幼兒的發(fā)展和成長的重要性論文09-30
簡析小兒計(jì)劃免疫現(xiàn)狀及對策研究論文07-12
《魚我所欲也》簡析和賞析01-07