基于單片機的熱水器控制系統(tǒng)的設計與實現(xiàn)電氣自動化專業(yè)

上傳人:文*** 文檔編號:63377298 上傳時間:2022-03-18 格式:DOC 頁數(shù):29 大?。?8.37MB
收藏 版權申訴 舉報 下載
基于單片機的熱水器控制系統(tǒng)的設計與實現(xiàn)電氣自動化專業(yè)_第1頁
第1頁 / 共29頁
基于單片機的熱水器控制系統(tǒng)的設計與實現(xiàn)電氣自動化專業(yè)_第2頁
第2頁 / 共29頁
基于單片機的熱水器控制系統(tǒng)的設計與實現(xiàn)電氣自動化專業(yè)_第3頁
第3頁 / 共29頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于單片機的熱水器控制系統(tǒng)的設計與實現(xiàn)電氣自動化專業(yè)》由會員分享,可在線閱讀,更多相關《基于單片機的熱水器控制系統(tǒng)的設計與實現(xiàn)電氣自動化專業(yè)(29頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、基于單片機的熱水器控制系統(tǒng)的設計與實現(xiàn)        25 摘 要 時代在不斷的發(fā)展和進步,人們目前總體步入小康社會,溫飽不再是社會需要解決的主要問題,而生活質量卻成了人們密切關注的首要問題。作為一個新型的家用電器,熱水器不斷的出現(xiàn)在人們的視野中。給用戶的生活帶來了新的春天。人們之前廣泛使用的燃熱水器,由于它的不安全性和對環(huán)境的污染,退出市場是必然的。而電熱水器省空間,衛(wèi)生安全,受到了用戶的青睞。所以針對這一現(xiàn)狀,本次設計的主題是基于單片機的熱水器控制系統(tǒng)的設計與實現(xiàn)。該設計可以對當前水溫進行采集和顯示,還有對實時時鐘的顯示,這種設計方案增加了系統(tǒng)的實用性。 單片機體積小,

2、結構簡單,但是五臟俱全,應用廣泛,因此把STC89C52單片機作為這個系統(tǒng)的主控芯片,外接溫度測量電路、繼電器開關電路,看門狗復位電路,數(shù)據(jù)管顯示電路,構成了整個硬件電路,而軟件方面則是采用C語言開發(fā)技術,C語言編程簡單,實用性強。 關鍵詞:單片機;熱水器;溫度 Abstract Era in continuous development and progress, people into a well-off society, the whole food is no longer a society needs to solve the main problems,

3、and the quality of life have become primary problem people pay close attention to As a new type of household electrical appliances, water heater constantly appear in people's field of vision to the user has brought the new spring life Before people widely used water heater, due to its safety and pol

4、lution to the environment, exit the market is inevitable And electric water heater save space, health security, favored by the users So for this situation, this design is the theme of the water heater based on single-chip microcomputer control system design and implementation of the design to captur

5、e and display the current temperature, and the real time clock display, this kind of design scheme to increase the practicability of the system. SCM small size, simple structure, but all-sided, widely used, so the STC89C52 single-chip microcomputer as main control chip in this system, external temp

6、erature measurement circuit relay switch circuit, watchdog reset circuit, display circuit, data of the hardware circuit and the software is using C language development technology, C programming language is simple, practical. Keywords: Single chip microcomputer; The water heater. The temperature

7、目 錄 1 緒論 1 1.1課題研究背景及意義 1 1.2國內外研究現(xiàn)狀 1 2 電熱水器控制系統(tǒng)的總體設計方案 2 2.1主要設計內容 2 2.2系統(tǒng)整體設計方案 2 2.3各功能模塊介紹 3 2.3.1主控模塊 3 2.3.2溫度采集模塊 4 2.3.3按鍵模塊 4 2.3.3顯示模塊 4 3 硬件電路的設計與實現(xiàn) 4 3.1單片機最小系統(tǒng)硬件電路設計 4 3.2溫度傳感器電路設計 5 3.3按鍵電路設計 5 3.4看門狗復位電路設計 6 3.5顯示電路設計 6 3.6繼電器加熱電路設計 7 3.8電源和開關電路設計 8 4 軟件系統(tǒng)設計 8 4.

8、1主程序設計 8 4.2子程序設計 8 4.2.1溫度傳感器子程序設計 8 4.2.2加熱繼電器控制子程序設計 9 5 系統(tǒng)編寫與系統(tǒng)測試 10 5.1 Keil軟件簡介 10 5.2使用Keil軟件建立一個工程 11 5.3系統(tǒng)調試 12 6結論 15 參考文獻 16 附 錄 17 謝 辭 23 1緒論 1.1課題研究背景及意義 社會的不斷發(fā)展,必然會淘汰不適用于這個時代的產(chǎn)品,隨之而來的是經(jīng)過社會篩選的,符合人們要求的智能化,人性化的設計。一切事物都在不斷的創(chuàng)新和更替,家用電器也逃脫不了。70年代初,香港進步人士送給了周總理兩臺燃氣熱水器,周總理帶回了國

9、內,人們開始接觸到熱水器,熱水器在中國開始慢慢進入到人們的生活中,但是燃熱水器不容易調節(jié)溫度,消耗能源,還容易產(chǎn)生有害氣體。而節(jié)能減排是國家的發(fā)展方向,因此燃熱水器時代終將成為歷史,而太陽能熱水器和電熱水器,節(jié)能安全,不會對環(huán)境造成污染,受到消費者的一致好評。雖然太陽能熱水器的安全性很高,但是受天氣和安裝位置的限制,不方便使用。而智能電熱水器卻受到了用戶的一致好評。 隨著技術的不斷創(chuàng)新和發(fā)展,很多智能化的元素加入到熱水器的設計過程中,不斷更新,來滿足人們的需求。種類也變的多樣,比如儲水式電熱水器,即熱式電熱水器。用最新的科學技術來彌補熱水器本身的局限性,水電隔離,使的安全系數(shù)提高;保護裝置,

10、使其自動斷電。外觀小巧,不占空間,節(jié)能美觀等等因素,使消費者喜歡上了這個家用電器。智能電熱水器必將是一種發(fā)展趨勢。這正是我選擇這一設計課題的原因。 由于單片機的體積小,便安裝,使得其應用范圍越來越廣,尤其是現(xiàn)代化的智能家用電器。他們的控制核心一般都采用各種型號的單片機,而對單片機進行編寫程序和硬件焊接,使其實現(xiàn)對電器的智能化控制,滿足用戶對家用電器的需求。正是在這樣的現(xiàn)狀下,本設計控制系統(tǒng)是以STC89C52單片機作為主控芯片,并通過溫度傳感器,對當前水溫進行采集,并通過數(shù)碼管進行實時數(shù)據(jù)顯示。使用單片機來對智能家用電器進行控制是一種流行趨勢。 1.2國內外研究現(xiàn)狀 由消費者數(shù)據(jù)庫的數(shù)據(jù)

11、顯示,網(wǎng)友對熱水器討論出現(xiàn)峰值,尤其是北京上海等一線城市的年輕女性,都更加喜歡智能電熱水器,并熱切關注大品牌熱水器的更新?lián)Q代,例如海爾,華帝,史密斯等著名的熱水器品牌。這一現(xiàn)象就基本代表著熱水器今后的流行趨勢。新一代的年輕人,在熱水器的選擇上,會更加傾向于環(huán)保,美觀,干凈的電熱水器。 而在國外,經(jīng)過多年的技術沉淀,不斷的引進高新技術,不斷進行產(chǎn)品的創(chuàng)新,熱水器的使用早就得到消費者的認可了,技術也比較成熟,一些大的國外品牌,比如西門子,威能,阿里斯頓等等,像阿里斯頓的電熱水器,采用水電分離設計,使其減少觸電的可能,智能保護技術,使其沒有安全隱患。而熱水器市場將是一個巨大的市場,國外的著名熱水器

12、品牌紛紛進軍中國,搶奪先機,占領市場,可見,電熱水器市場將是一個 搖錢樹,我們要致力于智能電熱水器的設計與創(chuàng)新,引領時代潮流。 在前些年,電熱水器在國內風靡了一段時間,但由于自身電力條件的局限性和高端技術的缺乏,電熱水器在中國沒有發(fā)展起來,但和現(xiàn)在的情況不同。電力工業(yè)也在不斷的改進和發(fā)展,現(xiàn)在的住房電力條件都能供得上電熱水器的使用,更何況,現(xiàn)在的電熱水器比之前傳統(tǒng)的熱水器要省電的多,如今的電熱水器,智能化,人性化的設計,使的它更加深入人心。非常安全,較少發(fā)生觸電危險。還可以根據(jù)季節(jié)的變化,設置適合的模式,加熱時間等,如此一來,也可以節(jié)省能源。因此電熱水器今后在國內的發(fā)展趨勢銳不可當。

13、 2電熱水器控制系統(tǒng)的總體設計方案 2.1 主要設計內容 本次設計所研究的基于單片機的熱水器控制系統(tǒng)可以實現(xiàn)如下功能。 (1) 具有溫度檢測功能。對當前水溫進行采集和顯示,并判斷當前溫度與設置溫度的關系,從而進行熱水器加熱控制。 (2) 實時數(shù)據(jù)顯示功能。 通過數(shù)碼管對當前時間和溫度進行數(shù)據(jù)顯示。 (3) 恒溫保持。 (4) 加熱。當檢測到當前水溫低于熱水器預設溫度時,藍燈亮,表示繼電器閉合開啟加熱;當檢測到當前水溫高于熱水器預設溫度時,藍燈滅,表示繼電器斷開,停止加熱。 2.2系統(tǒng)整體設計方案 本次設計研究的熱水器控制系統(tǒng)整體設計方案主要包括硬件設計方案和軟件設計方案。

14、 這個控制系統(tǒng)是以STC89C52單片機作為主控芯片,在外接溫度測量電路、繼電器開關電路、看門狗復位電路等電路組成。在熱水器工作時,利用溫度傳感器采集熱水器的當前水溫。當采集到的當前溫度小于預設的溫度時,加熱繼電器閉合開啟加熱,此時藍燈亮;自動加熱,當采集到的當前水溫高于預設的溫度時,加熱繼電器便自動斷開,加熱自動截止,此時綠燈滅。而在熱水器的整個工作過程中,都是通過數(shù)碼管對當前時間和溫度進行實時數(shù)據(jù)顯示。根據(jù)本次設計的需求,我們在考慮到成本,體積,安全等因素下,對熱水器控制系統(tǒng)的硬件設計框圖如圖2-1所示。 圖 2

15、-1 系統(tǒng)硬件結構示意圖 軟件設計是整個控制系統(tǒng)的靈魂部分。本次軟件設計的開發(fā)語言是C語言。這是一門應用廣泛,簡單便捷的語言,下面列出了本次軟件設計的流程。 (1)根據(jù)本次設計需要實現(xiàn)的功能來進行軟件系統(tǒng)設計,分為主程序設計和子程序設計。 (2)繪制好各功能模塊的程序流程圖。 (3)用C語言編寫好各功能程序。 (4)把編寫好的程序代碼放入到Keil軟件中,進行連接編譯。 (5)再對系統(tǒng)進行調試,有錯誤的地方,再修改代碼改正。 2.3 各功能模塊介紹 2.3.1 主控模塊 STC89C52單片機是這個控制系統(tǒng)的主控芯片。選用STC單片機,成本低,性能高,硬件不需要改動,實用性強

16、??梢约嫒輦鹘y(tǒng)的8051單片機,是51單片機的增強版。工作電壓是5.5V~3.3V,工作頻率是0~40MHz,用戶應用程序空間是8K字節(jié),512字節(jié)程序存儲空間,32個通用I/O口,具有EEPROM功能和看門狗功能,共三個16位定時器,外部中斷4路,通用異步串行口,工作范圍溫度在-40~+85℃,PDIP封裝,可直接使用串口下載。STC89C52單片機簡單,成本低,但卻有著豐富的引腳,運作頻率很快,是新一代的體積小,高速,低功耗,安全性高,操作簡單的單片機,所以我們采用這一款單片機作為整個控制系統(tǒng)的芯片。 2.3.2 溫度采集模塊 此設計系統(tǒng)采用的是一種數(shù)字式集成單線DS18B20溫度傳感

17、器,首先它的安放地點非常隨便。由于體積小,可封裝,不容易損壞,可適用于不同場合,比如熱爐廠,煉鋼廠,實驗室等等,一些比較狹小不好測量的環(huán)境都可以。再者價格便宜,精度高,可大規(guī)模使用。還有其接線方式獨特,只需要一條口線就能在單片機和傳感器之間進行通訊,不需要外圍元件。測溫范圍也比較廣,不銹鋼保護管,不容易損壞,能夠在管道中測溫。 有的時候可以不用外接電源,通過內部寄存器可從數(shù)據(jù)線上獲取電源,比較方便,實用 冰箱,空調等一些家用電器都可以使用。所以,在綜合考慮到各方面的因素之后,我們決定使用DS18B20溫度傳感器進行溫度采集。 2.3.3 按鍵模塊 本設計采用了6個獨立鍵盤,獨立按鍵編程

18、比較簡單,再者按鍵個數(shù)不多,可選用獨立按鍵,其一是溫度鍵,可用于顯示當前溫度;其二是時鐘鍵,可用于顯示當前時間;其三是連加鍵,用于預設溫度時進行溫度連加操作;其四是連減鍵,用于預設溫度時進行溫度連減操作;其五是修改鍵,用于預設溫度的修改,和初始化時鐘時的修改;其六是確定鍵,當預設溫度設置好之后,按下確定鍵;當初始化時鐘后,按下確定鍵。本設計的按鍵模塊,緊跟設計要求,經(jīng)濟,增加了系統(tǒng)的靈活性。 2.3.4 顯示模塊 本設計采用的是數(shù)碼管進行實時數(shù)據(jù)顯示。以CH451作為數(shù)碼管的驅動芯片,用動態(tài)驅動電路來驅動數(shù)碼管,從而顯示出我們要采集的溫度,當前時鐘。當前普遍使用的顯示屏還有液晶屏,但它的價

19、格比較昂貴,而數(shù)碼管比較經(jīng)濟。使用簡單,顯示清晰,不受限于溫度,應用非常廣泛,而且數(shù)碼管比較環(huán)保,可回收,沒有污染。壽命長,適合于長時間使用。所以綜合各方面因素考慮,我們還是選用數(shù)碼管進行數(shù)據(jù)顯示。 3硬件電路的設計與實現(xiàn) 3.1 單片機系統(tǒng)硬件電路設計 單片機系統(tǒng)包括電源電路、溫度傳感器電路、按鍵電路、看門狗復位電路等。電源電路向單片機供電,溫度傳感器電路測量溫度,看門狗復位電路定期檢查電路,完成單片機的整個工作過程,其硬件原理圖如圖3-1所示。 圖3-1單片機系

20、統(tǒng)及其接口電路設計 3.2 溫度傳感器電路設計 DS18B20溫度傳感器可以直接讀出被測溫度,并將溫度轉換成可用輸出信號,并將輸出信號,通過一條口線在單片機和傳感器之間進行通訊,讀取傳感器的溫度值。 圖 3-2 溫度傳感器電路圖 3.3 按鍵電路設計 本設計的溫度設置、時鐘設置都要通過按鍵來實現(xiàn),采用的是6個獨立按鍵的設計,其電路圖如圖3-3所示 3-3 按鍵電路設計圖 3.4 看門狗復位電路設計 當程序出現(xiàn)問題時,內存和寄存器中的數(shù)據(jù)就會被

21、打亂,如果不對這些錯誤的程序指令進行修改,都會程序飛跑,正常的程序運行將會被打亂,控制系統(tǒng)就會出現(xiàn)問題,不能正常工作??紤]到這種情況,看門狗復位電路是不可或缺的,用它來能夠定期檢查芯片內部的情況,一旦發(fā)現(xiàn)問題就向芯片發(fā)出重啟信號的電路。根據(jù)以往設計的經(jīng)驗和本次設計的要求,我們設計的看門狗復位電路圖如圖3-4所示。

22、 圖3-4 看門狗復位電路 3.5 數(shù)碼管驅動電路設計 普通數(shù)碼管公共段,正常靜態(tài)工作電流能達到70-80mA,單片機一般不足以提供這么大的電流。此設計中,用三極管來驅動四位數(shù)碼管,加三極管可擴展IO口的驅動能力,使單片機工作更加穩(wěn)定可靠。本設計的驅動電路易操作又簡單,如圖3-5所示。

23、 圖3-5 驅動電路圖 3.6繼電器加熱電路設計 通過溫度傳感器DS18B20采集熱水器的當前水溫,當采集到的溫度小于預設的溫度時,加熱繼電器閉合開啟加熱,當采集到的水溫高于預設的溫度時,加熱繼電器便自動斷開,加熱自動停止。電路圖如圖3-6所示 圖3-6 繼電器加熱電路圖 3.7電源和開關電路設計 電源電路給整個控制系統(tǒng)

24、的各個單元電路提供穩(wěn)定的電流,保證系統(tǒng)的穩(wěn)定運行。其電路圖如圖3-8所示。 圖3-7電源電路設計 4 軟件系統(tǒng)設計 4.1 主程序設計 當我們在執(zhí)行一個程序時,首先執(zhí)行的是主程序,而在主程序中可以調用某個子程序,當這個子程序完成自己的職責后,再回到主程序。在主程序運行前,我們要將定時器和溫度傳感器先進行初始化,使系統(tǒng)的工作參數(shù)回到原始狀態(tài),然后進入主循環(huán),調用按鍵子程序,進行溫度,時鐘的參數(shù)設置,當設置好參數(shù)后,系統(tǒng)主程序就可以調用DS18B20傳感器數(shù)據(jù)采集程序和數(shù)碼管顯示子程序,來顯示當前的實時溫度。 4.2 子程序設

25、計 4.2.1 溫度傳感器子程序設計 DS18B20傳感器將每1s對溫度進行測量一次,然后將此溫度與預設的溫度進行比較處理,DS18B20溫度流程圖如圖4-1所示。 圖4-1 DS18B20溫度流程圖 4.2.2按鍵設置子程序設計 開始掃描按鍵,并判斷哪個按鍵被按下,通過找到按鍵,對溫度,時鐘進行設置,所以要把按鍵和設置程序在主程序中反復調用。

26、 圖4-2 溫度子程序設計圖 5 程序編寫與系統(tǒng)調試 5.1 Keil軟件簡介 美國Keil Software公司生產(chǎn)的Keil是一個C語言軟件開發(fā)系統(tǒng),這個系統(tǒng)可以兼容51單片機。我們編寫的是C語言程序代碼,CPU不能識別執(zhí)行,我們就需要一個工具,將編寫好的代碼變成機器可以識別的機器碼.單片機的開發(fā)軟件也在不斷地發(fā)展,keil就是一個易操作,易理解的新型開發(fā)軟件,它具有一個非常完整的開發(fā)方案,功能也比較強大,并且還具有仿真調試工具,通過keil生成的代碼緊湊,易讀,讓用戶容易理解。經(jīng)過綜合考慮,我使

27、用keil來建立一個工程,并經(jīng)行編譯,連接,生成要寫進單片機的HEX文件。 5.2 使用Keil軟件建立一個工程 首先我們要先打開Keil軟件,就會出現(xiàn)Keil軟件主界面,工程文件都是空白的,如圖5-1所示 圖5-1 軟件主界面圖 然后點擊Project,再新建Project,如圖5-2所示。 圖5-2 新建工程示意圖 再選擇保存工程的位置,將新建的工程進行保存,這一步完成后,我們就建立了一個工程了。下一步,我們需要做的是,在新建的fi

28、le里編寫自己的程序代碼。并把它添加到工程中,如圖5-3所示。 圖5-3 程序代碼圖 之后,我們就要對代碼進行編譯了,點擊連接,編譯按鈕,顯示無錯誤,然后此時的Keill就生成了要寫進單片機的HEX文件。如圖5-4所示 圖5-4 編譯結果圖 5.3 系統(tǒng)調試 我們要對系統(tǒng)進行調試,查看系統(tǒng)的硬件電路能否能夠實現(xiàn)預想的功能。如果有問題,就需要作出修改。把所有的元器件焊接完成,開始調試,

29、看是否焊接完整,再打開電源,給系統(tǒng)供電,看是否能夠正常供電,如圖5-5所示,可見電源燈亮起,數(shù)碼管屏能夠顯示當前溫度。 圖5-5 數(shù)碼管屏顯示圖 通過修改鍵和連加鍵,預設溫度為30度,如圖5-6所示 。 圖5-6 預設溫度示意圖 點擊確定鍵,溫度傳感器檢測到熱水器當前溫度21度低于設置的溫度30度,加熱繼電器閉合,開始加熱,加熱指示燈亮。溫度檢測示意圖如圖5-7所示。

30、 5-7 溫度檢測示意圖 繼續(xù)加熱,當熱水器加熱到30度時,加熱指示燈熄滅,就完成了熱水器加熱的整個過程如圖5-8所示。 圖5-8 指示燈熄滅示意圖 進行時鐘調整,按下時鐘鍵,顯示初始狀態(tài)零點,通過連加鍵和連減鍵,設置當前時間11點03分,過2分鐘,顯示11點05分。如圖5-8,5-9所示。 圖5-8 時鐘顯示圖

31、 圖5-9 時鐘顯示圖 6 結論 看到這一設計題目,要先了解該控制系統(tǒng)需要實現(xiàn)的功能,進行整體設計,選擇經(jīng)濟,實用性的器件,再繪制了電路原理圖,系統(tǒng)流程圖,編寫了程序代碼,加入到keil軟件中,制作了電路板,并對系統(tǒng)進行調試。本次設計的電熱水器控制系統(tǒng)能完成預期的水溫采集,實時時鐘顯示等功能,并解決了熱水器功能單一的問題?;趩纹瑱C的熱水器成本低、精度高、可靠性好,我們相信科技的不斷發(fā)展,使電熱水器在智能化、人性化設計方面會有更大的進步。 通過本次畢業(yè)設計,我從中學到了很多東西,在硬件電路設計方面和軟件編程方面的能力得到進一

32、步的提升。在做設計的過程中,收獲了知識,也體驗到設計的快感。 參 考 文 獻 [1]雷雪梅.數(shù)字溫度傳感器DS18B20的結構及應用簡介[J].科技創(chuàng)新與應用,2017(02):62. [2]閆曉陽,李晗.基于單片機的智能熱水器控制系統(tǒng)設計[J].科學技術創(chuàng)新,2017,(25):19-20. [3]李榮茂.基于單片機電熱水器液位、溫度檢測控制系統(tǒng)的設計[J].電子制作,2017,(15):66-67. [4]禹國剛.基于單片機的電熱水器控制系統(tǒng)設計[J].設備管理與維修,2017,(04):29-31. [5]李鑫,韋杰.基于單片機的熱

33、水器控制系統(tǒng)設計[J].無線互聯(lián)科技,2015,(15):43+58. [6]張明華.基于單片機的熱水器智能控制系統(tǒng)的設計[J].電子制作,2015,(06):8. [7]孫濱,姜傳林,陳元勇.基于STC單片機的太陽能熱水器智能節(jié)水控制系統(tǒng)設計[J].電子技術,2015,44(02):52-54+51. [8]鄭麗敏.基于單片機驅動數(shù)碼管的顯示設計[J].產(chǎn)業(yè)與科技論壇,2017,16(17):60-61. [9]江鶯,倪曉宇.基于HT48R54A單片機電熱水器水位控制系統(tǒng)設計[J].現(xiàn)代計算機,2013,(05):59-61+68. [10]李云陽.基于單片機的太陽能熱水器

34、模糊控制系統(tǒng)的設計[J].農(nóng)機使用與維修,2012,(05):114-116. [11]翟敏煥.基于單片機的即熱式電熱水器控制系統(tǒng)的設計[J].現(xiàn)代計算機(專業(yè)版),2012,(16):77-80. [12]Zeynep Atalay,Ferhat Celep,Fatma Bara,Musa Do?an. Systematic significance of anatomy and trichome morphology in Lamium (Lamioideae; Lamiaceae)[J]. Flora,2016,225. [13]Daniel Sabai. Disambiguat

35、ing Praxis from Practice in Natural Resource Management: A Practical Space for Enhancing Experiential Learning in the Eastern Coast of Tanzania[J]. Transylvanian Review of Systematical and Ecological Research,2017,19(1). [14]Habibeh Atapour,Alijan Aftabi. Comments on “Geochronology and geochemistr

36、y of rhyolites from Hormuz Island, southern Iran: A new Cadomian arc magmatism in the Hormuz Formation? by N. S. Faramarzi, S. Amini, A. K. Schmitt, J. Hassanzadeh, G. Borg, K. McKeegan, S. M. H. Razavi, S. M. Mortazavi, Lithos, Sep. 2015, V.236–237, P.203–211: A missing link of Ediacaran A-type rhy

37、olitic volcanism associated with glaciogenic banded iron salt formation (BISF)[J]. LITHOS,2017,284-285. 附錄1 #include //頭文件 #include "intrins.h" //包含_nop_()指令頭文件 #define nop _nop_();_nop_();_nop_();_nop_();_nop_(); /

38、/宏定義 #define uchar unsigned char #define uint unsigned int /********************定義控制端口**********************/ sbit CLK=P1^1; sbit DIO=P1^0; sbit Key_Temp=P2^0; //定義p2口的0位為Key_Temp

39、 sbit Key_Clock=P2^1; sbit Key_Up=P2^2; sbit Key_Down=P2^7; sbit Key_Setup=P2^6; sbit Key_Confi=P2^5; sb

40、it JDQ =P1^2; sbit JDQLED = P1^7; /********************定義數(shù)據(jù)*************************/ Unsigned char code CODE[16]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87, 0xFF,0xEF,0xF7,0xFC,0xC0}; //共陽顯示數(shù)據(jù) sbit DQ=P1^3; //數(shù)據(jù)傳輸線接單片機的相應的引腳 un

41、signed char tempL=0; //設全局變量 unsigned char tempH=0; unsigned int sdata; //測量到的溫度的整數(shù)部分 unsigned char xiaoshu1; //小數(shù)第一位 unsigned char xiaoshu2; //小數(shù)第二位 unsigned char xiaoshu; //兩位小數(shù) bit fg=1; //溫度正負標志 uchar hour = 0; Minute = 0; second = 0; uchar time1 = 0; bit ClockFlag =

42、 0; bit TempDisp = 0; bit SetFlag = 0; uchar TempThre = 10; void delay(unsigned char i) { for(i;i>0;i--); } void Init_DS18B20(void) { unsigned char x=0; DQ=1; //DQ先置高 delay(8); DQ=0; //發(fā)送復位脈沖 delay(80); //延時(>480us) DQ=1; //拉高數(shù)據(jù)線 delay(5);

43、 x=DQ; //用X的值來判斷初始化有沒有成功,18B20存在的話X=0,否則X=1 delay(20); } //讀一個字節(jié) ReadOneChar(void) //主機數(shù)據(jù)線先從高拉至低電平1us以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀信號 { unsigned char i=0; unsigned char dat=0; for (i=8;i>0;i--) { DQ=1; delay(1); DQ=0; dat>>=1; DQ=1; if(DQ) dat|=0x80;

44、delay(4); } return(dat); } //寫一個字節(jié) void WriteOneChar(unsigned char dat) { unsigned char i=0; for(i=8;i>0;i--) //在15~60us之間對數(shù)據(jù)線進行采樣,如果是高電平就寫1,低寫0發(fā)生。 { DQ=0; //標志著進行另一個寫周期前必須有高電平恢復期。 DQ=dat&0x01; delay(5); DQ=1; dat>>=1; } delay(4); } //讀溫度值(低位放

45、tempL;高位放tempH;) void ReadTemperature(void) { Init_DS18B20(); //初始化 WriteOneChar(0xcc); //跳過讀序列號的操作 WriteOneChar(0x44); //啟動溫度轉換 delay(125); //轉換需要一點時間,延時 Init_DS18B20(); //初始化 WriteOneChar(0xcc); WriteOneChar(0xbe); //讀溫度寄存器 tempL=ReadOneChar();

46、 //讀出溫度的低值 tempH=ReadOneChar(); //讀出溫度的高值 if(tempH>0x7f) //最高位為1時溫度是負 { tempL=~tempL; //補碼轉換,取反加一 tempH=~tempH+1; fg=0; //讀取溫度為負時fg=0 } sdata = tempL/16+tempH*16; //整數(shù)部分 xiaoshu1 = (tempL&0x0f)*10/16; //小數(shù)第一位 xiaoshu2 = (tempL&0x0

47、f)*100/16%10; //小數(shù)第二位 xiaoshu=xiaoshu1*10+xiaoshu2; //小數(shù)兩位 } void delay_nms(unsigned int n) { unsigned int i; while(n--) for(i=0;i<550;i++); } void I2CStart() { DIO=1; CLK=1; nop; DIO=1; nop; DIO=0; nop; CLK=0; } void I2CStop() { CLK=0; nop; nop; DIO=0; n

48、op; nop; CLK=1; nop; nop; nop; DIO=1; nop; CLK=0; DIO=0; } void I2CWritebyte(unsigned char oneByte) { unsigned char i; for(i=0;i<8;i++){ CLK=0; if(oneByte&0x01) DIO=1; else DIO=0; nop; CLK=1; oneByte=oneByte>>1; }

49、 //8位數(shù)據(jù)傳送完 CLK = 0; //判斷芯片發(fā)過來的ACK應答信號 nop; while(DIO==1); nop; CLK = 1; nop; } void disp(unsigned char add, unsigned char value) { I2CStart(); I2CWritebyte(0x44);

50、 //數(shù)據(jù)命令設置:固定地址,寫數(shù)據(jù)到顯示寄存器 I2CStop(); I2CStart(); I2CWritebyte(add); //把對應地址寫入add I2CWritebyte(CODE[value]); //給add地址寫數(shù)據(jù) I2CStop(); I2CStart(); I2CWritebyte(0x8C); //顯示控制命令:

51、開顯示,脈沖寬度為11/16. I2CStop(); } void dispslp(unsigned char add, unsigned char value) { I2CStart(); I2CWritebyte(0x44); //數(shù)據(jù)命令設置:固定地址,寫數(shù)據(jù)到顯示寄存器 I2CStop(); I2CStart(); I2CWritebyte(add); //地址命令設置:寫入add對應地址 I2CWritebyte(value)

52、; //給add地址寫數(shù)據(jù) I2CStop(); I2CStart(); I2CWritebyte(0x8C); //顯示控制命令I2CStop(); } void DisplayTemp() { uchar shi,ge; dispslp(0xc0,0x40); dispslp(0xc1,0x40); shi = sdata/10; ge = sdata%10; disp(0xc2,shi); disp(0xc3,ge); }

53、 謝 辭 大學四年時光轉瞬即逝,這期間有過學習新知識時的困惑,也有過完成一項任務時的成就感,一點一點的積累知識,并慢慢成長。而畢業(yè)設計是對自己四年學習的最后一個考驗和檢測。本次設計是在自動化與電氣工程學院指導老師潘學美老師和青軟實訓指導老師李浩老師的細心指導下完成的,兩位老師嚴謹認真的學術態(tài)度和事必躬親的工作精神讓我受益匪淺,從2017年10月份畢業(yè)設計題目的選擇、設計計劃的安排到設計的最終定稿,兩位老師一直在不斷地盡心盡力的幫助我們,進行專業(yè)的指導,更是一次次的讓我們提交論文,為我們不斷的進行修改。而我之所以能盡快的完成本次設計課題,完全要感謝兩位老師的教導。同時,也非常感謝這大學四年里給予我?guī)椭拿恳晃焕蠋熀屯瑢W,正是因為你們的幫助和指導,我才能不斷成長,最后衷心祝愿你們身體健康,工作順利! 年 月 日

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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