歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

火車站廣場數(shù)字鐘顯示系統(tǒng)設(shè)計

  • 資源ID:605495       資源大?。?span id="w7ctoma" class="font-tahoma">8.44MB        全文頁數(shù):33頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

火車站廣場數(shù)字鐘顯示系統(tǒng)設(shè)計

本科畢業(yè)論文(設(shè)計)(2015 屆)火車站廣場數(shù)字鐘顯示系統(tǒng)設(shè)計院 系 電子信息工程學(xué)院 專 業(yè) 電氣工程及其自動化 姓 名 指導(dǎo)教師 講師 助教 年 5 月學(xué)號:1108441048I摘 要本文介紹了一種基于 AT89S52 單片機的硬件架構(gòu)的多功能電子日歷的硬件和軟件的設(shè)計方法。該電子鐘設(shè)計主要是由數(shù)據(jù)顯示模塊、溫度采集模塊、時間處理模塊和調(diào)整設(shè)置模塊四個模塊組成。AT89S52 單片機被用來作為控制器,以串行時鐘芯片 DS1302 來記錄日歷和時間,也可以對年、月、日、小時、分鐘和秒進行計時,還具有閏年補償?shù)裙δ堋囟刃酒?DS18B20 被用來采集溫度數(shù)據(jù),電子鐘采用直觀的數(shù)字顯示,數(shù)字顯示模塊被用來顯示數(shù)據(jù),可以在數(shù)據(jù)顯示上同時顯示年、月、日、時、分、秒,還具有一個時間校準功能。這種日歷具有讀取方便、顯示直觀、多功能、電路簡單、成本低廉等諸多優(yōu)點,具有廣闊的市場前景。關(guān)鍵字:萬年歷 溫度計 數(shù)碼管顯示IIAbstractThis paper introduces the design of multi-function electronic calendarAT89S52 microcontroller hardware, software and hardware based on.The design of the data display module, the temperature acquisition module, processing module and setting module, four modules. And the serial clock calendar chip DS1302 calendar and time controller of AT89S52 system, it can be the date and time, minutes and seconds, also has a leap year compensation function. DS18B20 chip temperatureacquisition, display data display of the object, the use of digital calendar,digital liquid crystal display module, can be carried out, at the same timeevery year, month, day, hour, minute, second Sunday, and timealignment function. The calendar is easy to read, intuitive display, flexible,simple circuit, low cost and other advantages, has broad market prospects.Key words:Perpetual Calendar thermometer displayIII目 錄摘 要 IABSTRACT.II目 錄 III1 緒論 11.1 研究背景 11.2 國內(nèi)外研究現(xiàn)狀 11.3 研究意義和目的 12 系統(tǒng)總體設(shè)計 22.1 設(shè)計要求 22.2 系統(tǒng)設(shè)計方案 23 系統(tǒng)硬件設(shè)計 33.1 時鐘芯片 DS1302 的性能簡介及接口電路設(shè)計 33.2 溫度芯片 DS18B20 接口設(shè)計與性能分析 .43.3 數(shù)碼管顯示 .53.4 按鍵設(shè)計 .53.5 復(fù)位電路的設(shè)計 .64 系統(tǒng)軟件設(shè)計 .74.1 軟件功能概述 .74.2 主程序流程圖的設(shè)計 .85 聯(lián)調(diào)與測試 95.1 調(diào)試過程 .95.2 硬件調(diào)試 .95.3 軟件調(diào)試 10IV結(jié)論 .11致謝 .12參考文獻 .13附錄 A:系統(tǒng)的原理圖 .14附錄 B:系統(tǒng)的 PCB 圖 .15附錄 C:系統(tǒng)的源程序 .1611 緒論1.1 研究背景隨著技術(shù)的快速發(fā)展通道,從觀看太陽來判斷時間到擺鐘再到現(xiàn)在的數(shù)字電子鐘,是人類的智慧的不斷創(chuàng)新和突破。數(shù)字電子鐘可以顯示年、月、日、時、分和秒,而且還有閏年補償?shù)裙δ埽以摃r鐘芯片的壽命較長,誤差相對較小。使用直觀的數(shù)字顯示,可以顯示年、月、日、時、分、秒和溫度等信息,它還具有一個時間校準功能。數(shù)字電子時鐘的電路采用的是單片機AT89S52,具有耗能低的優(yōu)點,可以在 3V的低電壓下工作。這個日歷具有方便閱讀、顯示直觀、功能多樣、電路簡單、成本低等諸多優(yōu)勢,在發(fā)展迅速的信息時代,具有很好的市場前景和研究價值。1.2 國內(nèi)外研究現(xiàn)狀電子技術(shù)是 20 世紀第十九年代末的一種新技術(shù),從上世紀二十年代開始發(fā)展最迅速,得到了廣泛的應(yīng)用,電子技術(shù)的發(fā)展已經(jīng)成為了科學(xué)發(fā)展的一個重要的標志。電子技術(shù)的功能多樣化,體積小,低功耗等特點,促進社會生產(chǎn)力的發(fā)展。郭沫若先生曾把時間比喻成生命以及速度和力量,可見時間對于我們來說是非常之寶貴的,在我們的日常工作,學(xué)習(xí)當(dāng)中時間觀越來越重要。在信息技術(shù)高速發(fā)達的二十一世紀,時間對于我們來說似乎消費的特別快,時間在工作中,學(xué)習(xí)中,上下班的路上不知不覺的就消逝了, 工業(yè)生產(chǎn),每一步都有嚴格的時間限制,要做到技術(shù)精確,時間是重中之重。準確理解和實時知道時間,是我們學(xué)習(xí),工作,生活中不可缺少的組成部分。機械的鐘表雖然也可以告知人們時間和顯示日期,但是由于其機械結(jié)構(gòu),功率和尺寸的限制,相比于性能更好的數(shù)字電子鐘而言是注定要被淘汰的。電子時鐘通常被應(yīng)用于電子電路,計時裝置,也廣泛應(yīng)用于家庭,戶外廣場,公交站和火車站。由于數(shù)字集成電路和石英晶體振蕩被廣泛應(yīng)用數(shù)字電路,使得數(shù)字鐘的精度更加準確,給人們的生產(chǎn)和生活帶來了極大的方便。如 scheduleautomatic 自動報警系統(tǒng),定時打鈴,燈爐定時開關(guān),電源設(shè)備,甚至所有的時間自動啟用設(shè)備的基礎(chǔ)都是數(shù)字鐘表。因此,更先進的電子數(shù)字鐘的設(shè)計,其市場的前景費長的廣闊。實時溫度顯示系統(tǒng)的技術(shù)已經(jīng)成熟,如在室溫下顯示,空調(diào)遠程控制顯示溫度,熱水器。如果我們能準確顯示電子時鐘以及其它電子設(shè)備的實時溫度,無疑將會對我們的生活地阿萊極大的幫助,可以讓我們了解周圍的環(huán)境和必要的措施的變化。1.3 研究目的與意義電子這項新興技術(shù)是在十九世紀初開始發(fā)展起來的,發(fā)展最為迅速的時期是在二十世紀初期,如今已成為了科學(xué)技術(shù)發(fā)展的一個重要的標志。在它的推廣下現(xiàn)代電子產(chǎn)品正在以前所未有的速度朝著功能多樣化,功耗最低化的方向發(fā)揮發(fā)展。電子技術(shù)的發(fā)展,2有力地推動了社會生產(chǎn)力的發(fā)展。在信息技術(shù)高度發(fā)達的二十一世紀,機械手表,雖然它也可以告知市民時間,也可以定時,顯示日歷。然而,由于其機械結(jié)構(gòu),功率和體積都沒有辦法與電子時鐘進行比較,從而其發(fā)展必然會受到限制。當(dāng)電子電路,定時裝置,秒數(shù)字顯示被應(yīng)用于電子時鐘后,促進了電子時鐘被廣泛廣泛用于個人家庭,戶外廣場,公交站和火車站,同時也大大擴大了原來的手表報時功能。如定時自動報警,定時廣播,自動啟動和關(guān)閉的照明工具,定時開關(guān)箱,以及其他各種定時自動設(shè)備,所有這些的基礎(chǔ)都是數(shù)字時鐘的應(yīng)用。隨著社會的進步,人們越來越多地轉(zhuǎn)向產(chǎn)品功能多樣化。你還可以將溫度實時顯示應(yīng)用于電子鐘以準確的顯示環(huán)境溫度,那么將給生活,工作和工業(yè)生產(chǎn)帶來了極大的方便,同時也讓我們明白的變化,根據(jù)環(huán)境溫度的實時性采取相應(yīng)的措施。這次畢業(yè)設(shè)計的實物操作,通過把理論與實踐的融合在一起,使我進一步加深了對單片機的結(jié)構(gòu)的理解,編程的能力也得到了提高。在實踐過程中學(xué)習(xí)到新的知識,也遇到過一些問題,經(jīng)過老師的指導(dǎo)和同學(xué)的幫助,問題也被一一解決。同時,希望我們的勞動的結(jié)晶能夠?qū)ψx者有一定的幫助,并能從中得到一些啟發(fā)。2 系統(tǒng)總體設(shè)計2.1 設(shè)計要求系統(tǒng)的總體設(shè)計要求是利用四個模塊以及時鐘芯片來實現(xiàn)數(shù)據(jù)的顯示、實時環(huán)境溫度的數(shù)據(jù)采集、時間的處理和調(diào)整的功能。時鐘芯片可以記錄日歷并顯示日歷和時間,也可以對年、月、日、小時、分鐘和秒進行計時,而且還有閏年補償?shù)榷喾N功能,還具有時間校準功能。考慮到該設(shè)計的實際應(yīng)用環(huán)境,應(yīng)該使該電子鐘顯示比較直觀、讀取相對方便、功能多樣化、價格也比較低廉、具有良好的實用性、普及起來比較方便。 2.2 系統(tǒng)設(shè)計方案數(shù)字電子鐘總體設(shè)計方案應(yīng)該在系統(tǒng)功能可以實現(xiàn)的前提下,充分考慮該電子鐘系統(tǒng)使用的環(huán)境,所選的結(jié)構(gòu)要簡單使用、易于實現(xiàn),器件的選用著眼于合適的參數(shù)、穩(wěn)定的性能、較低的功耗以及低廉的成本。綜合考慮,系統(tǒng)硬件設(shè)計框圖如圖 1 所示:3圖 1 硬件電路框圖3 系統(tǒng)硬件設(shè)計3.1 時鐘芯片 DS1302 的性能簡介及接口電路設(shè)計3.1.1 時鐘芯片 DS1302 的性能簡介時鐘芯片DS1302是通過與微控制器的連接來實現(xiàn)其功能的,微控制器能夠提供包括秒、分、實時信息、日、月、年等信息,并且可以實現(xiàn)閏年天數(shù)的自動調(diào)整功能,它也具有用于主電源和備用電源的雙電源引腳,在主電源被關(guān)閉的狀態(tài)下,也能維持該時鐘連續(xù)運行,此外,它還可以提供31個字節(jié)的緩沖高速RAM中的數(shù)據(jù)。3.1.2 時鐘芯片 DS1302 接口電路設(shè)計DS1302時鐘芯片的工作原理是選擇VCC1 和VCC2 兩個當(dāng)中的較大者來供給時鐘芯片的用電需要。時鐘芯片的的接口電路如圖2所示:AT89S52電 源 模 塊溫 度 模 塊獨 立 按 鍵 時 鐘 模 塊顯 示 模 塊鬧 鐘 模 塊4圖2 DS1302的接口電路3.2 溫度芯片 DS18B20 接口設(shè)計與性能分析3.2.1 溫度芯片的性能簡介DS18B20溫度傳感器是最新智能溫度傳感器,與一般的熱電阻有的區(qū)別在于測得的實時溫度可以被直接讀取出來,可以通過簡單的編程實現(xiàn)數(shù)字讀取。應(yīng)用“一線總線”傳輸現(xiàn)場的實時溫度,提高了抗干擾性。該芯片可以被應(yīng)用于相對比較惡劣的環(huán)境中,而且具有功耗低、所需電壓范圍低、分辨率高等特點。因此是很好的選擇。3.2.2 溫度芯片的接口電路的設(shè)計該系統(tǒng)采用數(shù)字溫度傳感器DS18B20,具有精度高,操作簡單的電路連接特性,這種傳感器需要進行數(shù)據(jù)傳輸,與DS18B20 DQ P3.7口連接只有一個數(shù)據(jù)線。其接口電路如圖3所示:5圖3 溫度傳感器的接口電路3.3 數(shù)碼管顯示模塊該數(shù)字電子鐘設(shè)計采用的顯示模塊是八段數(shù)碼管顯示模塊,所謂八段數(shù)碼管就是指數(shù)碼管里面有八個曉得 LED 發(fā)光二極管,LED 亮滅被用來顯示不同的字形。數(shù)碼管的類型有兩種,他們分別是共陽極和共陰極。其中共陰極的發(fā)光原理是將八個 LED 的陰極連在一起并接地,然后給八個 LED 其中一個的另一端輸入高電平,它便能被點亮。顯而易見,共陽極的點亮原理是將八個 LED 的陽極連在一起,然后給八個 LED 其中一個的另一端輸入高電平,它便能夠被點亮。綜上所述,數(shù)碼管顯示模塊及其接口電路如圖 4 所示:圖 4 數(shù)碼管顯示3.4 按鍵模塊設(shè)計該系統(tǒng)使用五個按鈕,其中一個被用于手動復(fù)位,其他的被用于獨立按鈕,查詢相6對比較簡單,占用CPU資源低,四個獨立的按鈕,分別與單片機的P3.4、P3.5、P3.6、P3.7接口連接。按鍵電路如圖5 所示:圖 5 按鍵電路3.5 復(fù)位電路的設(shè)計當(dāng)單片機的復(fù)位引腳出現(xiàn)兩個以上的高電平周期時,復(fù)位操作即可被完成。如果復(fù)位RST持續(xù)處于高電平的狀態(tài),那么程序?qū)o法被執(zhí)行。所以單片機復(fù)位后要脫離復(fù)位狀態(tài)。在實際的應(yīng)用中,考慮到電源的穩(wěn)定時間不同、參數(shù)會發(fā)生漂移、以及晶振穩(wěn)定時間和其他因素的影響,單片機必須有足夠的裕度。根據(jù)該設(shè)計的要求,復(fù)位操作的基本形式有上電復(fù)位和手動復(fù)位兩種。對上電復(fù)位操作中,復(fù)位會在接通電源后完成。 AT89S52單片機上電復(fù)位本質(zhì)上是一個上電延時復(fù)位。在單偏激初始上電后,第一個工作的是復(fù)位電路。復(fù)位電路把單片機鎖定在復(fù)位狀態(tài),并且保持一個延遲,讓電壓擁有一個達到穩(wěn)定的時間,當(dāng)電壓穩(wěn)定后,再插入一個延遲,給時鐘振蕩器一個達到穩(wěn)定的時間; 在單片機進入運行狀態(tài)之前,還要至少推遲兩個機器周期的延遲。這種設(shè)計的復(fù)位電路采用了電且開關(guān),通電后,因為電容保持充電狀態(tài)使電路處于高電平。當(dāng)微控制器正在運行之中,按下復(fù)位按鈕還使得RST高電平一段時間,實現(xiàn)了開關(guān)的復(fù)位操作。綜上所訴選用電容值為10F和電阻值為4.7K 的的電容。復(fù)位電路如圖6所示:7圖6 復(fù)位電路4 系統(tǒng)軟件設(shè)計4.1 軟件功能概述自動控制系統(tǒng)的一個重要的組成部分就是軟件功能,它的功能的完善程度直接影響了一個系統(tǒng)是否能夠最大化的發(fā)揮作用,在一個系統(tǒng)確定下來硬件以后,軟件的指導(dǎo)和系統(tǒng)的嚴密監(jiān)控是硬件能夠?qū)崿F(xiàn)穩(wěn)定工作的關(guān)鍵,同時,優(yōu)異的軟件對系統(tǒng)后期的升級優(yōu)化有相當(dāng)大的幫助。數(shù)字電子鐘的功能是在程序控制下實現(xiàn)的。軟件設(shè)計和系統(tǒng)相對應(yīng)的硬件設(shè)計,根據(jù)其在程序的總體功能中實現(xiàn)功能的不同將它們分為幾個不同的模塊,用于設(shè)計、編程以及調(diào)試,最終被主程序連接起來實現(xiàn)整體功能。這是一個很好的方案,增強了程序的可移植性。公歷計算程序、溫度測量程序以及鍵掃描輸入等被應(yīng)用于該系統(tǒng)的軟件部分。當(dāng)程序開始運行時最先要做的是初始化,各單片機的引腳初始化狀態(tài)是根據(jù)程序的初始化命令而進行的,初始化完成后進行溫度的測量與數(shù)據(jù)收集,然后運行公歷計算程序,獲得日歷時間和日期信息,然后運行程序鍵掃描,檢測有沒有按下按鈕,如果沒有按鈕被按下,則按節(jié)日計算程序得到的公歷日期信息來計算節(jié)日,如果按下一個按鈕,則將按鍵修改后的更新的關(guān)鍵變量遞送給節(jié)日計算程序從而計算出節(jié)日。顯示程序?qū)⒃谟嬎阃瓿珊髮⒌玫降墓珰v信息、溫度數(shù)據(jù)、節(jié)日信息送給對應(yīng)的數(shù)碼管將其顯示出來。84.2 主程序流程圖的設(shè)計數(shù)字電子鐘系統(tǒng)的總體設(shè)計要求是利用四個模塊以及時鐘芯片來實現(xiàn)數(shù)據(jù)的顯示、實時環(huán)境溫度的數(shù)據(jù)采集、時間的處理和調(diào)整的功能。所以數(shù)字電子鐘的主程序流程圖如圖7所示:開始返回D S 1 3 0 2 初始化設(shè)置 D S 3 0 2讀取年 、 月 、 日 、星期 、 時 、 分 、 秒將讀取的數(shù)據(jù)處理后送數(shù)碼管顯示圖7 主程序流程圖4.2.1 DS1302 讀寫程序設(shè)計該系統(tǒng)對時間的讀取主要是通過對時鐘芯片 DS1302 的操作來實現(xiàn)的,在硬件設(shè)計上的時鐘芯片連接到控制器時需要三線,即 SCLK( 7),I / O(6),RST(5),具體連接圖查看系統(tǒng)的硬件設(shè)計原理圖。當(dāng)時鐘芯片與處理器的數(shù)據(jù)交換的時候,首先是一個命令字節(jié)由處理器向電路發(fā)出,最高位的命令字節(jié)必須是邏輯 1,如果是邏輯 0,則命令字節(jié)禁止被發(fā)出;當(dāng) D6 等于 0 時,時鐘數(shù)據(jù)被指定,當(dāng) D6 等于 1 時,RAM 數(shù)據(jù)被指定 ; D5D1 特殊寄存器指定的輸入或輸出; 最低位 D0 為邏輯 0 時,指定寫操作為輸入,當(dāng) D0 為邏輯 1 時,指定讀操作為輸出 。94.2.2 溫度程序的設(shè)計初始化、讀和寫是單總線上最基本的三種操作,所有其他操作都是由這三種基本操作的組合來完成的,初始化被用于設(shè)備在總線上的狀態(tài)復(fù)位,寫被用于主節(jié)點向總線上傳入一位數(shù)據(jù),讀被用于總線上數(shù)據(jù)的讀取。在這三種類型的操作,寫操作是單向的,初始化和讀操作是雙向的。5 聯(lián)調(diào)與測試5.1 調(diào)試過程對于一個自控系統(tǒng)而言,調(diào)試一般需要進行硬件調(diào)試和軟件調(diào)試,在一定的分析與設(shè)計的基礎(chǔ)上,可以一邊進行硬件制作,一邊進行相應(yīng)的調(diào)試,這樣對問題的及時分析和解決有很大幫助,不容易出現(xiàn)太多問題積累的現(xiàn)象,不至于后期出現(xiàn)一個問題導(dǎo)致整個設(shè)計全部需要被檢查,甚至出現(xiàn)設(shè)計需要重新開始的問題,所以做好前期的硬件調(diào)試工作,可以避免在調(diào)試這一環(huán)節(jié)浪費大量時間。而在軟件編寫過程中,最好是分模塊編寫,在硬件調(diào)試成功的基礎(chǔ)上,就可以做系統(tǒng)整體的調(diào)試,而本設(shè)計成功的關(guān)鍵就是運用了聯(lián)機調(diào)試。5.2 硬件調(diào)試系統(tǒng)通電后觀察系統(tǒng)是否能正常運行,如果不能,則根據(jù)原理圖對電路進行分模塊檢測,看是否存在不正常焊接問題,如果焊接不存在問題,則再進一步檢測下一環(huán)節(jié),直到找出問題并解決問題。單個芯片的編譯目標代碼,可連接到該開始調(diào)試硬件電路的5V電壓源。如果結(jié)果不符合設(shè)計要求,再次檢查是否正確連接電路,硬件電路的調(diào)試工作的連接點,或檢查代碼程序符合硬件電路設(shè)計,如果它是錯的,使相應(yīng)的修改,編譯,則調(diào)試硬件電路。直到調(diào)試正確的結(jié)果重復(fù)此過程。如圖顯示的分別是時期、溫度和時間。105.3 軟件調(diào)試(1)上的計算機程序調(diào)試軟件的 Keil,程序調(diào)試運行時,如果顯示為 0 的錯誤(S),0 個警告(S)證明代碼是正確的。(2)在負載 Proteus 軟件繪制電路中的程序代碼的示意圖,以 AT89S52 單芯片中,進行模擬。如果發(fā)生錯誤,調(diào)試,然后相應(yīng)地修改仿真,調(diào)試直到正確的結(jié)果后查看錯誤。11結(jié)論在整個設(shè)計過程中,硬件系統(tǒng)主要由AT89S52單片機、DS1302接口電路、DS18B20接口電路、鬧鐘系統(tǒng)以及顯示系統(tǒng)組成;軟件通過各種渠道的信息手段,主要的設(shè)計由公歷數(shù)據(jù)讀取程序、公歷農(nóng)歷轉(zhuǎn)程序、溫度采集程序,數(shù)字顯示程序和鬧鐘程序組成;調(diào)試系統(tǒng)主要是通過AT89S52的開發(fā)板,再經(jīng)Keil公司,STC的手段,為自己建了一個小的外圍電路實現(xiàn);再由分步調(diào)試將陽歷的日期及時間顯示出來,以及實時的溫度。此電子鐘具有顯示直觀、功能多樣、電路簡單、成本低廉的優(yōu)點,因此發(fā)展前景非常廣闊。整個設(shè)計過程中學(xué)到了很多新的知識,知道了電路的焊接雖然不是什么大問題,但在整個作品中也具有相當(dāng)重要的地位。電路工程師一個心細的活并不能著急,這樣才能布局清晰、美觀大方。在本設(shè)計中,讓我明白了做什么事情都不能投機取巧,要一步一個腳印,這樣才能把事情做好。能學(xué)習(xí)到新的知識這永遠是最重要的??傊舜萎厴I(yè)設(shè)計的過程,使我的能力得到了全方位的提高,當(dāng)然此次的設(shè)計尚有很多需要改進的地方,這也是我不斷學(xué)習(xí)新知識的動力。12致謝能夠順利完成此次畢業(yè)設(shè)計,首先我要感謝我的知道老師劉棟材老師,還有同樣給予很大幫助的王俊杰老師,是他們的悉心指導(dǎo)和嚴格要求,才讓我圓滿完成了任務(wù)。謹向?qū)熀退袔椭^我的老師致以崇高的敬意和衷心的感謝。也感謝我的家人,朋友和所有宿舍的室友,他們給我創(chuàng)造一個良好的學(xué)習(xí)環(huán)境,在學(xué)習(xí)和生活中給予了我莫大的支持和幫助。我會一直督促自己更加努力,不辜負老師、親戚、朋友對我的期望。特別感謝我的第一個畢業(yè)設(shè)計導(dǎo)師王俊杰老師,從論文的選題到設(shè)計到最終定稿,每一步都有老師辛勤的汗水。研究細致,勤奮和不懈的工作態(tài)度,扎實勤勉的他也會一直激勵著我努力學(xué)習(xí),推動我前進,這將是我終身受益。同時也為所有教師表達我深深的謝意!正是他們的教導(dǎo)豐富了我的知識面、拓展了我的視野,謝謝你們的知道,這將是我一生的財富,謝謝你們!作者:李鵬飛2015 年 5 月 日13參考文獻1陳明熒 8051 單片機課程設(shè)計實訓(xùn)教程M北京:清華大學(xué)出版社2蘇平. 單片機的原理與接口技術(shù)M.北京:電子工業(yè)出版社,2006:1-113.3王忠民.微型計算機原理M.西安:西安科技大學(xué)出版社,2003:15-55.4何立民單片機高級教程M北京:北京航空航天大學(xué)出版社,2003年5紀宗南.單片機外圍器件使用手冊M.北京:北京航空航天大學(xué)出版社,622-655.6周雪.模擬電子技術(shù) M西安: 西安電子科技大學(xué)出版社,2005:81-95.7左金生.電子與模擬電子技術(shù)M.北京:電子工業(yè)出版社,2004:105-131.8新編單片機原理與應(yīng)用(第二版).西安電子科技大學(xué)出版社,2007.29張萌.單片機應(yīng)用系統(tǒng)開發(fā)綜合實例M. 北京:清華大學(xué)出版社,2007.710王越明.電子萬年歷的設(shè)計J.黑龍江科技信息,2004 年11 Richard Blanchard, James Harden. Mosfets control more power in the same-sized package .Electronic Design, 1982, 12 :10711412 Daniel E. Geer, Jr. (Editor), Mary Ann Davidson, Marc Donner, Lynda McGhie, and Adam Shostack.13 Menozzi G.Eurimus approved 19 projects for total amount of Euro 89 million.MSTnews.2000.514附錄 A:系統(tǒng)原理圖15附錄 B:系統(tǒng) PCB 圖16附錄 C:系統(tǒng)源程序#include /調(diào)用單片機頭文件#define uchar unsigned char /無符號字符型 宏定義 變量范圍0255#define uint unsigned int /無符號整型 宏定義 變量范圍065535#include “ds1302.h“/數(shù)碼管段選定義 0 1 2 3 4 5 6 7 8 9uchar code smg_du=0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xBa,0x20,0x28,0x30,0x25,0xe4,0x23,0x64,0x74,0xff; /斷碼/數(shù)碼管位選定義uchar code smg_we=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/數(shù)碼管位選定義uchar dis_smg8 = 0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xBa;uchar smg_i = 8; /顯示數(shù)碼管的個位數(shù)bit flag_200ms ;bit flag_100ms ;bit flag_500ms; /500ms標志位sbit beep = P37; /蜂鳴器定義bit flag_beep_en;uint clock_value; /用作鬧鐘用的uchar flag_s = 0x03;/控制數(shù)碼管閃爍的變量sbit dq = P31; /18b20 IO口的定義uint temperature ; /溫度變量uchar flag_nl; /農(nóng)歷 陽歷顯示標志位uchar menu_1,menu_2,menu_i;sbit dat0 = B0;sbit dat1 = B1;sbit dat2 = B2;sbit dat3 = B3;sbit dat4 = B4;sbit dat5 = B5;sbit dat6 = B6;sbit dat7 = B7; /控制數(shù)碼管閃爍的函數(shù)void smg_s(uchar dat)B = dat;if(dat0 = 1)dis_smg0 = 0xff;17if(dat1 = 1)dis_smg1 = 0xff;if(dat2 = 1)dis_smg2 = 0xff;if(dat3 = 1)dis_smg3 = 0xff;if(dat4 = 1)dis_smg4 = 0xff;if(dat5 = 1)dis_smg5 = 0xff;if(dat6 = 1)dis_smg6 = 0xff;if(dat7 = 1)dis_smg7 = 0xff;/*延時函數(shù)*/void delay_uint(uint q)while(q-);/*1ms延時函數(shù)*/void delay_1ms(uint q)uint i,j;for(i=0;i 0) /1dis_smg1 = smg_du10; /Adis_smg2 = smg_du2; /2dis_smg3 = smg_du10; /Adis_smg4 = smg_du3; /3dis_smg5 = smg_du10; /Adis_smg6 = smg_du4; /4dis_smg7 = smg_du10; /Asmg_i = 8;elsesmg_s(flag_s);if(menu_1 = 1) if(flag_500ms = 1)dis_smg0 = smg_dumiao % 16; /顯示秒dis_smg1 = smg_dumiao / 16; /dis_smg2 = 0x7f; dis_smg3 = smg_dufen % 16; /顯示分dis_smg4 = smg_dufen / 16; /dis_smg5 = 0x7f; dis_smg6 = smg_dushi % 16; /顯示秒dis_smg7 = smg_dushi / 16; /elsesmg_s(flag_s);if(menu_1 = 2) if(flag_500ms = 1)dis_smg0 = smg_duri % 16; /顯示日dis_smg1 = smg_duri / 16; /dis_smg2 = 0x7f; dis_smg3 = smg_duyue % 16; /顯示月dis_smg4 = smg_duyue / 16; /dis_smg5 = 0x7f; dis_smg6 = smg_dunian % 16; /顯示年dis_smg7 = smg_dunian / 16; /elsesmg_s(flag_s);if(menu_1 = 3) if(flag_500ms = 1)dis_smg0 = smg_duweek % 16; /顯示星期 dis_smg1 = smg_duweek / 16; /dis_smg2 = 0x7f; if(open1 = 1) /開鬧鐘dis_smg3 = 0xb0; /OPENdis_smg4 = 0x64; dis_smg5 = 0x70; dis_smg6 = 0xa0; else dis_smg3 = 0x74; /OFFdis_smg4 = 0x74; dis_smg5 = 0xa0; dis_smg6 = 0xFF; 21dis_smg7 = 0xff; elsesmg_s(flag_s);if(menu_1 = 4) if(flag_500ms = 1)dis_smg0 = 0xff; /dis_smg1 = 0xff; /dis_smg2 = smg_dufen1 % 16; /顯示分dis_smg3 = smg_dufen1 / 16; /dis_smg4 = 0x7f; dis_smg5 = smg_dushi1 % 16; /顯示秒dis_smg6 = smg_dushi1 / 16; /dis_smg7 = 0xff; elsesmg_s(flag_s);/*鬧鐘報警函數(shù)*/void clock_dis()static uchar mm,value;if(flag_100ms = 1) /100ms執(zhí)行一次flag_100ms = 0;if(open1 = 1) /如果鬧鐘打開if(miao = 0) /有報警 打開蜂鳴器響的標志位if(flag_beep_en = 1) /鬧鐘以被打開clock_value+;if(clock_value 30)beep = 1; /蜂鳴器停1秒if(clock_value 40)clock_value = 0;/ 1 分鐘后自動關(guān)閉鬧鐘value +;if(value = 10)value = 0;mm+;if(mm = 60)mm = 0;flag_beep_en = 0;beep = 1;/*定時器0初始化程序*/void time_init() 23EA = 1; /開總中斷TMOD = 0X01; /定時器0、工作方式1ET0 = 1; /開定時器0中斷 TR0 = 1; /允許定時器0定時/*18b20初始化函數(shù)*/void init_18b20()bit q;dq = 1; /把總線拿高delay_uint(1); /15usdq = 0; /給復(fù)位脈沖delay_uint(80); /750usdq = 1; /把總線拿高 等待delay_uint(10); /110usq = dq; /讀取18b20初始化信號delay_uint(20); /200usdq = 1; /把總線拿高 釋放總線/*寫18b20內(nèi)的數(shù)據(jù)*/void write_18b20(uchar dat)uchar i;for(i=0;i= 1;/*讀取18b20內(nèi)的數(shù)據(jù)*/uchar read_18b20()uchar i,value;24for(i=0;i= 1; /讀數(shù)據(jù)是低位開始dq = 1; /釋放總線if(dq = 1) /開始讀寫數(shù)據(jù) value |= 0x80;delay_uint(5); /60us 讀一個時間隙最少要保持60us的時間return value; /返回數(shù)據(jù)/*讀取溫度的值 讀出來的是小數(shù)*/uint read_temp()uint value;uchar low; /在讀取溫度的時候如果中斷的太頻繁了,就應(yīng)該把中斷給關(guān)了,否則會影響到18b20的時序init_18b20(); /初始化18b20write_18b20(0xcc); /跳過64位ROMwrite_18b20(0x44); /啟動一次溫度轉(zhuǎn)換命令delay_uint(50); /500usinit_18b20(); /初始化18b20write_18b20(0xcc); /跳過64位ROMwrite_18b20(0xbe); /發(fā)出讀取暫存器命令EA = 0;low = read_18b20(); /讀溫度低字節(jié)value = read_18b20(); /讀溫度高字節(jié)EA = 1;value = 8; /把溫度的高位左移8位value |= low; /把讀出的溫度低位放到value的低八位中value *= 0.625; /轉(zhuǎn)換到溫度值 小數(shù)return value; /返回讀出的溫度 帶小數(shù)/*時鐘顯示*/void init_1602_ds1302()25static uchar value;smg_i = 8;value +;if(value = 5*2) /2秒dis_smg0 = smg_dumiao % 16; /顯示秒dis_smg1 = smg_dumiao / 16; /dis_smg2 = 0x7f; dis_smg3 = smg_dufen % 16; /顯示分dis_smg4 = smg_dufen / 16; /dis_smg5 = 0x7f; dis_smg6 = smg_dushi % 16; /顯示秒dis_smg7 = smg_dushi / 16; /else if(value = 5*4) /2秒dis_smg0 = smg_duri % 16; /顯示日 dis_smg1 = smg_duri / 16; /dis_smg2 = 0x7f; dis_smg3 = smg_duyue % 16; /顯示月dis_smg4 = smg_duyue / 16; /dis_smg5 = 0x7f; dis_smg6 = smg_dunian % 16; /顯示年dis_smg7 = smg_dunian / 16; /else if(value = 5*6) /2秒dis_smg0 = smg_duweek % 16; /顯示星期dis_smg1 = smg_duweek / 16; /dis_smg2 = 0xff; dis_smg3 = smg_du12; dis_smg4 = smg_dutemperature % 10 ; /dis_smg5 = smg_dutemperature / 10 % 10 dis_smg6 = smg_dutemperature / 100 % 10; dis_smg7 = 0xff;

注意事項

本文(火車站廣場數(shù)字鐘顯示系統(tǒng)設(shè)計)為本站會員(機械****計)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!