版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
54/55湖南工程學(xué)院課程設(shè)計(jì)課程名稱(chēng)單片機(jī)原理與應(yīng)用課題名稱(chēng)環(huán)境溫度檢測(cè)與報(bào)警專(zhuān)業(yè)電氣工程及其自動(dòng)化班級(jí)學(xué)號(hào)姓名指導(dǎo)教師王迎旭李曉秀汪超趙葵銀2012年9月14日湖南工程學(xué)院課程設(shè)計(jì)任務(wù)書(shū)課程名稱(chēng)單片機(jī)與應(yīng)用課題環(huán)境溫度檢測(cè)與報(bào)警專(zhuān)業(yè)班級(jí)學(xué)生姓名學(xué)號(hào)指導(dǎo)老師王迎旭李曉秀汪超趙葵銀審批王迎旭李曉秀汪超趙葵銀任務(wù)書(shū)下達(dá)日期2012年9月3日任務(wù)完成日期2012年9月14日設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求設(shè)計(jì)內(nèi)容:本課題要求以單片機(jī)為核心設(shè)計(jì)一個(gè)環(huán)境溫度檢測(cè)與報(bào)警系統(tǒng),要求測(cè)溫范圍為–10~125℃,精度誤差在0.1℃以?xún)?nèi),LED數(shù)碼管直讀顯示,能夠由用戶自己設(shè)定上限溫度,假如環(huán)境溫度超過(guò)實(shí)際溫度或在3秒內(nèi)溫度變化超過(guò)5度則會(huì)發(fā)出聲光報(bào)警。設(shè)計(jì)任務(wù)包括操縱系統(tǒng)硬件設(shè)計(jì)和應(yīng)用程序設(shè)計(jì)。要求焊接好開(kāi)發(fā)板,在開(kāi)發(fā)板上進(jìn)行調(diào)試。設(shè)計(jì)要求:1)確定系統(tǒng)設(shè)計(jì)方案; 2)進(jìn)行系統(tǒng)的硬件設(shè)計(jì);3)完成必要元器件選擇;4)開(kāi)發(fā)板焊接及測(cè)試5)系統(tǒng)軟件設(shè)計(jì)及調(diào)試;6)系統(tǒng)聯(lián)調(diào)及操作講明7)寫(xiě)講明書(shū)主要設(shè)計(jì)條件MCS-51單片機(jī)實(shí)驗(yàn)操作臺(tái)1臺(tái);PC機(jī)及單片機(jī)調(diào)試軟件;開(kāi)發(fā)板1塊;制作工具1套;5、系統(tǒng)設(shè)計(jì)所需的元器件。講明書(shū)格式封面課程設(shè)計(jì)任務(wù)書(shū)目錄第1章概述(課題設(shè)計(jì)的要求、目的及意義)第2章系統(tǒng)總體方案選擇與講明(系統(tǒng)硬件電路設(shè)計(jì)框圖與工作原理)第3章硬件電路設(shè)計(jì)(各部分電路設(shè)計(jì)、原理、參數(shù)計(jì)算、I/O分配等)第4章應(yīng)用軟件設(shè)計(jì)(流程圖、算法等)*第5章系統(tǒng)仿真調(diào)試第6章硬件調(diào)試與結(jié)果分析(開(kāi)發(fā)板焊接、性能測(cè)試、結(jié)果、操作講明)第7章結(jié)束語(yǔ)(系統(tǒng)設(shè)計(jì)小結(jié):已完成的工作、效果、特色、不足與展望)致謝參考文獻(xiàn)附錄A系統(tǒng)硬件電路原理圖附錄B程序清單評(píng)分表進(jìn)度安排設(shè)計(jì)時(shí)刻分為二周第一周星期一、上午:布置課題任務(wù),課題介紹及講課。下午:借閱有關(guān)資料,總體方案討論。星期二、分班級(jí)焊接開(kāi)發(fā)板星期三、確定總體方案,學(xué)習(xí)與設(shè)計(jì)相關(guān)內(nèi)容。星期四、各部分方案設(shè)計(jì),各部分設(shè)計(jì)。星期五、設(shè)計(jì)及上機(jī)調(diào)試。星期六、設(shè)計(jì)并調(diào)試第二周星期一:設(shè)計(jì)及上機(jī)調(diào)試。星期二:調(diào)試,中期檢查。星期三:調(diào)試、寫(xiě)講明書(shū)。星期四--星期五上午:寫(xiě)講明書(shū)、完成電子版并打印成稿。星期五下午:答辯。參考文獻(xiàn)[1]王迎旭等.單片機(jī)原理及及應(yīng)用.機(jī)械工業(yè)出版社.2012年[2]三恒星科技.MCS-51單片機(jī)原理與應(yīng)用實(shí)例[M].電子工業(yè)出版社.2008年[3]戴仙金.51單片機(jī)及其C語(yǔ)言程序開(kāi)發(fā)實(shí)例[M].清華大學(xué)出版社.2008年[4]陳海宴.51單片機(jī)原理及應(yīng)用——基于KeilC與Proteus[M].北京航空航天大學(xué)出版社.2010年目錄TOC\o"1-3"\h\u5820第1章概述 1212661.1課題的設(shè)計(jì)要求、目的及意義 125963第2章總體方案 2278422.1方案的選擇 277532.2系統(tǒng)結(jié)構(gòu)框圖及工作原理 327390第3章硬件電路設(shè)計(jì) 5310293.1復(fù)位電路的設(shè)計(jì) 5268763.2時(shí)鐘振蕩電路 592383.3顯示電路 616413.4數(shù)字溫度傳感器DS18B20 7193903.5按鍵查詢(xún)電路 93203.6單片機(jī)硬件資源分配 1015677第4章應(yīng)用軟件設(shè)計(jì) 11146634.1主函數(shù)的設(shè)計(jì) 1114044.2鍵盤(pán)掃描函數(shù)的設(shè)計(jì) 12135854.3讀出溫度子程序 13107864.4報(bào)警子程序 1315919第5章硬件調(diào)試與結(jié)果分析 14277035.1調(diào)試方法 1460835.2調(diào)試中出現(xiàn)的問(wèn)題及解決方法 14224415.3調(diào)試結(jié)果 1426122第6章設(shè)計(jì)總結(jié) 176123參考文獻(xiàn) 189812附錄A系統(tǒng)硬件原理圖 198667附錄B程序清單 20第1章概述1.1課題的設(shè)計(jì)要求、目的及意義單片機(jī)技術(shù)作為計(jì)算機(jī)技術(shù)的一個(gè)重要分支,廣泛應(yīng)用于工業(yè)操縱,智能化儀器儀表,家用電器,甚至電子玩具等各個(gè)領(lǐng)域,它具有體積小,功能多,價(jià)格低廉,使用方便,系統(tǒng)設(shè)計(jì)靈活等優(yōu)點(diǎn),因此越來(lái)越受工程技術(shù)人員的重視與親睞。伴隨著科學(xué)技術(shù)和生產(chǎn)的不斷進(jìn)展,需要對(duì)各種參數(shù)進(jìn)行溫度測(cè)量。溫度操縱和測(cè)量在各行各業(yè)中發(fā)揮著重要的作用。如在日趨發(fā)達(dá)的工業(yè)之中,利用測(cè)量與操縱溫度來(lái)保證生產(chǎn)的正常運(yùn)行。在農(nóng)業(yè)中,用于保證蔬菜大棚的恒溫保產(chǎn)等。在單片機(jī)溫度測(cè)量系統(tǒng)中的關(guān)鍵是測(cè)量溫度、操縱溫度和保持溫度,溫度測(cè)量是工業(yè)對(duì)象中要緊的被控參數(shù)之一,具有現(xiàn)實(shí)意義.本課題以單片機(jī)為核心,實(shí)現(xiàn)溫度的檢測(cè)和操縱。用溫度感應(yīng)器件ds18b20模擬溫度的輸入量,當(dāng)溫度低于25度時(shí),發(fā)出長(zhǎng)嘀聲報(bào)警,當(dāng)溫度高于30度時(shí),啟動(dòng)直流電機(jī)散熱。測(cè)量溫度范圍在0-99度。用ds18b20溫度的檢測(cè)和操縱,并用四位LED數(shù)碼顯示管顯示各路溫度,同時(shí)設(shè)置按鍵可實(shí)現(xiàn)對(duì)溫度的報(bào)警上下限進(jìn)行操縱.以此簡(jiǎn)易的溫度檢測(cè)和操縱系統(tǒng)來(lái)達(dá)到初步應(yīng)用單片機(jī),同時(shí)對(duì)各門(mén)學(xué)科知識(shí)作一個(gè)較好的整合,對(duì)單片機(jī)在實(shí)際溫度操縱的實(shí)現(xiàn)形成較好的概念和理解.第2章系統(tǒng)總體方案選擇與講明2.1方案的選擇溫度芯片DS18B20測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及操縱,省去傳統(tǒng)的測(cè)溫方法的專(zhuān)門(mén)多外圍電路。且該芯片的物理化學(xué)性專(zhuān)門(mén)穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。在0—100攝氏度時(shí),最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一采納了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微操縱器AT89c52構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。如此,測(cè)溫系統(tǒng)的結(jié)構(gòu)就比較簡(jiǎn)單,體積也不大。采納51單片機(jī)操縱,軟件編程的自由度大,可通過(guò)編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯操縱,而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既能夠單獨(dú)對(duì)多DS18B20操縱工作,還能夠與PC機(jī)通信上傳數(shù)據(jù),另外AT89C52在工業(yè)操縱上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都專(zhuān)門(mén)成熟.該系統(tǒng)利用AT89C52芯片操縱溫度傳感器DS18B20進(jìn)行實(shí)時(shí)溫度檢測(cè)并顯示,能夠?qū)崿F(xiàn)快速測(cè)量環(huán)境溫度,并能夠依照需要設(shè)定上下限報(bào)警溫度,利用鍵盤(pán)來(lái)進(jìn)行調(diào)時(shí)和溫度查詢(xún)。這種方法測(cè)溫裝置電路簡(jiǎn)單、精確度較高、實(shí)現(xiàn)方便、軟件設(shè)計(jì)也比較簡(jiǎn)單,故本次設(shè)計(jì)采納了此法。2.2系統(tǒng)結(jié)構(gòu)框圖及工作原理2.2.1系統(tǒng)原理該數(shù)字溫度檢測(cè)系統(tǒng)如圖2-2所示有四部分組成:溫度檢測(cè),顯示操縱,溫度顯示,報(bào)警。圖2-2系統(tǒng)原理(1)溫度檢測(cè)該模塊由DS18B20負(fù)責(zé)對(duì)測(cè)試點(diǎn)的溫度進(jìn)行測(cè)量,單片機(jī)89C52對(duì)DS18B20進(jìn)行操縱。由于DS18B20只有一根數(shù)據(jù)線,因此系統(tǒng)中的數(shù)據(jù)交換,操縱都由這根線完成,只需將DS18B20掛接到單片機(jī)的一個(gè)數(shù)據(jù)接口就能夠直接使用。(2)顯示操縱由于DS18B20是通過(guò)單總線方式與單片機(jī)進(jìn)行通訊的,因此對(duì)程序編寫(xiě)的要求比較高。要緊的程序流程是如此的:首先由單片機(jī)發(fā)出對(duì)DS18B20進(jìn)行初始化的信號(hào),在DS18B20初始化成功后,發(fā)送指令CC躍過(guò)讀序列號(hào)的操作,接著發(fā)送指令44啟動(dòng)溫度轉(zhuǎn)換,現(xiàn)在在對(duì)DS18B20進(jìn)行初始化,在發(fā)送指令CC躍過(guò)讀序列號(hào)操作,最后發(fā)送指令BE讀暫存存儲(chǔ)器。至此完成一個(gè)周期,當(dāng)前溫度值所對(duì)應(yīng)的二進(jìn)制編碼差不多被保存在DS18B20的ROM上,我們只需將ROM上的溫度值讀取出來(lái),然后轉(zhuǎn)換成相應(yīng)的十進(jìn)制,就能夠拿來(lái)做后面的運(yùn)算和顯示了。(3)溫度顯示這部分模塊由四位八段共陽(yáng)極的數(shù)碼管組成,段選部分直接與單片機(jī)相連。報(bào)警報(bào)警裝置由蜂鳴器構(gòu)成,當(dāng)溫度超過(guò)設(shè)定值時(shí)報(bào)警。第3章硬件電路設(shè)計(jì)3.1復(fù)位電路的設(shè)計(jì)采納47uF的C3和10K的R2能夠保證加在引腳上的高電平持續(xù)2個(gè)機(jī)器周期,即使單片機(jī)有效地復(fù)位。按鍵能夠隨時(shí)使電路復(fù)位,當(dāng)鍵按下時(shí)1K的R1和10K的R2串聯(lián)分壓使RST為高電平,即復(fù)位,如圖3-1所示。圖3-1復(fù)位電路3.2時(shí)鐘振蕩電路時(shí)鐘電路在單片機(jī)系統(tǒng)中起著特不重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢。本次設(shè)計(jì)采納內(nèi)部方式的外部時(shí)鐘接法。為達(dá)到振蕩周期是12MHZ的要求,那個(gè)地點(diǎn)要采納12MHZ的晶振,電容C1、C2對(duì)頻率有微調(diào)作用,故外接晶振時(shí),C1和C2在本設(shè)計(jì)中選擇30pF,振蕩頻率取12MHz。晶振的兩個(gè)引腳分不連到XTAL1和XTAL2振蕩脈沖輸入引腳。具體連接圖如圖3-2所示:CRYSTALXTAL1XTAL2CRYSTALXTAL1XTAL2圖3-2時(shí)鐘振蕩電路3.3顯示電路本次設(shè)計(jì)中采納共陰極數(shù)碼管作為顯示器。LED的驅(qū)動(dòng)電路簡(jiǎn)單,使用方便,具有耗電少、成本低廉、配置簡(jiǎn)單靈活、安裝方便、耐振動(dòng)、使用壽命長(zhǎng)等優(yōu)點(diǎn)。LED顯示器與單片機(jī)的接口一般有動(dòng)態(tài)顯示與靜態(tài)顯示接口兩種電路。本次設(shè)計(jì)中,由于單片機(jī)本身提供的I/O口有限,本次設(shè)計(jì)采納動(dòng)態(tài)顯示,數(shù)碼管采納的是共陽(yáng)極接法。用AT89C52的P0口作段碼輸出時(shí),在本次設(shè)計(jì)中我們將數(shù)碼管各段加上拉電阻后接單片機(jī)P0口。我們把P2口的輸出信號(hào)直接接到數(shù)碼管的位選端作為位選信號(hào),低電平有效,具體連接如圖3-3所示。圖3-33.4數(shù)字溫度傳感器DS18B20本次設(shè)計(jì)的硬件電路簡(jiǎn)單,關(guān)鍵的地點(diǎn)在DS18B20,也是最復(fù)雜難明白的。溫度傳感器采納的是DALLAS公司的單總線數(shù)字溫度傳感器DS18B20。它采納獨(dú)特的單線接口方式,僅需一個(gè)信號(hào)線發(fā)送或接收信息。測(cè)量范圍為-55℃~125℃,CPU用P3.6口與DS18B20通信,如圖3-4-1即為溫度傳感器。
圖3-4-1溫度傳感器下圖為DS18B20的內(nèi)部結(jié)構(gòu)框圖CC64位ROM和單線接口高速緩存存儲(chǔ)器與操縱邏輯溫度傳感器高溫觸發(fā)器TH低溫觸發(fā)器TL配置寄存器8位CRC發(fā)生器Vdd圖3-4-2DS18B20的內(nèi)部結(jié)構(gòu)框圖64位ROM的結(jié)構(gòu)開(kāi)始8位是產(chǎn)品類(lèi)型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20能夠采納一線進(jìn)行通信的緣故。溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫(xiě)入戶報(bào)警上下限。DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖3-4所示。表3-4分辨率轉(zhuǎn)換頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖3所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式依舊在測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。DS18B20溫度轉(zhuǎn)換的時(shí)刻比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)刻越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)刻權(quán)衡考慮。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)能夠通過(guò)單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。下表為DS18B20溫度轉(zhuǎn)換時(shí)刻表。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,現(xiàn)在溫度寄存器中的數(shù)值確實(shí)是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門(mén)仍未關(guān)閉就重復(fù)上述過(guò)程,直到溫度寄存器值大致被測(cè)溫度值。另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫(xiě)時(shí)序?qū)iT(mén)重要。系統(tǒng)對(duì)DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。3.5按鍵查詢(xún)電路本系統(tǒng)設(shè)有四個(gè)獨(dú)立按鈕,如圖3-4所示。為確保隨時(shí)能夠操縱進(jìn)入和退出查詢(xún)狀態(tài),因此設(shè)有一個(gè)進(jìn)入和退出查詢(xún)狀態(tài)的復(fù)用按鍵,自進(jìn)入查詢(xún)狀態(tài)時(shí),再按對(duì)應(yīng)的通道查尋鍵即可查詢(xún)各通道信息,例如按下通道0查詢(xún),假若當(dāng)前顯示的是通道0的當(dāng)前溫度及對(duì)應(yīng)的數(shù)字量為上線,假如再次按下該鍵,則顯示的是為報(bào)警的下線,假如超溫次數(shù)大于設(shè)定值,則會(huì)出現(xiàn)報(bào)警現(xiàn)象,提示需對(duì)該路的操縱對(duì)象進(jìn)行必要的檢查。圖3-5按鍵電路3.6單片機(jī)硬件資源分配I/O口配表P0口P0.0LED數(shù)碼管A段P2口P2.0LED數(shù)碼管W3位選端P0.1LED數(shù)碼管B段P2.1LED數(shù)碼管W1位選端P0.2LED數(shù)碼管C段P2.2LED數(shù)碼管W2位選端P0.3LED數(shù)碼管D段P2.3LED數(shù)碼管W4位選端P0.4LED數(shù)碼管E段P2.4獨(dú)立鍵盤(pán)的S4列選端P0.5LED數(shù)碼管F段P2.5獨(dú)立鍵盤(pán)的S3列選端P0.6LED數(shù)碼管G段P2.6獨(dú)立鍵盤(pán)的S2列選端P0.7LED數(shù)碼管DP段P2.7獨(dú)立鍵盤(pán)的S1列選端P3口P3.7蜂鳴器P3.6Ds18b20接口第4章應(yīng)用軟件設(shè)計(jì)4.1主函數(shù)的設(shè)計(jì)整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件差不多定型后,軟件的功能也就差不多定下來(lái)了。從軟件的功能不同可分為兩大類(lèi):一是監(jiān)控軟件(主程序),它是整個(gè)操縱系統(tǒng)的核心,專(zhuān)門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來(lái)完成各種實(shí)質(zhì)性的功能如測(cè)量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也確實(shí)是一個(gè)小的功能執(zhí)行模塊。那個(gè)地點(diǎn)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就能夠規(guī)劃監(jiān)控程序了。首先要依照系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后依照實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。主程序流程見(jiàn)圖4-1。圖4-1主函數(shù)流程4.2鍵盤(pán)掃描函數(shù)的設(shè)計(jì)圖4-2為鍵盤(pán)掃描函數(shù)流程圖,為防止誤讀電平,讀引腳時(shí)先寫(xiě)“1”。本系統(tǒng)在P2口低四位接有四個(gè)開(kāi)關(guān),故將低四位寫(xiě)“1”。首先推斷有無(wú)鍵按下,然后延時(shí)去抖動(dòng)后再次判有無(wú)鍵按下,然后等待鍵的釋放,最后是鍵的識(shí)不。假若P2.0按下,則K1=1,因?yàn)樗膫€(gè)鍵均為復(fù)用鍵,因此d[0]++表示當(dāng)前是查詢(xún)?cè)撀返臏囟?,關(guān)于其他2路通道也照此設(shè)計(jì)。圖4-2鍵盤(pán)掃描函數(shù)流程4.3讀出溫度子程序讀出溫度子程序的要緊功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě),流程如圖4-3所示。如圖4-34.4報(bào)警子程序報(bào)警依照通過(guò)鍵盤(pán)設(shè)定的上下限溫度值來(lái)比較是否觸發(fā)報(bào)警裝置。流程如圖4-4所示。圖4-4報(bào)警子程序函數(shù)第5章硬件調(diào)試與結(jié)果分析5.1調(diào)試方法首先將用KEIL編譯好的程序進(jìn)行編譯,程序無(wú)錯(cuò)誤運(yùn)行后產(chǎn)生hex文件,然后用單片機(jī)連接電腦用軟件下載到單片機(jī)中試運(yùn)行看結(jié)果。調(diào)試時(shí)單片機(jī)p0口一次連接顯示管a到dp,將j6用線短接,s1到s4分不連接單片機(jī)p2.4到p2.7顯示管位選連接單片機(jī)p2.0到p2.3,溫度檢測(cè)原件ds18b20連接p3.6,連接好電源都打開(kāi)調(diào)試。5.2調(diào)試中出現(xiàn)的問(wèn)題及解決方法單片機(jī)調(diào)試時(shí)出現(xiàn)顯示閃耀太大,以至于顯示看不清,應(yīng)看顯示抖動(dòng)程序是否正確,調(diào)試時(shí)按鍵加減顯示過(guò)快出現(xiàn)跳躍式顯示,應(yīng)該看看按鍵顯示程序的延時(shí)是否符合標(biāo)準(zhǔn),5.3調(diào)試結(jié)果(1)開(kāi)機(jī)正常顯示溫度圖5-3-1開(kāi)機(jī)顯示(2)按下矩陣鍵盤(pán)最后一排第一個(gè)鍵顯示上限定,按兩下為下限設(shè)定。圖5-3-2上線顯示
(3)按下矩陣鍵盤(pán)最后一排第二個(gè)鍵顯示加一功能。圖5-3-3上線加一按下矩陣鍵盤(pán)最后一排第三個(gè)鍵顯示減一功能。圖5-3-4上線減一(5)按下矩陣鍵盤(pán)最后一排第四個(gè)鍵顯示反回。圖5-3-5返回顯示界面設(shè)計(jì)總結(jié)通過(guò)兩周的努力,老師任務(wù)書(shū)交代的差不多內(nèi)容都差不多通過(guò)單片機(jī)實(shí)現(xiàn),效果不錯(cuò),(1)能夠?qū)iT(mén)穩(wěn)定的通過(guò)ds18b20檢測(cè)顯示溫度,(2)能夠自由的通過(guò)鍵盤(pán)修改溫度報(bào)警上下限,(3)當(dāng)溫度超出設(shè)定范圍是,有報(bào)警提示。然而本次設(shè)計(jì)的不足之處在沒(méi)能更好的實(shí)現(xiàn)溫度突變報(bào)警,還有沒(méi)有顯示四位溫度,希望在以后的接觸過(guò)程中更加的了解單片機(jī),學(xué)到更多的應(yīng)用。以后有什么問(wèn)題要勇敢的面對(duì),遇到的多了,自然而然的我們會(huì)自信的解決這些問(wèn)題。這確實(shí)是我在這次課程設(shè)計(jì)中的最大收獲。最后感謝老師和同一課題的彭瓊和姚波同學(xué)的關(guān)心和指點(diǎn),特不是王迎旭老師的熱心指導(dǎo),沒(méi)有老師們的關(guān)心我們不可能順利解決一些不明白和難題,再次感謝老師們的關(guān)心和辛勤的付出。參考文獻(xiàn)[1]王迎旭.單片機(jī)原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2004.[2]三恒星科技.MCS-51單片機(jī)原理與應(yīng)用實(shí)例[M].北京:電子工業(yè)出版社,2008.[3]戴仙金.51單片機(jī)及其C語(yǔ)言程序開(kāi)發(fā)實(shí)例[M].北京:清華大學(xué)出版社,2008.[4]陳海宴.51單片機(jī)原理及應(yīng)用——基于KeilC與Proteus[M].北京:北京航空航天大學(xué)出版社,2010.[5]何立民.單片機(jī)高級(jí)教程——應(yīng)用與設(shè)計(jì)[M].2版.北京:北京航空航天大學(xué)出版社,2007.附錄A系統(tǒng)硬件原理圖附錄B程序清單#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitDATA=P3^6;//DS18B20接入口ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};/inttemp;//溫度值intss; //中間的一個(gè)變量intdd;intj;uchardatab;//定時(shí)器中斷次數(shù)uchardatabuf[4];//字型顯示中間變量intalarmH=500; //默認(rèn)報(bào)警值intalarmL=-10;//定義開(kāi)關(guān)的接入口sbitk1=P2^5;//+sbitk2=P2^6;//-sbitk3=P2^7;//確認(rèn)sbitk4=P2^4;sbitbell=P1^0;sbitHLight=P1^2;sbitLLight=P1^3;sbitRed=P1^6;sbitGreen=P1^7;bitset=0;bitFlag=0;intn;//函數(shù)的聲明區(qū)voidkey_to1();voidkey_to2();voiddelay(uint);voidkey();voidShow();//函數(shù)的定義區(qū)/*延時(shí)子函數(shù)*/voiddelay(uintnum){ while(num--);}//DS18b20溫度傳感器所需函數(shù),分為初始化,讀寫(xiě)字節(jié),讀取溫度4個(gè)函數(shù)Init_DS18B20(void) //傳感器初始化{ ucharx=0; DATA=1;//DQ復(fù)位 delay(10);//稍做延時(shí) DATA=0;//單片機(jī)將DQ拉低 delay(80);//精確延時(shí)大于480us//450 DATA=1;//拉高總線 delay(20); x=DATA;//稍做延時(shí)后假如x=0則初始化成功x=1則初始化失敗 delay(30);}ReadOneChar(void)//讀一個(gè)字節(jié){ uchari=0; uchardat=0; for(i=8;i>0;i--) { DATA=0;//給脈沖信號(hào) dat>>=1; DATA=1;//給脈沖信號(hào) if(DATA) dat|=0x80; delay(8); } return(dat);}WriteOneChar(unsignedchardat) //寫(xiě)一個(gè)字節(jié){ uchari=0; for(i=8;i>0;i--) { DATA=0; DATA=dat&0x01; delay(10); DATA=1; dat>>=1; } delay(8);}intReadTemperature(void)//讀取溫度{ uchara=0; ucharb=0; intt=0; floattt=0; Init_DS18B20(); WriteOneChar(0xCC);//躍過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0x44);//啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20(); WriteOneChar(0xCC);//躍過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE);//讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)確實(shí)是溫度 a=ReadOneChar();//低位 b=ReadOneChar();//高位 t=b; t<<=8; t=t|a; tt=t*0.0625; t=tt*10+0.5; return(t);}voiddisplay00()//*********顯示負(fù)值子函數(shù){ dd=-(temp-1);buf[1]=dd/100; buf[2]=dd/100; buf[3]=dd%100/10; buf[0]=dd%10; //動(dòng)態(tài)顯示 for(j=0;j<5;j++){ P2=0xff; //初始燈為滅的P0=0x00; P2=0xfd;//顯示小數(shù)點(diǎn) P0=0x80;//顯示小數(shù)點(diǎn) delay(100); P2=0xff; //初始燈為滅的P0=0x00;P2=0xf7; //片選LED1P0=0x40; delay(100); P2=0xff;P0=0x00;P2=0xfb; //片選LED2P0=table[buf[2]]; delay(100); P2=0xff;P0=0x00; P2=0Xfd; //片選LED3 P0=table[buf[3]]; delay(100); P2=0xff;P0=0x00; P2=0Xfe; P0=table[buf[0]]; //片選LED4 delay(100); P2=0xff;}}//顯示正值子函數(shù)voiddisplay(){ buf[1]=temp/1000;//顯示百位 buf[2]=temp/100%10;//顯示十位 buf[3]=temp%100/10;//顯示個(gè)位 buf[0]=temp%10;//第4位南北秒個(gè)位 for(j=0;j<3;j++) { P2=0xff; //初始燈為滅的P0=0x00; P2=0xfd;//顯示小數(shù)點(diǎn) P0=0x80;//顯示小數(shù)點(diǎn) delay(300); P2=0xff; //初始燈為滅的P0=0x00;P2=0xf7; //片選LED1P0=table[buf[1]]; delay(300); P2=0xff;P0=0x00;P2=0xfb; //片選LED2P0=table[buf[2]]; delay(300); P2=0xff;P0=0x00; P2=0Xfd; //片選LED3 P0=table[buf[3]]; delay(300); P2=0xff;P0=0x00; P2=0Xfe; P0=table[buf[0]]; //片選LED4 delay(300); P2=0xff; }}voidkey() //按鍵掃描子程序{if(k1!=1) { delay(20); if(k1!=1) { while(k1!=1) {key_to1(); for(n=0;n<8;n++) Show(); } } } if(k2!=1) { delay(20); if(k2!=1) { while(k2!=1) {key_to2(); for(n=0;n<8;n++) Show(); } } } if(k3!=1) { TR0=1;//復(fù)位,開(kāi)定時(shí)temp=ReadTemperature(); } if(k4!=1) {delay(20); if(k4!=1) {while(k4!=1); set=!set; if(set==0) {Red=0;Green=1;} else{Green=0;Red=1;} } }}voidkey_to1(){ TR0=0; //關(guān)定時(shí)器temp+=10; if(temp>=1100) {temp=-
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖鹽采掘工持續(xù)改進(jìn)評(píng)優(yōu)考核試卷含答案
- 硅晶片拋光工崗前核心考核試卷含答案
- 軟膏劑工QC考核試卷含答案
- 總?cè)軇┥a(chǎn)工崗前基礎(chǔ)模擬考核試卷含答案
- 苯基氯硅烷生產(chǎn)工常識(shí)考核試卷含答案
- 白銀熔池熔煉工測(cè)試驗(yàn)證評(píng)優(yōu)考核試卷含答案
- 2024年河北?。?31所)輔導(dǎo)員考試筆試真題匯編附答案
- 2025《行測(cè)》考試試題完美版
- 栲膠生產(chǎn)工變革管理水平考核試卷含答案
- 粗紗工成果轉(zhuǎn)化知識(shí)考核試卷含答案
- 吳江三小英語(yǔ)題目及答案
- 供水管道搶修知識(shí)培訓(xùn)課件
- 司法警察協(xié)助執(zhí)行課件
- 廣東物業(yè)管理辦法
- 業(yè)務(wù)規(guī)劃方案(3篇)
- 雙向晉升通道管理辦法
- 集團(tuán)債權(quán)訴訟管理辦法
- 上海物業(yè)消防改造方案
- 鋼結(jié)構(gòu)施工進(jìn)度計(jì)劃及措施
- 供應(yīng)商信息安全管理制度
- 智慧健康養(yǎng)老服務(wù)與管理專(zhuān)業(yè)教學(xué)標(biāo)準(zhǔn)(高等職業(yè)教育專(zhuān)科)2025修訂
評(píng)論
0/150
提交評(píng)論