版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 記錄時間的腳印</b></p><p> —基于1602液晶顯示的電子時鐘萬年歷</p><p><b> 設(shè)計報告</b></p><p> 學(xué)院: </p><p><b> 班級:</b&
2、gt;</p><p><b> 姓名:</b></p><p><b> 學(xué)號: </b></p><p><b> 指導(dǎo)老師:</b></p><p><b> 摘 要 </b></p><p> 隨著科技的快速
3、發(fā)展,時間的流逝,至從觀太陽、擺鐘到現(xiàn)在電子鐘,人類不斷研究,不斷創(chuàng)新紀(jì)錄。美國DALLAS公司推出的具有涓細電流充電能的低功耗實時時鐘電路DS1302。它可以對年、月、日、周日、時、分、秒進行計時,還具有閏年補償?shù)榷喾N功能,而且DS1302的使用壽命長,誤差小。對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時顯示年、月、日、周日、時、分、秒和溫度等信息,還具有時間校準(zhǔn)等功能。該電路采用STC89C51單片機作為核心,功耗小,能在5V的低
4、壓工作,電壓可選用3~5V電壓供電。</p><p> 綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。</p><p> 本電路為實現(xiàn)電子萬年歷的功能,采用單片機STC89C51,輔助以必要的外圍電路,用C語言編寫程序,并進行模塊化設(shè)計而成的電子萬年歷系統(tǒng).它通過LCD能正確顯示陽歷星期和時分秒,溫度等,
5、具有功能穩(wěn)定,精確度高和可調(diào)的特點。</p><p> 關(guān)鍵詞: 單片機;AT89C52;DS1302;1602LCD</p><p><b> 一、 方案選擇</b></p><p><b> 1.1時鐘芯片選擇</b></p><p> 方案一:不使用芯片,采用單片機的定時計數(shù)器<
6、/p><p> 這種方法原理是利用單片機芯片的定時器來產(chǎn)生固定的時間,模擬時鐘的時, 分,秒。如:利用AT80C52芯片,定時器用工作方式1,每50ms產(chǎn)生一個中斷,循環(huán)20次,即1s周期。每一個周期加1,那么1min為60個周期,1h就是60*60=3600個周期,一天就是3600*24=86400個周期。</p><p> 此方法優(yōu)點是可以省去一些外圍的芯片,但這種方法只能適用于一些要
7、求不是十分精確,不做長期保留的場合。</p><p> 方案二:并行接口時鐘芯片 DS12887</p><p> 特點:采用單片機應(yīng)用系統(tǒng)并行總線(三總線)擴展的接口電路,采用這種接口電路具有操作速度快,編程方便的優(yōu)點。</p><p> 但是對于80C52單片機來說,低位地址線要通過鎖存器輸出,還要地址譯碼器,而且并行口芯片的體積相對較大,DS12887管
8、腳圖如圖1示。</p><p> 圖1 DS12887管腳</p><p> 方案三:串行接口時鐘芯片DS1302</p><p><b> 芯片主特性:</b></p><p> 實時時鐘具有能計算2100 年之前的秒分時日日期星期月年的能力,還有閏年調(diào)整的能力
9、 </p><p> 31 8 位暫存數(shù)據(jù)存儲RAM</p><p> ?。?)串行 I/O 口方式使得管腳數(shù)量最少</p><p> ?。?)寬范圍工作電壓2.0 5.5V</p><p> ?。?)工作電流 2.0V 時,小于300nA</p><p> ?。?)讀/寫時鐘或RAM 數(shù)據(jù)時有
10、兩種傳送方式單字節(jié)傳送和多字節(jié)傳送字符組方式</p><p> ?。?)8 腳DIP 封裝或可選的8 腳SOIC 封裝根據(jù)表面裝配</p><p> ?。?)簡單 3 線接口</p><p> ?。?)與 TTL 兼容Vcc=5V</p><p> ?。?0)可選工業(yè)級溫度范圍-40~+85</p><p> 優(yōu)點:
11、串行接口的日歷時鐘芯片,使用簡單,接口容易,與微型計算機連線較少等特點,在單片機系統(tǒng)尤其是手持式信息設(shè)備中己得到了廣泛的應(yīng)用。</p><p> 所以,最終選擇串行時鐘芯片DS1302,DS1302的管腳圖如圖2所示。</p><p> 圖2 DS1302管腳圖</p><p><b> 1.2顯示模塊選擇</b></p>
12、<p> 方案一:LED數(shù)碼管顯示</p><p> 數(shù)碼管顯示比較常用的是采用CD4511和74LS138實現(xiàn)數(shù)碼轉(zhuǎn)換,數(shù)碼顯示分動態(tài)顯示和靜態(tài)顯示,靜態(tài)顯示具有鎖存功能,可以使數(shù)據(jù)顯示得很清楚,但浪費了一些資源。目前單片機數(shù)碼管普通采用動態(tài)顯示。編程簡單,但只能顯示數(shù)字,不能顯示中文。</p><p> 方案二:LCD1602</p><p>
13、 能夠顯示英文和數(shù)字。 1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。</p><p> 所以最終選擇LCD1602。</p>
14、<p><b> 二、主要硬件描述</b></p><p> 2.1 89C51模塊</p><p> Mcs-51單片機管腳圖圖如圖3所示 :</p><p> ?。?)一個8位的微處理器(CPU)</p><p> ?。?)片內(nèi)數(shù)據(jù)存儲器RAM(128B/256B)</p><p
15、> (3)片內(nèi)程序存儲器ROM/EPROM(4kB/8kB)</p><p> ?。?)4個8位并行I/O拉口P0-P3,每個口既可以作輸入,也可以作輸出</p><p> ?。?)2個16位定時器/計數(shù)器</p><p> (6)5個中斷源的中斷控制系統(tǒng)</p><p> ?。?)1個全雙工的串行I/O接口</p>
16、<p> 片內(nèi)時鐘振蕩器 </p><p> 圖3 單片機管腳圖 </p><p> 2.2 1602液晶顯示模塊</p><p> 1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日
17、文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。</p><p> 2.2.1 原理及引腳說明</p><p> VDD 接5V正電源</p><p> VSS 地電源
18、 </p><p> V0 液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比</p><p> 最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。</p><p> RS 為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 </p><p> RW 為讀
19、寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和RW共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù)。</p><p> E 端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(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> ?。?)獨特的單線接口方式:DS18B20與微處理器連接時僅需要一條
21、口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 </p><p> ?。?)在使用中不需要任何外圍元件。</p><p> ?。?)可用數(shù)據(jù)線供電,電壓范圍:+3.0~+5.5 V。</p><p> ?。?)測溫范圍:-55 ~+125 ℃。固有測溫分辨率為0.5 ℃。</p><p> ?。?)通過編程可實現(xiàn)9~12位的數(shù)字讀數(shù)方式。
22、</p><p> ?。?)用戶可自設(shè)定非易失性的報警上下限值。</p><p> ?。?)支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點測溫度。 </p><p> ?。?)負(fù)壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。</p><p> 2.3.2 DS18B20工作原理</p>
23、;<p> DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s減為750ms。 DS18B20測溫原理如圖2-3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。計數(shù)器1對低溫度
24、系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖4中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。</p><p><b> 圖4 測溫原理圖</b&
25、gt;</p><p> 2.3.3 DS18B20有4個主要的數(shù)據(jù)部件 </p><p> ?。?)光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一
26、個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。 </p><p> ?。?)DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625℃/LSB形式表達。這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0
27、625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。</p><p> ?。?)DS18B20溫度傳感器的存儲器:DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的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è)置為0,用戶不要去改動。R1和R0用來設(shè)置分辨率。</p><p> 2.4 時鐘電路模塊的設(shè)計</p><p> DS1302的引腳排列如
29、圖3.3所示,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768KHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,
30、允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RSTS置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電動行時,在Vcc大于等于2.5V之前,RST必須保持低電平。中有在SCLK 為低電平時,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。</p><p
31、> 圖5 DS1302的引腳圖</p><p> 2.4.1 時鐘芯片DS1302的工作原理</p><p> DS1302在每次進行讀、寫程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時序如下圖6所示。表3-1為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對DS1302進行讀寫數(shù)據(jù)。對于位6,若對程序進行讀
32、/寫時RAM=1,對時間進行讀/寫時,CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進行讀操作時,該位為1;該位為0則表示進行的是寫操作。控制字節(jié)總是從最低位開始輸入/輸出的。表3-2為DS1302的日歷、時間寄存器內(nèi)容:“CH”是時鐘暫停標(biāo)志位,當(dāng)該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時,時鐘開始運行?!癢P”是寫保護位,在任何的對時鐘和RAM的寫操作之前,WP必須為0。當(dāng)“WP”為1時,寫保護
33、位防止對任一寄存器的寫操作。 </p><p> 圖6 DS1302讀/寫時序圖</p><p> 三、 硬件設(shè)計與實現(xiàn)</p><p> 3.1 以89S52作為控制核心,外接DS18B20溫度傳感器,DS1302時鐘芯片,顯示采用LCM12864,調(diào)表采用矩陣式鍵盤,整體硬件電路的框圖如圖7所示。</p><p> 圖7 硬件電
34、路框圖 </p><p><b> 3.2原理圖如下</b></p><p><b> 圖8 硬件原理圖</b></p><p> AT89S51單片機為40引腳雙列直插芯片,有四個I/O口P0,P1,P2,P3, MCS-51單片機共有4個8位的I/O口(P0、P
35、1、P2、P3),每一條I/O線都能獨立地作輸出或輸入。</p><p> 單片機的最小系統(tǒng)如圖8所示,18引腳和19引腳接時鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出。第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。DS1302串行時鐘芯片作為主時鐘電路
36、,該電路使用單獨的32.768K的晶振和單獨的電源供電,減小主控的負(fù)擔(dān)。</p><p> 采用數(shù)字式溫度傳感器DS18B20,它是數(shù)字式溫度傳感器,具有測量精度高,電路連接簡單特點,此類傳感器僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,使用P0.7與DS18B20的I/O口連接加一個上拉電阻,Vcc接電源,Vss接地。</p><p> 四、電子時鐘的軟件設(shè)計</p><p&g
37、t; 4.1 系統(tǒng)軟件主程序流程圖 </p><p> 4.2 系統(tǒng)軟件按鍵檢測流程圖</p><p> 4.3 系統(tǒng)軟件定時器程序流程圖</p><p> 五、 測試結(jié)果分析與結(jié)果</p><p> 5.1 測試結(jié)果分析</p><p> ?。?)在測試中遇到LCD1602不
38、顯示</p><p> 分析:首先使用試測儀對電路進行測試,觀察是否存在漏焊,虛焊,或者元件損壞。再接著研究程序的時序圖是否正確。最后發(fā)現(xiàn)是1602的液晶屏壞掉了,更換了新的就可以了。</p><p> ?。?)按鍵調(diào)整時,不是按單位遞增和遞減</p><p> 分析:在鍵盤程序中,按鍵一次,向芯片寫入一個新的數(shù)字,在寫入數(shù)字后必須有一定延時才再寫入另一個數(shù)字&
39、lt;/p><p> ?。?)燒寫程序進單片機里面時,有時會在顯示屏上顯示爛碼.</p><p> 分析:用電壓表檢查.最后檢測出USB下載線的端口電壓不夠換條新線就可以把問題解決</p><p><b> 5.2 測試總結(jié)</b></p><p> 經(jīng)過多次的反復(fù)測試與分析,掌握了硬件的設(shè)計與分析的能力, 學(xué)會看英文
40、版的Datasheet,同時在軟件的編程方面得到更到的提高,對編程能力得到加強。對所學(xué)的知識得到很大的提高與鞏固。</p><p> 最終實現(xiàn)功能: (1)能顯示年、月、日、星期、小時、分、秒 、溫度。</p><p> ?。?)顯示模塊采用LCD液晶顯示,要求能用按鍵調(diào)整時間。</p><p> ?。?)具有定時鬧鐘功能。</p><p&g
41、t; ?。?)能夠準(zhǔn)確在LCD上顯示室溫。</p><p><b> 六、結(jié)束語</b></p><p> 通過對基于單片機的萬年歷的研究和設(shè)計,完成了一種能夠顯示日期、星期、時間、實時溫度的多功能萬年歷,該萬年歷還可以定時鬧鐘。</p><p> 查看了還有單片機和各個芯片之間的通信協(xié)議,液晶的讀寫時序,按鍵的防抖。本系統(tǒng)基本完成了設(shè)計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 萬年歷課程設(shè)計--萬年歷電子時鐘
- 1602數(shù)字萬年歷單片機課程設(shè)計
- 單片機課程設(shè)計—電子萬年歷
- 單片機課程設(shè)計--萬年歷
- 單片機萬年歷課程設(shè)計
- 單片機萬年歷課程設(shè)計
- 單片機課程設(shè)計-電子萬年歷
- 單片機課程設(shè)計---萬年歷顯示設(shè)計
- 單片機課程設(shè)計-- 電子萬年歷
- 單片機課程設(shè)計-萬年歷
- 萬年歷單片機課程設(shè)計
- 單片機課程設(shè)計---電子萬年歷設(shè)計
- 單片機的電子萬年歷設(shè)計
- 單片機萬年歷課程設(shè)計報告
- 單片機課程設(shè)計報告(萬年歷)
- 基于單片機的電子萬年歷
- 基于單片機的萬年歷課程設(shè)計
- 基于單片機的電子萬年歷
- 單片機電子萬年歷課程設(shè)計
- 單片機電子萬年歷課程設(shè)計
評論
0/150
提交評論