博文谷

位置:首頁 > 實用範文 > 論文

簡析基於DS1302和LCD1602的萬年曆系統設計論文

論文1.67W

0引言

簡析基於DS1302和LCD1602的萬年曆系統設計論文

在日常生活中,無論哪一行業,哪一領域,時間授時都是不可或缺的。從古老的鐘表到現代的電子設備都提供時間授時的功能。因此,對於單片機學習者來說,設計並實現一款低成本的,有操作性的,提供年,月,日,小時,分,秒,星期等基本計時功能的萬年曆系統,顯得特別實用,特別有意義。

1總體設計及原理圖

萬年曆的基本功能一是要提供年月日等基本時間項的授時;二是可以修改時間項。基於以上兩個功能,我們萬年曆總體設計方案

萬年曆有時鐘計時模組,顯示模組,調整時鐘模組和控制器4部分組成。接下來的任務就是對以上模組進行選型。低成本,可操作是選型的標準。對於控制器,選擇最常用的C51系列單片機STC89C52。

STC89C52是由宏品科技生產的是一種低功耗8位基於經典C51內核的微處理器,具有8 KhyteFLASH存儲器,512 byte RAM , 4 KByte EEPROM , 32位通用IO接口,可以直接用串口下載程序。

時鐘模組選擇由dallas公司生產的時鐘芯片DS1302,DS1302是一款支援年月日,小時分秒,星期,閏年補償的實時時鐘芯片;其簡單三線結構可以很方便地與單片機通用IO相連,進行串行總線讀寫傳輸。

顯示模組選擇16x2的字元點陣模組LCD 16020LC D 1602的控制器以Hitachi公司生產的HD44780芯片最爲常見。LC D 1602引腳主要包括3類,第1類是電源。第2類是8位數據I/0通道,用於讀寫LC D 1602。第3類是3根控制線,RS,R/W和E,其中,RS和R/W是用於實現LCD不同操作的。

E是作爲讀寫的啓動信號,有點類似一個時鐘信號,數據要寫人LC D 1602或從LCD 1602讀出數據均需要首先置E信號爲高至少1 s,然後置低。

調整時鐘模組設計了4個輕觸開關,用於設定和修改時間項。

根據總體設計方案和各個模組的特性。設計了萬年曆的原理圖STC89C52的PO口作爲透過IO來用,連接上拉電阻。時鐘芯片DS1302由32.768 Khz的品振作爲時鐘源,用於串行數據傳輸的SCLK,SDA,RST分別於STC89C52的P0.3,P0.4,P0.5相連。顯示模組LC D 1602的8位數據通道DO,D7與STC89C52的P2相連,其控制引腳RS,RW,E分別於STC89C52的P0.1 , P0.2 , P0.3相連。P1.O}P1.4連接4個上拉電阻和輕觸開關,未按下爲高電平,按下爲低電平。

2軟件設計

透過STCS9cs2讀取DS1302各個時間項的值,然後顯示到LC D1602,4個輕觸開關,S1用於選擇年月日等時間修改項,S2和S3用於在修改時間項,增加和減少某個時間項的數值,S4鍵用於確認時間項的修改。基於以上需要實現的功能,設計了軟件總體流程圖。

首先設計了讀取DS1302各個時間項寄存器模組。DS1302有兩類寄存器,一類是時間項讀寫寄存器,另一類是控制寄存器,與萬年曆系統相關有7個時間項讀寫寄存器和一個控制寄存器。

7個時間項寄存器分別可以讀寫秒,分,小時,日期,月,星期和年。控制寄存器control,其第7位WP用於對時間項寄存器的寫保護,該位爲0,允許對年月日等時間項寄存器寫,該位爲1,禁止對其他寄存器寫。所有的時間項寄存器值均採用BCD碼格式存放。DS1302時間項寄存器是讀還是寫由該寄存器號的最後一位決定,最後一位爲0就是寫人,爲1就是讀出。秒寄存器最高位CH用於控制DS1302計時的啓停。 CH爲1計時會中止,DS1302進人待機模式。CH爲0啓動計時。在按鍵設定DS1302時間項值的時候該位需置1。小時寄存器可以設定12或24小時制,第7位爲1選擇12小時制,在這種制式下,第5位爲1表示PM,爲0表示AM。第7爲爲0選擇24小時制。

軟件的第3個部分是設計如何實現按鍵設定修改時間項。按鍵S1的功能有兩個:一是按下表示需要設定時間項,中止DS1302計時,關閉DS1302寄存器寫保護;二是再次不斷按下選擇設定不同的時間項,從年開始,月,日,一直到星期,再回到年,在哪個時間項停留,在LC D 1602顯示的該項目就閃爍,就可以開始按S2或S3開始增加或減少該時間項的值。S4鍵的功能是確認修改,開啟DS1302寫保護,重新啓動DS1302計時。

除了以上3部分的軟件設計,軟件部分還設計了初始化LCD 1602和DS1302的程序。

3結束語

從設定目標任務,完成總體設計方案,基於低成本、通用原則選擇相應的元器件,設計原理圖,到整體軟件設計,各個模組的軟件設計,本文完成了萬年曆系統的設計,並完成了實物設計。從應用的角度看,該系統既可以滿足學習者很好地學習單片機知識,又可以爲學習者設計、完成其他系統提供借鑑。