環(huán)境溫度檢測與報警課程設(shè)計1_第1頁
環(huán)境溫度檢測與報警課程設(shè)計1_第2頁
環(huán)境溫度檢測與報警課程設(shè)計1_第3頁
環(huán)境溫度檢測與報警課程設(shè)計1_第4頁
環(huán)境溫度檢測與報警課程設(shè)計1_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、湖南工程學(xué)院課 程 設(shè) 計課程名稱 單片機原理與應(yīng)用 課題名稱 環(huán)境溫度檢測與報警 專 業(yè) 電氣工程及其自動化 2012年 9月 14日湖南工程學(xué)院課 程 設(shè) 計 任 務(wù) 書 課程名稱 單片機與應(yīng)用 課 題 環(huán)境溫度檢測與報警 專業(yè)班級 學(xué)生姓名 學(xué) 號 指導(dǎo)老師 王迎旭 李曉秀 汪超 趙葵銀 審 批 王迎旭 李曉秀 汪超 趙葵銀 任務(wù)書下達日期 2012年 9月 3日任務(wù)完成日期 2012年 9月 14日設(shè)計內(nèi)容與設(shè)計要求設(shè)計內(nèi)容:本課題要求以單片機為核心設(shè)計一個環(huán)境溫度檢測與報警系統(tǒng),要求測溫范圍為10125,精度誤差在0.1以內(nèi),led數(shù)碼管直讀顯示,可以由用戶自己設(shè)定上限溫度,如果環(huán)境

2、溫度超過實際溫度或在3秒內(nèi)溫度變化超過5度則會發(fā)出聲光報警。設(shè)計任務(wù)包括控制系統(tǒng)硬件設(shè)計和應(yīng)用程序設(shè)計。要求焊接好開發(fā)板,在開發(fā)板上進行調(diào)試。設(shè)計要求:1)確定系統(tǒng)設(shè)計方案; 2)進行系統(tǒng)的硬件設(shè)計;3)完成必要元器件選擇;4)開發(fā)板焊接及測試5)系統(tǒng)軟件設(shè)計及調(diào)試;6)系統(tǒng)聯(lián)調(diào)及操作說明7)寫說明書主 要 設(shè) 計 條 件1、 mcs-51單片機實驗操作臺1臺;2、 pc機及單片機調(diào)試軟件;3、 開發(fā)板1塊; 4、 制作工具1套;5、系統(tǒng)設(shè)計所需的元器件。說 明 書 格 式封面課程設(shè)計任務(wù)書目錄第1章 概述(課題設(shè)計的要求、目的及意義)第2章 系統(tǒng)總體方案選擇與說明(系統(tǒng)硬件電路設(shè)計框圖與工作

3、原理)第3章 硬件電路設(shè)計(各部分電路設(shè)計、原理、參數(shù)計算、i/o分配等)第4章 應(yīng)用軟件設(shè)計(流程圖、算法等)*第5章 系統(tǒng)仿真調(diào)試第6章 硬件調(diào)試與結(jié)果分析(開發(fā)板焊接、性能測試、結(jié)果、操作說明)第7章 結(jié)束語(系統(tǒng)設(shè)計小結(jié):已完成的工作、效果、特色、不足與展望)致謝參考文獻 附錄a 系統(tǒng)硬件電路原理圖附錄b 程序清單評分表進 度 安 排 設(shè)計時間分為二周第一周星期一、上午:布置課題任務(wù),課題介紹及講課。下午:借閱有關(guān)資料,總體方案討論。星期二、分班級焊接開發(fā)板星期三、確定總體方案,學(xué)習(xí)與設(shè)計相關(guān)內(nèi)容。星期四、各部分方案設(shè)計,各部分設(shè)計。星期五、設(shè)計及上機調(diào)試。星期六、設(shè)計并調(diào)試第二周星期

4、一:設(shè)計及上機調(diào)試。星期二:調(diào)試,中期檢查。星期三:調(diào)試、寫說明書。星期四-星期五上午:寫說明書、完成電子版并打印成稿。星期五下午:答辯。參 考 文 獻1 王迎旭等.單片機原理及及應(yīng)用.機械工業(yè)出版社.2012年2 三恒星科技.mcs-51單片機原理與應(yīng)用實例m.電子工業(yè)出版社.2008年3 戴仙金.51單片機及其c語言程序開發(fā)實例m.清華大學(xué)出版社.2008年4 陳海宴.51單片機原理及應(yīng)用基于keil c與proteusm.北京航空航天大學(xué)出版社.2010年 目錄第1章 概述11.1 課題的設(shè)計要求、目的及意義1第2章 總體方案22.1 方案的選擇22.2 系統(tǒng)結(jié)構(gòu)框圖及工作原理3第3章

5、硬件電路設(shè)計53.1 復(fù)位電路的設(shè)計53.2 時鐘振蕩電路53.3 顯示電路63.4 數(shù)字溫度傳感器ds18b2073.5 按鍵查詢電路93.6 單片機硬件資源分配10第4章 應(yīng)用軟件設(shè)計114.1 主函數(shù)的設(shè)計114.2 鍵盤掃描函數(shù)的設(shè)計124.3 讀出溫度子程序134.4 報警子程序13第5章 硬件調(diào)試與結(jié)果分析145.1 調(diào)試方法145.2 調(diào)試中出現(xiàn)的問題及解決辦法145.3 調(diào)試結(jié)果14第6章 設(shè)計總結(jié) 17參 考 文 獻18附錄a 系統(tǒng)硬件原理圖19附錄b 程序清單20第1章 概述1.1 課題的設(shè)計要求、目的及意義 單片機技術(shù)作為計算機技術(shù)的一個重要分支,廣泛應(yīng)用于工業(yè)控制,智能

6、化儀器儀表,家用電器,甚至電子玩具等各個領(lǐng)域,它具有體積小,功能多,價格低廉,使用方便,系統(tǒng)設(shè)計靈活等優(yōu)點,因此越來越受工程技術(shù)人員的重視與親睞。 伴隨著科學(xué)技術(shù)和生產(chǎn)的不斷發(fā)展,需要對各種參數(shù)進行溫度測量。溫度控制和測量在各行各業(yè)中發(fā)揮著重要的作用。如在日趨發(fā)達的工業(yè)之中,利用測量與控制溫度來保證生產(chǎn)的正常運行。在農(nóng)業(yè)中,用于保證蔬菜大棚的恒溫保產(chǎn)等。在單片機溫度測量系統(tǒng)中的關(guān)鍵是測量溫度、控制溫度和保持溫度,溫度測量是工業(yè)對象中主要的被控參數(shù)之一,具有現(xiàn)實意義. 本課題以單片機為核心,實現(xiàn)溫度的檢測和控制。用溫度感應(yīng)器件模擬溫度的輸入量,當(dāng)溫度低于度時,發(fā)出長嘀聲報警,當(dāng)溫度高于度時,啟動

7、直流電機散熱。測量溫度范圍在0-99度。用溫度的檢測和控制,并用四位數(shù)碼顯示管顯示各路溫度,并且設(shè)置按鍵可實現(xiàn)對溫度的報警上下限進行控制.以此簡易的溫度檢測和控制系統(tǒng)來達到初步應(yīng)用單片機,同時對各門學(xué)科知識作一個較好的整合,對單片機在實際溫度控制的實現(xiàn)形成較好的概念和理解. 第2章 系統(tǒng)總體方案選擇與說明2.1 方案的選擇 溫度芯片ds18b20 測量溫度,輸出信號全數(shù)字化。便于單片機處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0100 攝氏度時,最大線形偏差小于1 攝氏度。ds18b20 的最大特點之一采用了單總線的數(shù)據(jù)傳

8、輸,由數(shù)字溫度計ds18b20和微控制器at89c52構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計算機連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。采用51 單片機控制,軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實現(xiàn)簡單,安裝方便。既可以單獨對多ds18b20控制工作,還可以與pc 機通信上傳數(shù)據(jù),另外at89c52 在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟.該系統(tǒng)利用at89c52芯片控制溫度傳感器ds18b20進行實時溫度檢測并顯示,能夠?qū)崿F(xiàn)快速測量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限報警溫度,利用鍵盤來進行

9、調(diào)時和溫度查詢。這種方法測溫裝置電路簡單、精確度較高、實現(xiàn)方便、軟件設(shè)計也比較簡單,故本次設(shè)計采用了此法。2.2 系統(tǒng)結(jié)構(gòu)框圖及工作原理 2.2.1系統(tǒng)原理該數(shù)字溫度檢測系統(tǒng)如圖2-2所示有四部分組成:溫度檢測,顯示控制,溫度顯示,報警。 圖2-2 系統(tǒng)原理(1)溫度檢測該模塊由ds18b20負責(zé)對測試點的溫度進行測量,單片機89c52對ds18b20進行控制。由于ds18b20只有一根數(shù)據(jù)線,所以系統(tǒng)中的數(shù)據(jù)交換,控制都由這根線完成,只需將ds18b20掛接到單片機的一個數(shù)據(jù)接口就可以直接使用。(2)顯示控制由于ds18b20是通過單總線方式與單片機進行通訊的,所以對程序編寫的要求比較高。主

10、要的程序流程是這樣的:首先由單片機發(fā)出對ds18b20進行初始化的信號,在ds18b20初始化成功后,發(fā)送指令cc跳過讀序列號的操作,接著發(fā)送指令44啟動溫度轉(zhuǎn)換,此時在對ds18b20進行初始化,在發(fā)送指令cc跳過讀序列號操作,最后發(fā)送指令be讀暫存存儲器。至此完成一個周期,當(dāng)前溫度值所對應(yīng)的二進制編碼已經(jīng)被保存在ds18b20的rom上,我們只需將rom上的溫度值讀取出來,然后轉(zhuǎn)換成相應(yīng)的十進制,就可以拿來做后面的運算和顯示了。(3)溫度顯示這部分模塊由四位八段共陽極的數(shù)碼管組成,段選部分直接與單片機相連。(4) 報警 報警裝置由蜂鳴器構(gòu)成,當(dāng)溫度超過設(shè)定值時報警。第3章 硬件電路設(shè)計3.

11、1復(fù)位電路的設(shè)計采用47uf的c3和10k的r2可以保證加在引腳上的高電平持續(xù)2個機器周期,即使單片機有效地復(fù)位。按鍵可以隨時使電路復(fù)位,當(dāng)鍵按下時1k的r1和10k的r2串聯(lián)分壓使rst為高電平,即復(fù)位,如圖3-1所示。 圖3-1 復(fù)位電路3.2時鐘振蕩電路時鐘電路在單片機系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。晶振頻率的大小決定了單片機系統(tǒng)工作的快慢。本次設(shè)計采用內(nèi)部方式的外部時鐘接法。為達到振蕩周期是12mhz的要求,這里要采用12mhz的晶振,電容c1、c2對頻率有微調(diào)作用,故外接晶振時,c1和c2在本設(shè)計中選擇30pf,振蕩頻率取12mhz。晶振的兩個引腳分別連到xtal

12、1和xtal2振蕩脈沖輸入引腳。具體連接圖如圖3-2所示: crystalxtal1xtal2 圖3-2 時鐘振蕩電路3.3 顯示電路本次設(shè)計中采用共陰極數(shù)碼管作為顯示器。led的驅(qū)動電路簡單,使用方便,具有耗電少、成本低廉、配置簡單靈活、安裝方便、耐振動、使用壽命長等優(yōu)點。led顯示器與單片機的接口一般有動態(tài)顯示與靜態(tài)顯示接口兩種電路。本次設(shè)計中,由于單片機本身提供的i/o口有限,本次設(shè)計采用動態(tài)顯示,數(shù)碼管采用的是共陽極接法。用at89c52的p0口作段碼輸出時, 在本次設(shè)計中我們將數(shù)碼管各段加上拉電阻后接單片機p0口。我們把p2口的輸出信號直接接到數(shù)碼管的位選端作為位選信號,低電平有效,

13、具體連接如圖3-3所示。 圖3-33.4 數(shù)字溫度傳感器ds18b20本次設(shè)計的硬件電路簡單,關(guān)鍵的地方在ds18b20,也是最復(fù)雜難懂的。溫度傳感器采用的是dallas公司的單總線數(shù)字溫度傳感器ds18b20。它采用獨特的單線接口方式,僅需一個信號線發(fā)送或接收信息。測量范圍為-55125,cpu用p3.6口與ds18b20通信,如圖3-4-1即為溫度傳感器。 圖3-4-1 溫度傳感器下圖為ds18b20的內(nèi)部結(jié)構(gòu)框圖c64 位rom和單線接口高速緩存存儲器與控制邏輯溫度傳感器高溫觸發(fā)器th低溫觸發(fā)器tl配置寄存器8位crc發(fā)生器vdd 圖3-4-2 ds18b20的內(nèi)部結(jié)構(gòu)框圖64位rom的

14、結(jié)構(gòu)開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面56位的crc檢驗碼,這也是多個ds18b20可以采用一線進行通信的原因。溫度報警觸發(fā)器th和tl,可通過軟件寫入戶報警上下限。ds18b20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存和一個非易失性的可電擦除的eeram。高速暫存ram的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖3-4所示。 表3-4 分辨率轉(zhuǎn)換頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)th和tl的拷貝,是易失的,每次上電復(fù)位時被刷新。第5個字節(jié), 為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。ds18b20 工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的

15、溫度數(shù)值。該字節(jié)各位的定義如圖3所示。低5位一直為1,tm是工作模式位,用于設(shè)置ds18b20在工作模式還是在測試模式,ds18b20出廠時該位被設(shè)置為0,用戶要去改動,r1和r0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。ds18b20溫度轉(zhuǎn)換的時間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。當(dāng)ds18b20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以0.0625lsb形式表示。下表為ds

16、18b20溫度轉(zhuǎn)換時間表。 減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器計數(shù)到0時,停止溫度寄存器的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測溫度值。另外,由于ds18b20單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對ds18b20的各種操作按協(xié)議進行。操作協(xié)議為:初使化ds18b20(發(fā)復(fù)位脈

17、沖)發(fā)rom功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。3.5 按鍵查詢電路 本系統(tǒng)設(shè)有四個獨立按鈕,如圖3-4所示。為確保隨時可以控制進入和退出查詢狀態(tài),所以設(shè)有一個進入和退出查詢狀態(tài)的復(fù)用按鍵,自進入查詢狀態(tài)時,再按對應(yīng)的通道查尋鍵即可查詢各通道信息,例如按下通道0查詢,假若當(dāng)前顯示的是通道0的當(dāng)前溫度及對應(yīng)的數(shù)字量為上線,如果再次按下該鍵,則顯示的是為報警的下線,如果超溫次數(shù)大于設(shè)定值,則會出現(xiàn)報警現(xiàn)象,提示需對該路的控制對象進行必要的檢查。 圖3-5 按鍵電路3.6 單片機硬件資源分配 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獨立鍵盤的s4列選端p0.5led數(shù)碼管f段p2.5獨立鍵盤的s3列選端p0.6led數(shù)碼管g段p2.6獨立鍵盤的s2列選端p0.7led數(shù)碼管dp段p2.7獨立鍵盤的s1列選端p3口p3.7蜂鳴器p3.6ds18b20接口 第4章 應(yīng)用軟件設(shè)計4.1 主函數(shù)的設(shè)計整個系統(tǒng)的功能是由硬件電路配合軟件來實現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心,專門

19、用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來完成各種實質(zhì)性的功能如測量、計算、顯示、通訊等。每一個執(zhí)行軟件也就是一個小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實時性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。主程序流程見圖4-1。 圖4-1 主函數(shù)流程4.2 鍵盤掃描函數(shù)的設(shè)計 圖4-2為鍵盤掃描函數(shù)流程圖,為防止誤讀電平,讀引腳時先寫“1”。本系統(tǒng)在p2口低四位接有四個開關(guān),故將低四位寫“1”。首先判斷有無鍵按下,

20、然后延時去抖動后再次判有無鍵按下,然后等待鍵的釋放,最后是鍵的識別。假若p2.0按下,則k1=1,因為四個鍵均為復(fù)用鍵,所以d0+表示當(dāng)前是查詢該路的溫度,對于其他2路通道也照此設(shè)計。 圖4-2 鍵盤掃描函數(shù)流程4.3 讀出溫度子程序讀出溫度子程序的主要功能是讀出ram中的9字節(jié),在讀出時需進行crc校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫,流程如圖4-3所示。 如圖4-34.4 報警子程序 報警根據(jù)通過鍵盤設(shè)定的上下限溫度值來比較是否觸發(fā)報警裝置。流程如圖4-4所示。 圖4-4 報警子程序函數(shù)第5章 硬件調(diào)試與結(jié)果分析5.1 調(diào)試方法 首先將用keil編譯好的程序進行編譯,程序無錯誤運行后產(chǎn)生h

21、ex文件,然后用單片機連接電腦用軟件下載到單片機中試運行看結(jié)果。 調(diào)試時單片機p0口一次連接顯示管a到dp,將j6用線短接,s1到s4分別連接單片機p2.4到p2.7顯示管位選連接單片機p2.0到p2.3,溫度檢測原件ds18b20連接p3.6,連接好電源都打開調(diào)試。5.2 調(diào)試中出現(xiàn)的問題及解決辦法 單片機調(diào)試時出現(xiàn)顯示閃爍太大,以至于顯示看不清,應(yīng)看顯示抖動程序是否正確,調(diào)試時按鍵加減顯示過快出現(xiàn)跳躍式顯示,應(yīng)該看看按鍵顯示程序的延時是否符合標(biāo)準(zhǔn),5.3 調(diào)試結(jié)果(1)開機正常顯示溫度 圖5-3-1 開機顯示(2)按下矩陣鍵盤最后一排第一個鍵顯示上限定,按兩下為下限設(shè)定。 圖5-3-2 上

22、線顯示(3)按下矩陣鍵盤最后一排第二個鍵顯示加一功能。 圖5-3-3 上線加一(4) 按下矩陣鍵盤最后一排第三個鍵顯示減一功能。 圖5-3-4 上線減一(5)按下矩陣鍵盤最后一排第四個鍵顯示反回。 圖5-3-5 返回顯示界面 第6章 設(shè)計總結(jié) 經(jīng)過兩周的努力,老師任務(wù)書交代的基本內(nèi)容都已經(jīng)通過單片機實現(xiàn),效果不錯,(1)可以很穩(wěn)定的通過ds18b20檢測顯示溫度,(2)可以自由的通過鍵盤修改溫度報警上下限,(3)當(dāng)溫度超出設(shè)定范圍是,有報警提示。但是本次設(shè)計的不足之處在沒能更好的實現(xiàn)溫度突變報警,還有沒有顯示四位溫度,希望在以后的接觸過程中更加的了解單片機,學(xué)到更多的應(yīng)用。以后有什么問題要勇敢

23、的面對,遇到的多了,自然而然的我們會自信的解決這些問題。這就是我在這次課程設(shè)計中的最大收獲。最后感謝老師和同一課題的彭瓊和姚波同學(xué)的幫助和指點,特別是王迎旭老師的熱心指導(dǎo),沒有老師們的幫助我們不可能順利解決一些疑惑和難題,再次謝謝老師們的幫助和辛勤的付出。 參 考 文 獻1 王迎旭.單片機原理與應(yīng)用m.北京:機械工業(yè)出版社,2004.2 三恒星科技.mcs-51單片機原理與應(yīng)用實例m.北京:電子工業(yè)出版社,2008.3 戴仙金.51單片機及其c語言程序開發(fā)實例m.北京:清華大學(xué)出版社,2008.4 陳海宴.51單片機原理及應(yīng)用基于keil c與proteusm.北京:北京航空航天大學(xué)出版社,2

24、010.5 何立民.單片機高級教程應(yīng)用與設(shè)計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;/中間的一個變量int dd;in

25、t j;uchar data b;/定時器中斷次數(shù)uchar data buf4;/字型顯示中間變量int alarmh=500; /默認報警值int alarml=-10;/定義開關(guān)的接入口sbit k1=p25;/+sbit k2=p26;/-sbit k3=p27;/確認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ù)*/void delay(uint num)while(num-) ;/ds18b20溫度傳感器所需函數(shù),分為初始化,讀寫字節(jié),讀取溫度4個函數(shù)init_ds18b20(void) /傳感器初始化 uchar x=0; data = 1; /dq復(fù)位 delay(10); /稍做延時 data = 0; /單片機將dq拉低 delay(80); /精確延時 大于 480us /450 data = 1; /拉高總線 delay(20); x=data; /稍做延時后 如果x=0則初始化成功 x=1則初始化失敗

27、 delay(30);readonechar(void) /讀一個字節(jié)uchar i=0;uchar dat = 0;for (i=8;i0;i-) data = 0; / 給脈沖信號 dat=1; data = 1; / 給脈沖信號 if(data) dat|=0x80; delay(8); return(dat);writeonechar(unsigned char dat)/寫一個字節(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); / 跳過讀序號列號的操作writeonechar(0x44); / 啟動溫度轉(zhuǎn)換init_ds18b20();writeonechar(0xcc); /跳過讀序號列號的操作writeonechar(0xbe); /讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度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() /*顯示負值子函數(shù) dd=-(temp-1); buf1=dd/100;buf2=dd/100;buf3=dd%100/10;buf0=dd%10;/動態(tài)顯示for(j=0;j5;j+) p2=0xff; / 初始燈為滅的 p0=0x00;p2=0xfd; /顯示小數(shù)點p0=0x80; /顯示小數(shù)點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;/顯示個位buf0=temp%10; /第4位 南北秒個位for(j=0;j3;j+) p2=0xff; / 初始燈為滅的 p0=0x00;p2=0xfd; /顯示小數(shù)點p0=0x80; /顯示小數(shù)點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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論