1緒論
1.1溫度報警器簡介
溫度報警器是一種通過DS18B20采集周圍溫度,單片機來處理數據來報警的一種電子產品。它的種類很多,有簡易的電路產品,也有基于芯片的性價比較高的產品。現在應用較廣的溫度報警器是以芯片為核心,通過編程來實現的。
1.2溫度報警器的背景與研究意義
在日常生活中,溫度對于我們并不陌生,它是一個時時刻刻存在的物理量在我們的日常生活中占據了十分重要的地位。溫度的大小時刻與我們的生產、生命、安全息息相關。因此對溫度的測量與控制對各個行業領域有著很及其重要的作用尤其是在金屬冶煉、化學研究、建材生產、食品加工、機械制作、石油提煉等工業領域,占據不可忽視的作用。眾所周知,當我們進行陶瓷燒烤,制作陶瓷工藝時,必須很精確的控制其燒烤溫度,只要我們控制好其溫度,這樣才能創造出完美的、無瑕疵的藝術品,一旦溫度控制不佳,將會一件次品;另外當我們進行釀酒時,同樣也需要對溫度進行合理適當的控制,只有這樣,我們才能夠生產出大家公認的好酒。如此可見,對于溫度的檢測與把控在我們日常生活以及工業生產占據著舉足輕重的地位。
目前,在日新月異的生活變化中,工業和農業領域得到了快速的發展與進步,人們的需求也是不斷地擴張,對于電子工業領域,自動化的產品無疑是得到大家的歡迎,隨著微型處理器功能的不斷強大,單片機無疑成了人們心目中最美好的選擇,它的出現為人民的生活帶來了不可否認利益,對于工業領域,提高了生產效率,方便了人民的生活。然而隨著人們的要求越來越高,對現代科學研究,工作,生活,提供更便利的設施需要從單片機技術開始,向著數字控制系統,智能控制方向不斷地發展。
目前,我們在科技迅速發展的現在社會中不斷成長,信息技術已經不知不覺的滲透到我們生活的各個方面。為了確保這些科技產品的安全,減少其對我們生命和財產造成損失,我們首先需要控制它們的溫度,確保它們在正常的溫度之間正常運行,因研究兼備經濟實用為一體的溫度報警裝置具有重要的意義
1.3溫度報警器的現狀及發展趨勢
在現代社會中,由于工業過程控制系統的不斷發展,特別是計算機領域中微電子技術以及自動控制理論和設計方法的快速發展,相對中國而言,國外一些發達國家在溫度監控系統研究中已經成功取得了超前的成績,具體的表現其自適應、智能化、參數自整定的特點。以德國、日本、美國等發達國家為例,在上個世紀,他們已經成功生產出了一批商業化的、性能優異的溫度監控器以及儀表設備,并且已經投入市場,在工業、家庭等領域得到了廣泛的應用,而中國才處于研究的初級階段。
2 系統整體方案設計
2.1設計目標
本設計采用STC89C52單片機為主控芯片,結合外圍電路矩陣鍵盤、液晶顯示器LCD1602等部分組成。其中矩陣鍵盤用于輸入數字密碼和進行各種功能的實現。由用戶通過連接單片機的矩陣鍵盤輸入密碼,后經過單片機對用戶輸入的密碼與自己保存的密碼進行對比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開鎖電路或者報警電路控制開鎖還是報警,組成的溫度報警器系統,能夠實現:
1. DS18B20不斷采集周圍環境溫度;
2. 單片機處理溫度的數據顯示在DS18B20;
3. 用戶設定溫度報警的上限和下限;
系統整體設計框圖如圖2-1所示:
1.002.jpg (16.37 KB, 下載次數: 167)
下載附件
2017-6-21 21:46 上傳
圖2-1 系統整體設計框圖
2.2系統的基本方案
2.2.1 系統方案選擇
采用單總線數字溫度傳感器DS18B20測量溫度,直接輸出數字信號。便于單片機處理及控制,節省硬件電路。且該芯片的物理化學性很穩定,此元件線形性能好,在0—100攝氏度時,最大線形偏差小于1攝氏度。DS18B20的最大特點之一采用了單總線的數據傳輸,由數字溫度計DS18B20和微控制器AT89C51構成的溫度裝置,它直接輸出溫度的數字信號到微控制器。每只DS18B20具有一個獨有的不可修改的64位序列號,根據序列號可訪問不同的器件。這樣一條總線上可掛接多個DS18B20傳感器,實現多點溫度測量,輕松的組建傳感網絡。
2.2.2 各模塊方案選擇
2.2.2.1 單片機的選擇
采用STC89C52單片機,它是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程Flash 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。
2.2.2.2 溫度傳感器的選擇
DS18B20溫度傳感器是美國DALLAS半導體公司最新推出的一種改進型智能溫度傳感器,與傳統的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現9~12位的數字值讀數方式。DS18B20的性能特點如下:
●獨特的單線接口僅需要一個端口引腳進行通信;
●多個DS18B20可以并聯在惟一的三線上,實現多點組網功能;
●無須外部器件;
●可通過數據線供電,電壓范圍為3.0~5.5V;
●零待機功耗;
●溫度以9或12位數字;
●用戶可定義報警設置;
●報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;
●負電壓特性,電源極性接反時,溫度計不會因發熱而燒毀,但不能正常工作;
DS18B20內部結構主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發的溫度報警觸發器TH和TL,高速暫存器。DS18B20的管腳排列如圖3.5所示。64位光刻ROM是出廠前被光刻好的,它可以看作是該DS18B20的地址序列號。不同的器件地址序列號不同。
2.2.2.3 顯示模塊的選擇
液晶顯示采用LCD 液晶顯示,顯示的位數多,由單片機驅動。此方案有美觀、顯示清晰多樣的優點。
2.2.2.4 報警模塊的選擇
采用有源蜂鳴器來報警(需要一定的頻率才可以驅動),可以發出聲音報警且降低了成本。
2.3主要元器件介紹
2.3.1 STC89C52的簡介
STC89C52是一種帶8K字節閃爍可編程可檫除只讀存儲器的低電壓,高性能COMOS8的微處理器,俗稱單片機。該器件采用ATMEL搞密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。
STC89C52具體介紹如下:
① 主電源引腳(2根)
VCC(Pin40):電源輸入,接+5V電源
GND(Pin20):接地線
②外接晶振引腳(2根)
XTAL1(Pin19):片內振蕩電路的輸入端
XTAL2(Pin20):片內振蕩電路的輸出端
③控制引腳(4根)
RST/VPP(Pin9):復位引腳,引腳上出現2個機器周期的高電平將使單片機復位。
ALE/PROG(Pin30):地址鎖存允許信號
PSEN(Pin29):外部存儲器讀選通信號
EA/VPP(Pin31):程序存儲器的內外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內部程序存儲器讀指令。
④可編程輸入/輸出引腳(32根)
STC89C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。
P0口(P39~P32):8位雙向I/O口線,名稱為P0.0~P0.7
P1口(P1~P8):8位準雙向I/O口線,名稱為P1.0~P1.7
P2口(P21~P28):8位準雙向I/O口線,名稱為P2.0~P2.7
P3口(P10~P17):8位準雙向I/O口線,名稱為P3.0~P3.7
2.3.2 LCD1602的簡介
本設計所使用的是不帶字庫的LCD1602液晶顯示屏,因為其可以在proteus中仿真,便于設計 ,其引腳表如2-3所示。
表2-3 12864引腳
1.003.jpg (19.13 KB, 下載次數: 140)
下載附件
2017-6-21 21:46 上傳
3 系統的硬件設計與實現
3.1 系統硬件概述
本系統是通過鍵盤掃描模塊,既能夠顯示數據并且還能修改密碼,開鎖密碼,具有強大的功能,通過鍵盤掃描模塊輸入到單片機控制系統STC89C52 中。然后通過LCD顯示模塊來顯示我們所要有數據,還有一個就是報警模塊,當輸入的密碼相同時,則顯示模塊的燈點亮,當輸入的密碼是錯誤時,重新輸入,三次出錯蜂鳴器響,發出報警。為了達到設定的功能,本裝置鍵盤掃描模塊、單片機控制模塊、LCD顯示模塊,報警模塊等4 模塊組成。
3.2主要單元電路的設計
3.2.1溫度采集模塊電路的設計
3.2.2單片機控制模塊電路的設計
單片機作為本裝置的核心器件,在系統中起到控制報警、以及LCD顯示的作用,其中采用的是STC89C52是標準的40 引腳雙列直插式集成電路芯片,有4 個八位的并行雙向I/O 端口,分別記作P0、P1、P2、P3。第20 引腳為接地端;第40引腳為電源端;第31 引腳需要接高電位使單片機選用內部程序存儲器;第18、19 腳之間接上一個12MHz 的晶振為單片機提供時鐘信號;第9 腳為復位腳,當其接高電位時,單片機停止工作。P1 口接LCD控制引腳,P0 口連接一LCD1602顯示屏數據輸入端,P3 口與12 個陣列式按鍵相連實現對鍵盤的掃描。如圖3-2所示。
1.004.jpg (66.21 KB, 下載次數: 159)
下載附件
2017-6-21 21:46 上傳
圖3-2主控電路圖
3.2.3報警模塊電路的設計
本模塊的作用是當開鎖按鈕被按下時,如果LCD當前顯示值相同,則紅燈點亮,當輸入的數與密碼不同時,則蜂鳴器立刻發出聲音報警。如圖3-3所示。
1.005.jpg (24.98 KB, 下載次數: 170)
下載附件
2017-6-21 21:46 上傳
圖3-3 報警電路圖
3.2 LCD1602顯示模塊電路的設計
本模塊主要用于顯示指示用戶密碼輸入要求。根據管腳要求連接電路,P0口接上拉電阻,并與LCD數據輸入端口連接,控制管腳與P1口連接。如圖3-4所示。
1.006.jpg (64.63 KB, 下載次數: 178)
下載附件
2017-6-21 21:46 上傳
3-4顯示模塊電路圖
4 系統的軟件設計與實現
4.1 KEIL軟件介紹
Keil 是美國Keil公司的C51編譯器,它被嵌入到了Keil uVision集成開發環境中。Keil是目前最常用的編譯器,支持浮點等到類型,支持多維數組,能生成對應的匯編代碼,能直接編譯匯編代碼程序和內嵌多種工具,可以方便的鏈接,生成可執行文件。Keil uVision 2 IDE 是Keil software 公司的產品,它集項目管理、編譯工具、代碼編寫工具、代碼調試以及完全仿真于一體,適合個人開發或人數少、對開發過程的管理還不成熟的開發團體。這一功能強大的軟件提供簡易的開發平臺,可以讓開發者在開發過程中集中精力于項目本身,加快開發速度。
4.2系統程序設計流程圖
4.2.1 主程序軟件設計
通過上述原理,已對密碼鎖整體運行環境有了充分認識,繪制主程序和子程序流程圖,利用Keil軟件,對單片機進行編程,如圖4-1為主程序功能流程圖:
1.007.jpg (18.34 KB, 下載次數: 147)
下載附件
2017-6-21 21:46 上傳
4-1主程序功能流程圖
4.2.2溫度采集的軟件設計
如圖4-2為溫度采集的軟件設計,主要功能是完成DS18B20的初始化工作,并進行讀溫度,將溫度轉化成為壓縮BCD碼 并在顯示器上顯示傳感器所測得的實際溫度。讀出溫度子程序的主要功能是讀出RAM中的9字節,在讀出時需要進行CRC校驗,校驗有錯時不進行溫度數據的改寫。
1.008.jpg (22.64 KB, 下載次數: 141)
下載附件
2017-6-21 21:46 上傳
4-2溫度采集的軟件設計流程圖
4.2.3 溫度采集算法軟件設計
如圖4-3為溫度采集算法流程圖,計算溫度子程序將RAM中讀取值進行BCD碼的轉換運算,并進行溫度值正負的判定,其程序流程圖。
1.009.jpg (19.04 KB, 下載次數: 155)
下載附件
2017-6-21 21:46 上傳
4-3溫度采集算法流程圖
4.2.4溫度轉換命令子程序軟件設計
如圖4-4為溫度轉換命令子程序流程圖,溫度轉換命令子程序主要是發溫度轉換開始命令,當采用12位分辯率時轉換時間約為750ms,在本程序設計中采用1s顯示程序延時法等待轉換的完成。
1.010.jpg (11.74 KB, 下載次數: 148)
下載附件
2017-6-21 21:46 上傳
4-4溫度轉換命令子程序流程圖
5 系統仿真設計
5.1 Proteus 軟件介紹
Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。在PROTEUS繪制好原理圖后,調入已編譯好的目標代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實物運行狀態和過程。
PROTEUS不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。 使用Proteus 軟件進行單片機系統仿真設計,是虛擬仿真技術和計算機多媒體技術相結合的綜合運用,有利于培養學生的電路設計能力及仿真軟件的操作能力;在單片機課程設計和全國大學生電子設計競賽中,我們使用 Proteus 開發環境對學生進行培訓,在不需要硬件投入的條件下,學生普遍反映,對單片機的學習比單純學習書本知識更容易接受,更容易提高。實踐證明,在使用 Proteus 進行系統仿真開發成功之后再進行實際制作,能極大提高單片機系統設計效率。因此,Proteus 有較高的推廣利用價值。
5.2 Proteus 仿真圖
圖5-1為正常溫度界面圖,圖5-2為報警溫度界面,實現實時顯示和溫度報警。
1.011.jpg (41.83 KB, 下載次數: 171)
下載附件
2017-6-21 21:46 上傳
圖5-1 正常溫度界面圖
1.012.jpg (47.47 KB, 下載次數: 168)
下載附件
2017-6-21 21:46 上傳
圖5-2 報警溫度界面
5.3 硬件調試
硬件調試主要是測試各硬件部分能否完成設計功能。
系統的性能調試以主程序為主。硬件調試比較簡單,直接插上電,軟件調試可以先編寫顯示程序并進行硬件的正確性檢驗,然后分別進行主程序、從程序的編寫和調試,由于DS18B20與單片機采用串行數據傳送,因此對DS18B20進行編程時必須嚴格地保證讀寫時序,否則將無法讀取測量結果。
在焊接的過程中,每接一根線都用萬用表測試是否短路或開路。這樣焊接完了之后,就不必懷疑線路不通的問題了,由于線路很繁瑣也免去了大量排查的工作。最初焊接最小系統,查看二極管能否正常閃爍,以此判斷單片機是否正常工作。整體電路焊接完后,通電測試所有硬件芯片的輸入輸出電壓是否在設計要求的范圍內,判斷單片機的工作與否。
5.4 調試結果
在調試中出現的很多問題,開始顯示屏不顯示,經排查是一處地線沒連接,導致顯示屏供不上電。連接后顯示屏正常亮了,但是顯示不出想要的結果,調節可變電阻,改變背光度,依然不顯示。經過和班級同學的討論,我們知道是程序的問題。于是我們修改了程序,并最終調試出想要的效果。
6結論
本次的課程設計共一周時間,分別進行了BS18D20電路原理圖的設計,電路仿真圖的設計以及實物電路板的演示三個過程。經過這次的課程設計,我們不僅加深了對 Proteus仿真軟件的了解和使用,還學到了許多課本上沒有涉及知識,練習了電路原理圖的設計和仿真運行,同時對上學期學習的單片機課程進行了一次全面的復習和鞏固,收益很大。
我們知道,課程設計一般強調能力培養為主,在獨立完成設計任務的同時,還要注意其他幾方面能力的培養與提高,如獨立工作能力與創造力;綜合運用專業及基礎知識的能力,解決實際工程技術問題的能力;查閱圖書資料、產品手冊和各種工具書的能力;工程繪圖的能力;書寫技術報告和編制技術資料的能力。在專業知識與研究方法方面為日后的畢業設計乃至畢業后的工作奠定良好的基礎
這次課設讓我對單片機有了進一步的了解,而且對Proteus仿真軟件的有了一定了解。體會到了Proteus仿真軟件的強大。
通過本次課設,能夠使我們熟練掌握單片機控制電路的設計、程序編寫和系統調試,從而全面地提高我們對單片機的軟件、硬件等方面的理解,進而增強我們在實踐環節的動手操作能力。譬如,我們可以根據實驗指導書的要求,完成DS18B20電路的硬件設計、電路器件的選擇、單片機軟件的運行、以及整體系統調試,并寫出完善的設計報告。在進行課設之前,要求我們具備數字電路、模擬電路、電路基礎、微機原理、電力電子、電機學和單片機等相關課程的知識,并具備一些基本的實踐操作水平,為以后的就業打好一定的基礎。
總的來說,這次的課程設計自己還是很滿意的,感覺收獲了不少東西,相信此次學到的知識在以后的生活和學習中對我會有很大的幫助
參考文獻
[1] 高玉芹.單片機原理及應用及C51編程技術.北京:機械工業出版社,2011.6
[2] 趙文博,劉文濤.單片機語言C51程序設計[M].北京:人民郵電出版社,2005, 10.
[3] 孫育才. MCS-51系列單片微型計算機及其應用[M]. 東南大學出版社, 2004,6.
[4] 沈紅衛. 單片機應用系統設計實力與分析[M]. 北京:北京航空航天大學出版社,2003.
[5] 徐愛鈞, 彭秀華. 單片機高級語言C51應用程序設計[M].北京航空航天大學出版社,2006.
[6] 曾一江. 單片微機原理與接口技術[M]. 北京:科技出版社,2009,12.
[7] 康華光. 電子技術基礎(模擬部分)[M]. 北京:高等教育出版社, 2004,4.
[8] 江曉安, 董秀峰. 模擬電子技術[M]. 西安電子科技大學出版社,2001.10
[9] 戴佳,苗龍,陳斌.51單片機應用系統開發典型實例[M]. 中國電力出版社,2005.9
[10] 榮貴.電子制作[M].科學技術文獻出版社, 2003
[11] 劉建清. 輕松玩轉51單片機:魔法入門·實例解析·開發揭秘全攻略[M]. 北京航空航天大學出版社,2011
附錄
附錄1硬件圖
1.013.jpg (63.04 KB, 下載次數: 173)
下載附件
2017-6-21 21:46 上傳
附錄2 C語言源程序(詳見附件)
完整論文和程序下載(word格式 可編輯):
單片機課程設計報告——溫度報警器.doc
(917.5 KB, 下載次數: 283)
2017-6-21 20:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5