單片機(jī)萬年歷課程設(shè)計(jì)--基于1602液晶顯示的電子時(shí)鐘萬年歷_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  記錄時(shí)間的腳印</b></p><p>  —基于1602液晶顯示的電子時(shí)鐘萬年歷</p><p><b>  設(shè)計(jì)報(bào)告</b></p><p>  學(xué)院: </p><p><b>  班級(jí):</b&

2、gt;</p><p><b>  姓名:</b></p><p><b>  學(xué)號(hào): </b></p><p><b>  指導(dǎo)老師:</b></p><p><b>  摘 要 </b></p><p>  隨著科技的快速

3、發(fā)展,時(shí)間的流逝,至從觀太陽、擺鐘到現(xiàn)在電子鐘,人類不斷研究,不斷創(chuàng)新紀(jì)錄。美國DALLAS公司推出的具有涓細(xì)電流充電能的低功耗實(shí)時(shí)時(shí)鐘電路DS1302。它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,而且DS1302的使用壽命長,誤差小。對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信息,還具有時(shí)間校準(zhǔn)等功能。該電路采用STC89C51單片機(jī)作為核心,功耗小,能在5V的低

4、壓工作,電壓可選用3~5V電壓供電。</p><p>  綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。</p><p>  本電路為實(shí)現(xiàn)電子萬年歷的功能,采用單片機(jī)STC89C51,輔助以必要的外圍電路,用C語言編寫程序,并進(jìn)行模塊化設(shè)計(jì)而成的電子萬年歷系統(tǒng).它通過LCD能正確顯示陽歷星期和時(shí)分秒,溫度等,

5、具有功能穩(wěn)定,精確度高和可調(diào)的特點(diǎn)。</p><p>  關(guān)鍵詞: 單片機(jī);AT89C52;DS1302;1602LCD</p><p><b>  一、 方案選擇</b></p><p><b>  1.1時(shí)鐘芯片選擇</b></p><p>  方案一:不使用芯片,采用單片機(jī)的定時(shí)計(jì)數(shù)器<

6、/p><p>  這種方法原理是利用單片機(jī)芯片的定時(shí)器來產(chǎn)生固定的時(shí)間,模擬時(shí)鐘的時(shí), 分,秒。如:利用AT80C52芯片,定時(shí)器用工作方式1,每50ms產(chǎn)生一個(gè)中斷,循環(huán)20次,即1s周期。每一個(gè)周期加1,那么1min為60個(gè)周期,1h就是60*60=3600個(gè)周期,一天就是3600*24=86400個(gè)周期。</p><p>  此方法優(yōu)點(diǎn)是可以省去一些外圍的芯片,但這種方法只能適用于一些要

7、求不是十分精確,不做長期保留的場合。</p><p>  方案二:并行接口時(shí)鐘芯片 DS12887</p><p>  特點(diǎn):采用單片機(jī)應(yīng)用系統(tǒng)并行總線(三總線)擴(kuò)展的接口電路,采用這種接口電路具有操作速度快,編程方便的優(yōu)點(diǎn)。</p><p>  但是對于80C52單片機(jī)來說,低位地址線要通過鎖存器輸出,還要地址譯碼器,而且并行口芯片的體積相對較大,DS12887管

8、腳圖如圖1示。</p><p>  圖1 DS12887管腳</p><p>  方案三:串行接口時(shí)鐘芯片DS1302</p><p><b>  芯片主特性:</b></p><p>  實(shí)時(shí)時(shí)鐘具有能計(jì)算2100 年之前的秒分時(shí)日日期星期月年的能力,還有閏年調(diào)整的能力

9、 </p><p>  31 8 位暫存數(shù)據(jù)存儲(chǔ)RAM</p><p> ?。?)串行 I/O 口方式使得管腳數(shù)量最少</p><p>  (4)寬范圍工作電壓2.0 5.5V</p><p> ?。?)工作電流 2.0V 時(shí),小于300nA</p><p> ?。?)讀/寫時(shí)鐘或RAM 數(shù)據(jù)時(shí)有

10、兩種傳送方式單字節(jié)傳送和多字節(jié)傳送字符組方式</p><p> ?。?)8 腳DIP 封裝或可選的8 腳SOIC 封裝根據(jù)表面裝配</p><p>  (8)簡單 3 線接口</p><p> ?。?)與 TTL 兼容Vcc=5V</p><p> ?。?0)可選工業(yè)級(jí)溫度范圍-40~+85</p><p>  優(yōu)點(diǎn):

11、串行接口的日歷時(shí)鐘芯片,使用簡單,接口容易,與微型計(jì)算機(jī)連線較少等特點(diǎn),在單片機(jī)系統(tǒng)尤其是手持式信息設(shè)備中己得到了廣泛的應(yīng)用。</p><p>  所以,最終選擇串行時(shí)鐘芯片DS1302,DS1302的管腳圖如圖2所示。</p><p>  圖2 DS1302管腳圖</p><p><b>  1.2顯示模塊選擇</b></p>

12、<p>  方案一:LED數(shù)碼管顯示</p><p>  數(shù)碼管顯示比較常用的是采用CD4511和74LS138實(shí)現(xiàn)數(shù)碼轉(zhuǎn)換,數(shù)碼顯示分動(dòng)態(tài)顯示和靜態(tài)顯示,靜態(tài)顯示具有鎖存功能,可以使數(shù)據(jù)顯示得很清楚,但浪費(fèi)了一些資源。目前單片機(jī)數(shù)碼管普通采用動(dòng)態(tài)顯示。編程簡單,但只能顯示數(shù)字,不能顯示中文。</p><p>  方案二:LCD1602</p><p> 

13、 能夠顯示英文和數(shù)字。 1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。</p><p>  所以最終選擇LCD1602。</p>

14、<p><b>  二、主要硬件描述</b></p><p>  2.1 89C51模塊</p><p>  Mcs-51單片機(jī)管腳圖圖如圖3所示 :</p><p> ?。?)一個(gè)8位的微處理器(CPU)</p><p>  (2)片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM(128B/256B)</p><p

15、> ?。?)片內(nèi)程序存儲(chǔ)器ROM/EPROM(4kB/8kB)</p><p> ?。?)4個(gè)8位并行I/O拉口P0-P3,每個(gè)口既可以作輸入,也可以作輸出</p><p> ?。?)2個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p>  (6)5個(gè)中斷源的中斷控制系統(tǒng)</p><p> ?。?)1個(gè)全雙工的串行I/O接口</p>

16、<p>  片內(nèi)時(shí)鐘振蕩器 </p><p>  圖3 單片機(jī)管腳圖 </p><p>  2.2 1602液晶顯示模塊</p><p>  1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日

17、文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。</p><p>  2.2.1 原理及引腳說明</p><p>  VDD 接5V正電源</p><p>  VSS 地電源

18、 </p><p>  V0 液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比</p><p>  最高,對比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對比度。</p><p>  RS 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 </p><p>  RW 為讀

19、寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。</p><p>  E 端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。</p><p>  D0~D7為8位雙向數(shù)據(jù)線。</p><p>  2.2.2 主要技術(shù)參

20、數(shù) </p><p>  1602的主要技術(shù)參數(shù)見表1:</p><p>  表1 1602液晶顯示屏主要技術(shù)參數(shù)</p><p>  2.3 溫度傳感器DS18B20</p><p>  2.3.1 DS18B20的主要特性</p><p> ?。?)獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條

21、口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。 </p><p>  (2)在使用中不需要任何外圍元件。</p><p> ?。?)可用數(shù)據(jù)線供電,電壓范圍:+3.0~+5.5 V。</p><p>  (4)測溫范圍:-55 ~+125 ℃。固有測溫分辨率為0.5 ℃。</p><p>  (5)通過編程可實(shí)現(xiàn)9~12位的數(shù)字讀數(shù)方式。

22、</p><p>  (6)用戶可自設(shè)定非易失性的報(bào)警上下限值。</p><p> ?。?)支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測溫度。 </p><p> ?。?)負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。</p><p>  2.3.2 DS18B20工作原理</p>

23、;<p>  DS18B20的讀寫時(shí)序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s減為750ms。 DS18B20測溫原理如圖2-3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對低溫度

24、系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測溫度。圖4中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。</p><p><b>  圖4 測溫原理圖</b&

25、gt;</p><p>  2.3.3 DS18B20有4個(gè)主要的數(shù)據(jù)部件 </p><p> ?。?)光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一

26、個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。 </p><p>  (2)DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá)。這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0

27、625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。</p><p> ?。?)DS18B20溫度傳感器的存儲(chǔ)器:DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。 </p><p> ?。?)配置寄存器:該字節(jié)各位的意義如表2:&l

28、t;/p><p>  表2 配置寄存器結(jié)構(gòu)</p><p>  低五位一直都是"1",TM是測試模式位,用于設(shè)置DS18B20在工作模式,還是在測試模式。在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。R1和R0用來設(shè)置分辨率。</p><p>  2.4 時(shí)鐘電路模塊的設(shè)計(jì)</p><p>  DS1302的引腳排列如

29、圖3.3所示,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,

30、允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RSTS置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電動(dòng)行時(shí),在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時(shí),才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。</p><p

31、>  圖5 DS1302的引腳圖</p><p>  2.4.1 時(shí)鐘芯片DS1302的工作原理</p><p>  DS1302在每次進(jìn)行讀、寫程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時(shí)序如下圖6所示。表3-1為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對DS1302進(jìn)行讀寫數(shù)據(jù)。對于位6,若對程序進(jìn)行讀

32、/寫時(shí)RAM=1,對時(shí)間進(jìn)行讀/寫時(shí),CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進(jìn)行讀操作時(shí),該位為1;該位為0則表示進(jìn)行的是寫操作??刂谱止?jié)總是從最低位開始輸入/輸出的。表3-2為DS1302的日歷、時(shí)間寄存器內(nèi)容:“CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時(shí),時(shí)鐘開始運(yùn)行?!癢P”是寫保護(hù)位,在任何的對時(shí)鐘和RAM的寫操作之前,WP必須為0。當(dāng)“WP”為1時(shí),寫保護(hù)

33、位防止對任一寄存器的寫操作。 </p><p>  圖6 DS1302讀/寫時(shí)序圖</p><p>  三、 硬件設(shè)計(jì)與實(shí)現(xiàn)</p><p>  3.1 以89S52作為控制核心,外接DS18B20溫度傳感器,DS1302時(shí)鐘芯片,顯示采用LCM12864,調(diào)表采用矩陣式鍵盤,整體硬件電路的框圖如圖7所示。</p><p>  圖7 硬件電

34、路框圖 </p><p><b>  3.2原理圖如下</b></p><p><b>  圖8 硬件原理圖</b></p><p>  AT89S51單片機(jī)為40引腳雙列直插芯片,有四個(gè)I/O口P0,P1,P2,P3, MCS-51單片機(jī)共有4個(gè)8位的I/O口(P0、P

35、1、P2、P3),每一條I/O線都能獨(dú)立地作輸出或輸入。</p><p>  單片機(jī)的最小系統(tǒng)如圖8所示,18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出。第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。DS1302串行時(shí)鐘芯片作為主時(shí)鐘電路

36、,該電路使用單獨(dú)的32.768K的晶振和單獨(dú)的電源供電,減小主控的負(fù)擔(dān)。</p><p>  采用數(shù)字式溫度傳感器DS18B20,它是數(shù)字式溫度傳感器,具有測量精度高,電路連接簡單特點(diǎn),此類傳感器僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,使用P0.7與DS18B20的I/O口連接加一個(gè)上拉電阻,Vcc接電源,Vss接地。</p><p>  四、電子時(shí)鐘的軟件設(shè)計(jì)</p><p&g

37、t;  4.1 系統(tǒng)軟件主程序流程圖 </p><p>  4.2 系統(tǒng)軟件按鍵檢測流程圖</p><p>  4.3 系統(tǒng)軟件定時(shí)器程序流程圖</p><p>  五、 測試結(jié)果分析與結(jié)果</p><p>  5.1 測試結(jié)果分析</p><p> ?。?)在測試中遇到LCD1602不

38、顯示</p><p>  分析:首先使用試測儀對電路進(jìn)行測試,觀察是否存在漏焊,虛焊,或者元件損壞。再接著研究程序的時(shí)序圖是否正確。最后發(fā)現(xiàn)是1602的液晶屏壞掉了,更換了新的就可以了。</p><p> ?。?)按鍵調(diào)整時(shí),不是按單位遞增和遞減</p><p>  分析:在鍵盤程序中,按鍵一次,向芯片寫入一個(gè)新的數(shù)字,在寫入數(shù)字后必須有一定延時(shí)才再寫入另一個(gè)數(shù)字&

39、lt;/p><p> ?。?)燒寫程序進(jìn)單片機(jī)里面時(shí),有時(shí)會(huì)在顯示屏上顯示爛碼.</p><p>  分析:用電壓表檢查.最后檢測出USB下載線的端口電壓不夠換條新線就可以把問題解決</p><p><b>  5.2 測試總結(jié)</b></p><p>  經(jīng)過多次的反復(fù)測試與分析,掌握了硬件的設(shè)計(jì)與分析的能力, 學(xué)會(huì)看英文

40、版的Datasheet,同時(shí)在軟件的編程方面得到更到的提高,對編程能力得到加強(qiáng)。對所學(xué)的知識(shí)得到很大的提高與鞏固。</p><p>  最終實(shí)現(xiàn)功能: (1)能顯示年、月、日、星期、小時(shí)、分、秒 、溫度。</p><p>  (2)顯示模塊采用LCD液晶顯示,要求能用按鍵調(diào)整時(shí)間。</p><p>  (3)具有定時(shí)鬧鐘功能。</p><p&g

41、t; ?。?)能夠準(zhǔn)確在LCD上顯示室溫。</p><p><b>  六、結(jié)束語</b></p><p>  通過對基于單片機(jī)的萬年歷的研究和設(shè)計(jì),完成了一種能夠顯示日期、星期、時(shí)間、實(shí)時(shí)溫度的多功能萬年歷,該萬年歷還可以定時(shí)鬧鐘。</p><p>  查看了還有單片機(jī)和各個(gè)芯片之間的通信協(xié)議,液晶的讀寫時(shí)序,按鍵的防抖。本系統(tǒng)基本完成了設(shè)計(jì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論