版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、湖南工程學(xué)院課 程 設(shè) 計(jì)課程名稱 單片機(jī)原理與應(yīng)用 課題名稱 環(huán)境溫度檢測(cè)與報(bào)警 專 業(yè) 電氣工程及其自動(dòng)化 2012年 9月 14日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書 課程名稱 單片機(jī)與應(yīng)用 課 題 環(huán)境溫度檢測(cè)與報(bào)警 專業(yè)班級(jí) 學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)老師 王迎旭 李曉秀 汪超 趙葵銀 審 批 王迎旭 李曉秀 汪超 趙葵銀 任務(wù)書下達(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è)溫范圍為10125,精度誤差在0.1以內(nèi),led數(shù)碼管直讀顯示,可以由用戶自己設(shè)定上限溫度,如果環(huán)境
2、溫度超過(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)及操作說(shuō)明7)寫說(shuō)明書主 要 設(shè) 計(jì) 條 件1、 mcs-51單片機(jī)實(shí)驗(yàn)操作臺(tái)1臺(tái);2、 pc機(jī)及單片機(jī)調(diào)試軟件;3、 開(kāi)發(fā)板1塊; 4、 制作工具1套;5、系統(tǒng)設(shè)計(jì)所需的元器件。說(shuō) 明 書 格 式封面課程設(shè)計(jì)任務(wù)書目錄第1章 概述(課題設(shè)計(jì)的要求、目的及意義)第2章 系統(tǒng)總體方案選擇與說(shuō)明(系統(tǒng)硬件電路設(shè)計(jì)框圖與工作
3、原理)第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é)果、操作說(shuō)明)第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)試第二周星期
4、一:設(shè)計(jì)及上機(jī)調(diào)試。星期二:調(diào)試,中期檢查。星期三:調(diào)試、寫說(shuō)明書。星期四-星期五上午:寫說(shuō)明書、完成電子版并打印成稿。星期五下午:答辯。參 考 文 獻(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)用基于keil c與proteusm.北京航空航天大學(xué)出版社.2010年 目錄第1章 概述11.1 課題的設(shè)計(jì)要求、目的及意義1第2章 總體方案22.1 方案的選擇22.2 系統(tǒng)結(jié)構(gòu)框圖及工作原理3第3章
5、硬件電路設(shè)計(jì)53.1 復(fù)位電路的設(shè)計(jì)53.2 時(shí)鐘振蕩電路53.3 顯示電路63.4 數(shù)字溫度傳感器ds18b2073.5 按鍵查詢電路93.6 單片機(jī)硬件資源分配10第4章 應(yīng)用軟件設(shè)計(jì)114.1 主函數(shù)的設(shè)計(jì)114.2 鍵盤掃描函數(shù)的設(shè)計(jì)124.3 讀出溫度子程序134.4 報(bào)警子程序13第5章 硬件調(diào)試與結(jié)果分析145.1 調(diào)試方法145.2 調(diào)試中出現(xiàn)的問(wèn)題及解決辦法145.3 調(diào)試結(jié)果14第6章 設(shè)計(jì)總結(jié) 17參 考 文 獻(xiàn)18附錄a 系統(tǒng)硬件原理圖19附錄b 程序清單20第1章 概述1.1 課題的設(shè)計(jì)要求、目的及意義 單片機(jī)技術(shù)作為計(jì)算機(jī)技術(shù)的一個(gè)重要分支,廣泛應(yīng)用于工業(yè)控制,智能
6、化儀器儀表,家用電器,甚至電子玩具等各個(gè)領(lǐng)域,它具有體積小,功能多,價(jià)格低廉,使用方便,系統(tǒng)設(shè)計(jì)靈活等優(yōu)點(diǎn),因此越來(lái)越受工程技術(shù)人員的重視與親睞。 伴隨著科學(xué)技術(shù)和生產(chǎn)的不斷發(fā)展,需要對(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)器件模擬溫度的輸入量,當(dāng)溫度低于度時(shí),發(fā)出長(zhǎng)嘀聲報(bào)警,當(dāng)溫度高于度時(shí),啟動(dòng)
7、直流電機(jī)散熱。測(cè)量溫度范圍在0-99度。用溫度的檢測(cè)和控制,并用四位數(shù)碼顯示管顯示各路溫度,并且設(shè)置按鍵可實(shí)現(xiàn)對(duì)溫度的報(bào)警上下限進(jìn)行控制.以此簡(jiǎn)易的溫度檢測(cè)和控制系統(tǒng)來(lái)達(dá)到初步應(yīng)用單片機(jī),同時(shí)對(duì)各門學(xué)科知識(shí)作一個(gè)較好的整合,對(duì)單片機(jī)在實(shí)際溫度控制的實(shí)現(xiàn)形成較好的概念和理解. 第2章 系統(tǒng)總體方案選擇與說(shuō)明2.1 方案的選擇 溫度芯片ds18b20 測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。在0100 攝氏度時(shí),最大線形偏差小于1 攝氏度。ds18b20 的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳
8、輸,由數(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ù)及外圍功能電路的配合使用都很成熟.該系統(tǒng)利用at89c52芯片控制溫度傳感器ds18b20進(jìn)行實(shí)時(shí)溫度檢測(cè)并顯示,能夠?qū)崿F(xiàn)快速測(cè)量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限報(bào)警溫度,利用鍵盤來(lái)進(jìn)行
9、調(diào)時(shí)和溫度查詢。這種方法測(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ì)程序編寫的要求比較高。主
10、要的程序流程是這樣的:首先由單片機(jī)發(fā)出對(duì)ds18b20進(jìn)行初始化的信號(hào),在ds18b20初始化成功后,發(fā)送指令cc跳過(guò)讀序列號(hào)的操作,接著發(fā)送指令44啟動(dòng)溫度轉(zhuǎn)換,此時(shí)在對(duì)ds18b20進(jìn)行初始化,在發(fā)送指令cc跳過(guò)讀序列號(hào)操作,最后發(fā)送指令be讀暫存存儲(chǔ)器。至此完成一個(gè)周期,當(dāng)前溫度值所對(duì)應(yīng)的二進(jìn)制編碼已經(jīng)被保存在ds18b20的rom上,我們只需將rom上的溫度值讀取出來(lái),然后轉(zhuǎn)換成相應(yīng)的十進(jìn)制,就可以拿來(lái)做后面的運(yùn)算和顯示了。(3)溫度顯示這部分模塊由四位八段共陽(yáng)極的數(shù)碼管組成,段選部分直接與單片機(jī)相連。(4) 報(bào)警 報(bào)警裝置由蜂鳴器構(gòu)成,當(dāng)溫度超過(guò)設(shè)定值時(shí)報(bào)警。第3章 硬件電路設(shè)計(jì)3.
11、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的要求,這里要采用12mhz的晶振,電容c1、c2對(duì)頻率有微調(diào)作用,故外接晶振時(shí),c1和c2在本設(shè)計(jì)中選擇30pf,振蕩頻率取12mhz。晶振的兩個(gè)引腳分別連到xtal
12、1和xtal2振蕩脈沖輸入引腳。具體連接圖如圖3-2所示: crystalxtal1xtal2 圖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),低電平有效,
13、具體連接如圖3-3所示。 圖3-33.4 數(shù)字溫度傳感器ds18b20本次設(shè)計(jì)的硬件電路簡(jiǎn)單,關(guān)鍵的地方在ds18b20,也是最復(fù)雜難懂的。溫度傳感器采用的是dallas公司的單總線數(shù)字溫度傳感器ds18b20。它采用獨(dú)特的單線接口方式,僅需一個(gè)信號(hào)線發(fā)送或接收信息。測(cè)量范圍為-55125,cpu用p3.6口與ds18b20通信,如圖3-4-1即為溫度傳感器。 圖3-4-1 溫度傳感器下圖為ds18b20的內(nèi)部結(jié)構(gòu)框圖c64 位rom和單線接口高速緩存存儲(chǔ)器與控制邏輯溫度傳感器高溫觸發(fā)器th低溫觸發(fā)器tl配置寄存器8位crc發(fā)生器vdd 圖3-4-2 ds18b20的內(nèi)部結(jié)構(gòu)框圖64位rom的
14、結(jié)構(gòu)開(kāi)始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位的crc檢驗(yàn)碼,這也是多個(gè)ds18b20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器th和tl,可通過(guò)軟件寫入戶報(bào)警上下限。ds18b20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存和一個(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)精度的
15、溫度數(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.0625lsb形式表示。下表為ds
16、18b20溫度轉(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í),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過(guò)程,直到溫度寄存器值大致被測(cè)溫度值。另外,由于ds18b20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)ds18b20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化ds18b20(發(fā)復(fù)位脈
17、沖)發(fā)rom功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。3.5 按鍵查詢電路 本系統(tǒng)設(shè)有四個(gè)獨(dú)立按鈕,如圖3-4所示。為確保隨時(shí)可以控制進(jìn)入和退出查詢狀態(tài),所以設(shè)有一個(gè)進(jìn)入和退出查詢狀態(tài)的復(fù)用按鍵,自進(jìn)入查詢狀態(tài)時(shí),再按對(duì)應(yīng)的通道查尋鍵即可查詢各通道信息,例如按下通道0查詢,假若當(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.1
18、led數(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ú)立鍵盤的s4列選端p0.5led數(shù)碼管f段p2.5獨(dú)立鍵盤的s3列選端p0.6led數(shù)碼管g段p2.6獨(dú)立鍵盤的s2列選端p0.7led數(shù)碼管dp段p2.7獨(dú)立鍵盤的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)了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門
19、用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來(lái)完成各種實(shí)質(zhì)性的功能如測(cè)量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。主程序流程見(jiàn)圖4-1。 圖4-1 主函數(shù)流程4.2 鍵盤掃描函數(shù)的設(shè)計(jì) 圖4-2為鍵盤掃描函數(shù)流程圖,為防止誤讀電平,讀引腳時(shí)先寫“1”。本系統(tǒng)在p2口低四位接有四個(gè)開(kāi)關(guān),故將低四位寫“1”。首先判斷有無(wú)鍵按下,
20、然后延時(shí)去抖動(dòng)后再次判有無(wú)鍵按下,然后等待鍵的釋放,最后是鍵的識(shí)別。假若p2.0按下,則k1=1,因?yàn)樗膫€(gè)鍵均為復(fù)用鍵,所以d0+表示當(dāng)前是查詢?cè)撀返臏囟龋瑢?duì)于其他2路通道也照此設(shè)計(jì)。 圖4-2 鍵盤掃描函數(shù)流程4.3 讀出溫度子程序讀出溫度子程序的主要功能是讀出ram中的9字節(jié),在讀出時(shí)需進(jìn)行crc校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫,流程如圖4-3所示。 如圖4-34.4 報(bào)警子程序 報(bào)警根據(jù)通過(guò)鍵盤設(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)生h
21、ex文件,然后用單片機(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)按下矩陣鍵盤最后一排第一個(gè)鍵顯示上限定,按兩下為下限設(shè)定。 圖5-3-2 上
22、線顯示(3)按下矩陣鍵盤最后一排第二個(gè)鍵顯示加一功能。 圖5-3-3 上線加一(4) 按下矩陣鍵盤最后一排第三個(gè)鍵顯示減一功能。 圖5-3-4 上線減一(5)按下矩陣鍵盤最后一排第四個(gè)鍵顯示反回。 圖5-3-5 返回顯示界面 第6章 設(shè)計(jì)總結(jié) 經(jīng)過(guò)兩周的努力,老師任務(wù)書交代的基本內(nèi)容都已經(jīng)通過(guò)單片機(jī)實(shí)現(xiàn),效果不錯(cuò),(1)可以很穩(wěn)定的通過(guò)ds18b20檢測(cè)顯示溫度,(2)可以自由的通過(guò)鍵盤修改溫度報(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)題要勇敢
23、的面對(duì),遇到的多了,自然而然的我們會(huì)自信的解決這些問(wèn)題。這就是我在這次課程設(shè)計(jì)中的最大收獲。最后感謝老師和同一課題的彭瓊和姚波同學(xué)的幫助和指點(diǎn),特別是王迎旭老師的熱心指導(dǎo),沒(méi)有老師們的幫助我們不可能順利解決一些疑惑和難題,再次謝謝老師們的幫助和辛勤的付出。 參 考 文 獻(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)用基于keil c與proteusm.北京:北京航空航天大學(xué)出版社,2
24、010.5 何立民.單片機(jī)高級(jí)教程應(yīng)用與設(shè)計(jì)m.2版.北京:北京航空航天大學(xué)出版社,2007.附錄a 系統(tǒng)硬件原理圖附錄b 程序清單#include#include #define uchar unsigned char #define uint unsigned intsbit data = p36; /ds18b20接入口uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/int temp; /溫度值int ss;/中間的一個(gè)變量int dd;in
25、t j;uchar data b;/定時(shí)器中斷次數(shù)uchar data buf4;/字型顯示中間變量int alarmh=500; /默認(rèn)報(bào)警值int alarml=-10;/定義開(kāi)關(guān)的接入口sbit k1=p25;/+sbit k2=p26;/-sbit k3=p27;/確認(rèn)sbit k4=p24;sbit bell=p10;sbit hlight=p12;sbit llight=p13;sbit red=p16;sbit green=p17;bit set=0;bit flag=0;int n;/函數(shù)的聲明區(qū)void key_to1();void key_to2();void delay(
26、uint);void key();void show();/函數(shù)的定義區(qū)/*延時(shí)子函數(shù)*/void delay(uint num)while(num-) ;/ds18b20溫度傳感器所需函數(shù),分為初始化,讀寫字節(jié),讀取溫度4個(gè)函數(shù)init_ds18b20(void) /傳感器初始化 uchar x=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則初始化失敗
27、 delay(30);readonechar(void) /讀一個(gè)字節(jié)uchar i=0;uchar dat = 0;for (i=8;i0;i-) data = 0; / 給脈沖信號(hào) dat=1; data = 1; / 給脈沖信號(hào) if(data) dat|=0x80; delay(8); return(dat);writeonechar(unsigned char dat)/寫一個(gè)字節(jié) uchar i=0; for (i=8; i0; i-) data = 0; data = dat&0x01; delay(10); data = 1; dat=1; delay(8);int readt
28、emperature(void) /讀取溫度uchar a=0;uchar b=0;int t=0;float tt=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è)就是溫度a=readonechar();/低位b=readonechar();/高位t=b;t=8;t=t|a;tt=t*0.0625;t= tt*1
29、0+0.5; return(t);void display00() /*顯示負(fù)值子函數(shù) dd=-(temp-1); buf1=dd/100;buf2=dd/100;buf3=dd%100/10;buf0=dd%10;/動(dòng)態(tài)顯示for(j=0;j5;j+) p2=0xff; / 初始燈為滅的 p0=0x00;p2=0xfd; /顯示小數(shù)點(diǎn)p0=0x80; /顯示小數(shù)點(diǎn)delay(100); p2=0xff; / 初始燈為滅的 p0=0x00; p2=0xf7; /片選led1 p0=0x40;delay(100); p2=0xff; p0=0x00; p2=0xfb; /片選led2 p0=ta
30、blebuf2;delay(100);p2=0xff; p0=0x00;p2=0xfd; /片選led3p0=tablebuf3;delay(100);p2=0xff; p0=0x00;p2=0xfe;p0=tablebuf0; /片選led4delay(100);p2=0xff; /顯示正值子函數(shù)void display()buf1=temp/1000;/顯示百位buf2=temp/100%10;/顯示十位buf3=temp%100/10;/顯示個(gè)位buf0=temp%10; /第4位 南北秒個(gè)位for(j=0;j3;j+) p2=0xff; / 初始燈為滅的 p0=0x00;p2=0xfd; /顯示小數(shù)點(diǎn)p0=0x80; /顯示小數(shù)點(diǎn)delay(300); p2=0xff; / 初始燈為滅的 p0=0x00; p2=0xf7; /片選led1 p0=tablebuf1;delay(300); p2=0xff; p0=0x00; p2=0xfb; /片選led2 p0=tablebuf2;delay(300);p2=0xff; p0=0x00;p
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東水利電力職業(yè)技術(shù)學(xué)院《數(shù)字邏輯設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東生態(tài)工程職業(yè)學(xué)院《建筑裝飾工程概預(yù)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東梅州職業(yè)技術(shù)學(xué)院《地下水污染與防治》2023-2024學(xué)年第一學(xué)期期末試卷
- 【2022屆走向高考】高三數(shù)學(xué)一輪(人教B版)基礎(chǔ)鞏固:第2章-第1節(jié)-函數(shù)及其表示
- 廣東省揭陽(yáng)市榕城區(qū)2024-2025年第一學(xué)期期終質(zhì)量檢測(cè)小學(xué)五年級(jí)語(yǔ)文科試卷(有答案)
- 【金版學(xué)案】2014-2021學(xué)年高中歷史優(yōu)化訓(xùn)練(人教版必修3)第11課-物理學(xué)的重大進(jìn)展
- 【全程復(fù)習(xí)方略】2020年人教A版數(shù)學(xué)理(福建用)課時(shí)作業(yè):第十章-第九節(jié)離散型隨機(jī)變量的均值與方差
- 2022屆《創(chuàng)新設(shè)計(jì)》數(shù)學(xué)一輪課時(shí)作業(yè)(文科)(浙江專用)-第四章-三角函數(shù)、解三角形-4-2
- 四年級(jí)數(shù)學(xué)(四則混合運(yùn)算)計(jì)算題專項(xiàng)練習(xí)與答案匯編
- 會(huì)議應(yīng)急預(yù)案策劃包括哪些內(nèi)容
- 評(píng)判創(chuàng)業(yè)計(jì)劃書
- 銀行信訪工作培訓(xùn)課件
- 北京市西城區(qū)2023-2024學(xué)年部編版七年級(jí)上學(xué)期期末歷史試卷
- T-CPIA 0054-2023 光伏發(fā)電系統(tǒng)用柔性鋁合金電纜
- 廣東省博物館
- 徐州市2023-2024學(xué)年九年級(jí)上學(xué)期期末道德與法治試卷(含答案解析)
- 農(nóng)業(yè)信息化實(shí)現(xiàn)農(nóng)業(yè)現(xiàn)代化的數(shù)字化轉(zhuǎn)型
- 《義務(wù)教育道德與法治課程標(biāo)準(zhǔn)(2022年版)》
- 20以內(nèi)退位減法口算練習(xí)題100題30套(共3000題)
- 調(diào)味品年終總結(jié)匯報(bào)
- 無(wú)人機(jī)遙感技術(shù)與應(yīng)用
評(píng)論
0/150
提交評(píng)論