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