




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于ds18b20溫度傳感器的實現(xiàn)了溫度控制風(fēng)扇 摘要 abstractwith the green life, low carbon the popularity of life consciousness, saving energy and become a mainstream of modern society proposition, the electric fan universality, make intelligent electric fans, energy conservation as its improving direction, intelligent en
2、ergy-saving electric fans in a student dormitory, dining room place such as strong practicability, this topic for research intelligent energy-saving fan, conform with the low carbon life, save energy has a certain enlightening significance use at89c51 single-chip microcomputer as the master chip, th
3、e temperature sensor ds18b20 collection temperature information, a digital pipe display, that after a certain algorithm, when the temperature more than once set temperature imum sustained winds, below the temperature limit stalled, in between the lower when turning the device wind speed classificati
4、on realized the fans intelligent temperature control, convenient for people daily life this system control temperature, set reasonable,low cost, high reliability, has high practical value.keywords: at89c51 single-chip microcomputer; ds18b20;lcd1603; temperature control; electric fan目 錄摘 要iabstract第1
5、章 緒論11.1 概述11.2 語音識別技術(shù)的研究現(xiàn)狀1 語音識別的應(yīng)用1 語音識別的困難11.3 本文研究的意義1第2章 語音識別系統(tǒng)的基本理論22.1 嵌入式技術(shù)22.3 dsp概述2 dsp技術(shù)2 tms320c5410系列dsp概述2第3章 系統(tǒng)的軟件設(shè)計4結(jié)論5參考文獻(xiàn)6附錄7致謝8第1章 緒論1.1 概述1.2 溫度測控系統(tǒng)的發(fā)展與研究現(xiàn)狀溫度測控技術(shù)包括溫度測量技術(shù)和溫度控制技術(shù)兩個方面。 在溫度的測量技術(shù)中,接觸式測溫發(fā)展較早,這種測量方法的優(yōu)點是:簡單、可靠、低廉、測量精度較高,一般能夠測得真實溫度;但由于檢測元件熱慣性的影響,響應(yīng)時間較長,對熱容量小的物體難以實現(xiàn)精確的測量
6、,并且該方法不適宜于對腐蝕性介質(zhì)測溫,不能用于超高溫測量,難于測量運動物體的溫度。另外的非接觸式測溫方法是通過對輻射能量的檢測來實現(xiàn)溫度測量的方法,其優(yōu)點是:不破壞被測溫場,可以測量熱容量小的物體,適于測量運動物體的溫度,還可以測量區(qū)域的溫度分布,響應(yīng)速度較快。但也存在測量誤差較大,儀表指示值一般僅代表物體表觀溫度,測溫裝置結(jié)構(gòu)復(fù)雜,價格昂貴等缺點。因此,在實際的溫度測量中,要根據(jù)具體的測量對象選擇合適的測量方法,在滿足測量精度要求的前提下盡量減少投入。 溫度測控技術(shù)的應(yīng)用溫度控制技術(shù)按照控制目標(biāo)的不同可分為兩類:動態(tài)溫度跟蹤與恒值溫度控制。動態(tài)溫度跟蹤實現(xiàn)的控制目標(biāo)是使被控對象的溫度值按預(yù)先
7、設(shè)定好的曲線進(jìn)行變化。在工業(yè)生產(chǎn)中很多場合需要實現(xiàn)這一控制目標(biāo),如在發(fā)酵過程控制,化工生產(chǎn)中的化學(xué)反應(yīng)溫度控制,冶金工廠中燃燒爐中的溫度控制等;恒值溫度控制的目的是使被控對象的溫度恒定在某一給定數(shù)值上,且要求其波動幅度 即穩(wěn)態(tài)誤差 不能超過某允許值。 在通信系統(tǒng)中,常利用非電信號來傳遞控制信號和數(shù)據(jù),以實現(xiàn)遙控或遙測的功能紅外通信,具有控制簡單、實施方便,傳輸可靠性高的特點,是一種較為常用的通信方式。紅外通信利用950 nm近紅外波段的紅外線作為傳遞信息的媒體,發(fā)送端采用脈時調(diào)制方式,將二進(jìn)制數(shù)字信號調(diào)制成某一頻率的脈沖序列,并驅(qū)動紅外發(fā)射管以光脈沖的形式發(fā)送,接收端將收到的光脈沖轉(zhuǎn)換成電信號
8、。再經(jīng)過放大、濾波處理后送給解調(diào)電路,還原為二進(jìn)制數(shù)字信號后輸出。1. 微控制器mcu(單片機(jī))簡介單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器cpu隨機(jī)存儲器ram、只讀存儲器rom、多種i/o口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、a/d轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域的廣泛應(yīng)用。從上世紀(jì)80年代,由當(dāng)時的4位、8位單片機(jī),發(fā)展到現(xiàn)在的32位300m的高速單片機(jī)。單片微型計算機(jī)簡稱單片機(jī),是典型的嵌入式微控制器(microcontroller unit),
9、表示單片機(jī),單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。單片機(jī)由運算器,控制器,存儲器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個微型的計算機(jī),和計算機(jī)相比,單片機(jī)只缺少了i/o設(shè)備。概括的講:一塊芯片就成了一臺計算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。由于單片機(jī)在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機(jī)由芯片內(nèi)僅有cpu的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和cpu集成在一個芯片中,使計算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對體積要求嚴(yán)格的控
10、制設(shè)備當(dāng)中?,F(xiàn)代人類生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會集成有單片機(jī)。手機(jī)、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機(jī)。 汽車上一般配備40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機(jī)在同時工作!單片機(jī)的數(shù)量不僅遠(yuǎn)超過pc機(jī)和其他計算的總和,甚至比人類的數(shù)量還要多。2.at89c51是一種帶4k字節(jié)flash存儲器(fperomflash programmable and erasable read only memory)的低電壓、高性能cmos 8位微處理器,俗稱單片機(jī)。at89c2051是一種帶2k字節(jié)閃存可編程可擦除只讀存儲器的單片
11、機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。at89c51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)flash 閃速存儲器,128字節(jié)內(nèi)部ram,32 個i/o 口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,at89c51可降至0hz的靜
12、態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止cpu的工作,但允許ram,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。外形及引腳排列如圖所示 圖1-1 at89c51外形及引腳排列 溫度測控的困難溫度測控要面臨的問題是環(huán)境,所處環(huán)境的不同以及所處環(huán)境的變化,例如季節(jié)變化、晝夜變化、所處環(huán)境溫度過高、所處環(huán)境溫度過低等,都會對溫度的測控帶來一定的困難。如果環(huán)境溫度過高,這要求所采用的溫度傳感器具有一定的耐高溫性能,如果溫度過低,則要求所采用的溫度傳感器具有一定的耐低溫能力,如果環(huán)境是變化,則要求溫度
13、傳感器能適應(yīng)環(huán)境的變化。要滿足這些要求,就需要有高性能的溫度傳感器。1.3 本文研究的意義第2章 系統(tǒng)的基本理論2.1 技術(shù)自動控制技術(shù)是20世紀(jì)發(fā)展最快、影響最大的技術(shù)之一,也是21世紀(jì)最重要的高技術(shù)之一。今天,技術(shù)、生產(chǎn)、軍事、管理、生活等各個領(lǐng)域,都離不開自動控制技術(shù)。就定義而言,自動控制技術(shù)是控制論的技術(shù)實現(xiàn)應(yīng)用,是通過具有一定控制功能的自動控制系統(tǒng),來完成某種控制任務(wù),保證某個過程按照預(yù)想進(jìn)行,或者實現(xiàn)某個預(yù)設(shè)的目標(biāo)。從控制的方式看,自動控制系統(tǒng)有閉環(huán)和開環(huán)兩種。閉環(huán)控制也就是(負(fù))反饋控制,原理與人和動物的目的性行為相似,系統(tǒng)組成包括傳感器(相當(dāng)于感官),控制裝置(相當(dāng)于腦和神經(jīng))
14、,執(zhí)行機(jī)構(gòu)(相當(dāng)于手腿和肌肉)。傳感器檢測被控對象的狀態(tài)信息(輸出量),并將!魷轉(zhuǎn)變成物理(電)信號傳給控制裝置??刂蒲b置比較被控對象當(dāng)前狀態(tài)(輸出量)對希望狀態(tài)(給定量)的偏差,產(chǎn)生一個控制信號,通過執(zhí)行機(jī)構(gòu)驅(qū)動被控對象運動,使其運動狀態(tài)接近希望狀態(tài)。在實際中,閉環(huán)(反饋)控制的方法多種多樣,應(yīng)用于不同領(lǐng)域和各個方面,當(dāng)前廣泛應(yīng)用并快速發(fā)展的有:最優(yōu)控制,自適應(yīng)控制,專家控制(即以專家知識庫為基礎(chǔ)建立控制規(guī)則和程序),模糊控制,容錯控制,智能控制等。開環(huán)控制也叫程序控制,這是按照事先確定好的程序,依次發(fā)出信號去控制對象。按信號產(chǎn)生的條件,開環(huán)控制有時限控制,次序控制,條件控制。20世紀(jì)80年
15、代以來,用微電子技術(shù)生產(chǎn)的可編程序控制器在工業(yè)控制(電梯,多工步機(jī)床,自來水廠)中得到廣泛應(yīng)用。當(dāng)然,一些復(fù)雜系統(tǒng)或過程常常綜合運用多種控制類型和多類控制程序。2. 溫控風(fēng)扇系統(tǒng)概述 系統(tǒng)總體設(shè)計思路dsp digital signal processor 作為獨特的微處理器,是以數(shù)字信號來處理大量的信息的器件。其工作原理是接收模擬信號。其原理框圖如下圖所示:圖2-1 典型的dsp系統(tǒng)框圖2.2 80c51單片機(jī)的介紹 單片機(jī)p0引腳的介紹 p0端口(p0.0p0.7,3932引腳):p0口是一個漏極開路的8位雙向i/o口。作為輸出端口,每個引腳能驅(qū)動8個ttl負(fù)載,對端口p0寫入“1”時,可
16、以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時,p0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時,p0口內(nèi)部上拉電阻有效。在flash rom編程時,p0端口接收指令字節(jié);而在校驗程序時,則輸出指令字節(jié)。驗證時,要求外接上拉電阻。p1端口(p1.0p1.7,18引腳):p1口是一個帶內(nèi)部上拉電阻的8位雙向i/o口。p1的輸出緩沖器可驅(qū)動(吸收或者輸出電流方式)4個ttl輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。p1口作入口使用時,因為有內(nèi)部上拉電阻,那些被外部拉低的引腳會輸出一個電流p2端口(p2.0p2.7,2128引腳):p2口是一個帶內(nèi)部上拉電阻的8
17、位雙向i/o端口。p2的輸出緩沖器可以驅(qū)動(吸收或輸出電流方式)4個ttl輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電平,這時可用作輸入口。p2作為輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。p3端口(p3.0p3.7,1017引腳):p3是一個帶內(nèi)部上拉電阻的8位雙向i/o端口。p3的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個ttl輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。p3做輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸入一個電流1ds18b20的主要特性 1.1、適應(yīng)電壓范圍更寬,電壓范圍:3
18、.05.5v,在寄生電源方式下可由數(shù) 據(jù)線供電 1.2、獨特的單線接口方式,ds18b20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與ds18b20的雙向通訊 1.3、 ds18b20支持多點組網(wǎng)功能,多個ds18b20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫 1.4、ds18b20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) 1.5、溫范圍55+125,在-10+85時精度為0.5 1.6、可編程 的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現(xiàn)高精度測溫 1.7、在9位分辨率時最多在 93.75ms內(nèi)
19、把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快 1.8、測量結(jié)果直接輸出數(shù)字溫度信號,以一 線總線串行傳送給cpu,同時可傳送crc校驗碼,具有極強(qiáng)的抗干擾糾錯能力 1.9、負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。 2、ds18b20的外形和內(nèi)部結(jié)構(gòu) ds18b20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻rom 、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器th和tl、配置寄存器。 ds18b20的管腳 b20的讀寫時序和測溫原理與ds1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms圖中低溫度系數(shù)晶
20、振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。計數(shù)器1對 低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重 新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即 為所測溫度。圖3中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。ds18b20溫度傳感器的存儲器
21、 ds18b20溫度傳感器的內(nèi)部存儲器包括一個高速暫存ram和一個非易失性的可電擦除的eepram,后者存放高溫度和低溫度觸發(fā)器 th、tl和結(jié)構(gòu)寄存器。 ds18b20的應(yīng)用電路ds18b20測溫系統(tǒng)具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點。下面就是ds18b20幾個不同應(yīng)用方式下的 測溫電路圖:5.1、ds18b20寄生電源供電方式電路圖,在寄生電源供電方式下,ds18b20從單線信號線上汲取能量:在信號線dq處于高電平期間把能量儲存在內(nèi)部 電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。 獨特的寄生電源方式有三個好處:1)進(jìn)行遠(yuǎn)
22、距離測溫時,無需本地電源 2)可以在沒有常規(guī)電源的條件下讀取rom 3)電路更加簡潔,僅用一根i/o口實現(xiàn)測溫要想使ds18b20進(jìn)行精確的溫度轉(zhuǎn)換,i/o線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由 于每個ds18b20在溫度轉(zhuǎn)換期間工作電流達(dá)到1ma,當(dāng)幾個溫度傳感器掛在同一根i/o線上進(jìn)行多點測溫時,只靠4.7k上拉電阻就無法提供足夠的 能量,會造成無法轉(zhuǎn)換溫度或溫度誤差極大。因此,圖4電路只適應(yīng)于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統(tǒng)中。并 且工作電源vcc必須保證在5v,當(dāng)電源電壓下降時,寄生電源能夠汲取的能量也降低,會使溫度誤差變大。第章 系統(tǒng)的軟件設(shè)計 圖3.1 數(shù)據(jù)
23、采集部分軟件直流電機(jī)通過驅(qū)動電路轉(zhuǎn)動,正常運作,可以手動調(diào)節(jié)滑動變阻器來人為改變風(fēng)速。通過按鈕可以調(diào)節(jié)溫度的上限t1和下限t2,并且顯示在數(shù)碼管上,單片機(jī)最小系統(tǒng)作為處理核心。如圖4所示圖3.2 按鈕設(shè)置上下限31.2 第二層是系統(tǒng)構(gòu)成一個整體后,形成智能溫度控制調(diào)速:用按鈕設(shè)定溫度的上下限t1和t2,也就相應(yīng)的規(guī)定了風(fēng)扇的工作范圍,通過轉(zhuǎn)換按鈕調(diào)節(jié)顯示在數(shù)碼管上的數(shù)字,此時作為處理系統(tǒng)的單片機(jī)最小系統(tǒng),記錄下溫度上下限,傳感器模塊接收溫度信息,比較記錄下的溫度上下限后進(jìn)行風(fēng)速分級控制,驅(qū)動電路驅(qū)動直流電機(jī)。整個系統(tǒng)協(xié)同合作,形成智能溫度控制調(diào)速。程序流程圖如圖5所示圖3.3 軟件系統(tǒng)程序流程
24、圖第4章 仿真實驗 結(jié)論在本次課程設(shè)計選題后,我首先查閱了大量的關(guān)于溫度控制內(nèi)類書籍、學(xué)術(shù)論文等相關(guān)資料。從而制定出本此課程設(shè)計的研究步驟。本次課程設(shè)計首先從直流電機(jī)的驅(qū)動開始,逐步深入,通過認(rèn)真分析l298n,h橋等驅(qū)動電路原理,總結(jié)各類驅(qū)動電路的優(yōu)缺點,從而選擇了h橋電路。接著,通過查閱相關(guān)資料,然后使用proteus完成了仿真,并且通過焊接萬用板,單片機(jī)最小系統(tǒng),傳感器模塊,顯示模塊等,制作出實物。該實物功能較良好,性能較穩(wěn)定,基本達(dá)到了設(shè)計目的。但是,在本次設(shè)計中還存在一些不足。有客觀上的原因,如元器件購買不易,設(shè)計時間較緊等。同時也有主觀上的原因。如在畫電路圖時會由于粗心造成錯誤,雖
25、然后期檢查出來了,但還是已經(jīng)造成了時間的浪費。又如后期論文的寫作過程中會忘記及時保存和備份從而導(dǎo)致不必要的丟失,加大了工作量。通過本次課程設(shè)計使我熟悉了科學(xué)設(shè)計的基本步驟,掌握了學(xué)術(shù)論文的寫作方法,同時發(fā)現(xiàn)自身的不足,使之得以及時改正,從而為今后的工作、生活、學(xué)習(xí)打下良好的基礎(chǔ)。參考文獻(xiàn)1李朝青,單片機(jī)原理及接口技術(shù)m北航大學(xué)出版社 2史洪宇,熱釋人體紅外智能溫控風(fēng)扇j山西電子技術(shù) 2010,43榮俊昌,新型電扇原理及維修m北京:高等教育出版社,1990:1520 4于蓉,丁兆花,李宇清.溫控風(fēng)扇設(shè)計n科技咨詢導(dǎo)報2007, 175周育才,劉少軍.基于ds18b20分組方式測溫系統(tǒng)設(shè)計j微計算
26、機(jī)信息,2007,1(1):161-163. 6潘笑,徐辛西.基于單總線數(shù)字傳感器的溫度采集器. j中國儀器儀表,2005,(06):120-1237吳金戌,沈慶陽,郭亭吉.8051單片機(jī)實踐與應(yīng)用 第一版m北京:清華大學(xué)出版社,2002, 08 8謝志平.基于單片機(jī)控制的智能風(fēng)扇j中國新技術(shù)新產(chǎn)品2011,2:148-1489張文兵.智能無級溫控調(diào)速電風(fēng)扇j微特電機(jī)2007 ,1210吳金戌,沈慶陽,郭亭吉.8051單片機(jī)實踐與應(yīng)用 第一版m北京:清華大學(xué)出版社,2002, 08 11馬忠梅.單片機(jī)的c語言的應(yīng)用程序設(shè)計 第一版m北京:北航大學(xué)出版社,199712張毅剛,彭喜源,譚曉昀. m
27、cs-51單片機(jī)應(yīng)用設(shè)計m哈爾濱:哈爾濱工業(yè)大學(xué)出版社,199713江思敏,姚鵬翼,胡榮.protel電路設(shè)計教程m.清華大學(xué).200214童詩白,華成英.模擬電子技術(shù)基礎(chǔ)m.北京:高等教育出版社,200015明德剛,ds18b20在單片機(jī)溫控系統(tǒng)中的運用j.貴州:貴州大學(xué)學(xué)報(自然科學(xué)版),2006,(01)16譚浩強(qiáng),c語言程序設(shè)計m北京:清華大學(xué)出版社,199117郭天祥,新概念51單片機(jī)教程m北京:電子工業(yè)出版社,200818康華光,電子技術(shù)基礎(chǔ) 數(shù)字部分(第四版)m北京:高等教育出版社,200219馬云峰,單片機(jī)與數(shù)字溫度傳感器ds18b20的接口設(shè)計j計算機(jī)的測量與設(shè)置,2007,
28、10附錄#include /包含單片機(jī)寄存器的頭文件#include /包含_nop_ 函數(shù)定義的頭文件#include /包含ds18b20初始化及l(fā)cd液晶顯示的頭文件sbit beep p36; /定義蜂鳴器接口sbit in1 p23; /定義l298n輸入端1接口sbit in2 p24; /定義l298n輸入端2接口sbit ledred p17; /定義轉(zhuǎn)速指示燈紅燈的接口sbit ledgreen p16;/定義轉(zhuǎn)速指示燈綠燈的接口sbit pwm p27; /定義脈沖方波輸出接口 unsigned int th0 177,tl0 224,th1 250,tl1 36; /設(shè)定
29、計時器初值unsigned char tl; /儲存暫存器的溫度低位unsigned char th; /儲存暫存器的溫度高位unsigned char tn; /儲存溫度的整數(shù)部分unsigned char td; /儲存溫度的小數(shù)部分/#初始化定時器0#void inittimer0 void tmod 0x11; /模式1 th0 th0; /設(shè)定初值 tl0 tl0; ea 1; /開啟總中斷 et0 1; /開啟定時器0中斷 /#初始化定時器1#void inittimer1 void tmod 0x11; /模式1 th1 th1; /設(shè)定初值 tl1 tl1; /最初位置為0 e
30、a 1; /開啟總中斷 et1 1; /開啟定時器1中斷 /#定時中斷0#void timer0interrupt void interrupt 1 /20ms中斷 th0 th0; /重裝t0初值 tl0 tl0;tr1 1; /開啟定時器1pwm 1; /變?yōu)楦唠娖?/ p12 1; / delay ; /p12 0; /#定時中斷1#void timer1interrupt void interrupt 3 /0.52.5ms中斷 th1 th1; /重裝t1初值 tl1 tl1;tr1 0; /關(guān)閉定時器1pwm 0; /變?yōu)榈碗娖?/ p12 1; / delay ; /p12 0;
31、 /#方波輸出#void pwmout void tr0 1; /開啟定時器0 tr1 1; /開啟定時器1 pwm 1; ledgreen 0; ledred 1; /#根據(jù)temperature計算初值#void timer0value void readyreadtemp ; /讀溫度準(zhǔn)備 tl readonechar ; /先讀的是溫度值低位 th readonechar ; /接著讀的是溫度值高位 tn th*16+tl/16; /實際溫度值 th*256+tl /16,即:th*16+tl/16 /這樣得出的是溫度的整數(shù)部分,小數(shù)部分被丟棄了 if tn 25 & tn 28 th
32、1 unsigned int 65536-0.3* tn * tn * tn /256; /重賦初值 tl1 unsigned int 65536-0.3* tn * tn * tn %256; else /* 系統(tǒng)主函數(shù)*/void main void pwm 0; in1 1; in2 0; lcdinitiate ; /將液晶初始化 delaynms 5 ; /延時5ms給硬件一點反應(yīng)時間 display_start ; /顯示系統(tǒng)啟動界面 if init_ds18b20 1 /判斷是否檢測到ds18b20display_error ; /顯示沒有檢測到溫度 display_symbol
33、 ; /顯示溫度說明 display_dot ; /顯示溫度的小數(shù)點 display_cent ; /顯示溫度的單位 inittimer0 ; inittimer1 ; while 1 beep 1; readyreadtemp ; /讀溫度準(zhǔn)備 tl readonechar ; /先讀的是溫度值低位 th readonechar ; /接著讀的是溫度值高位 tn th*16+tl/16; /實際溫度值 th*256+tl /16,即:th*16+tl/16 /這樣得出的是溫度的整數(shù)部分,小數(shù)部分被丟棄了 td tl%16 *10/16; /計算溫度的小數(shù)部分,將余數(shù)乘以10再除以16取整,
34、/這樣得到的是溫度小數(shù)部分的第一位數(shù)字 保留1位小數(shù) display_temp1 tn ; /顯示溫度的整數(shù)部分 display_temp2 td ; /顯示溫度的小數(shù)部分 timer0value ; /重置定時器初值 if tn 25 & tn 35 display_explain1 ;/說明系統(tǒng)溫度正常 pwmout ; /輸出方波 else if tn 35 & tn 50 tr0 0; /關(guān)定時器0 tr1 0; /關(guān)定時器1 display_explain1 ;/說明系統(tǒng)溫度正常 pwm 1; /風(fēng)扇全速運行 ledred 0; ledgreen 1; else if tn 50 t
35、r0 0; /關(guān)定時器0 tr1 0; /關(guān)定時器1 pwm 1; beep 0; /開蜂鳴器 display_explain2 ; /說明系統(tǒng)溫度正過高 ledred 0; ledgreen 0; delaynms 50 ; ledred 1; ledgreen 1; delaynms 50 ; else tr0 0; /關(guān)定時器0 tr1 0; /關(guān)定時器1display_explain1 ;/說明系統(tǒng)溫度正常 pwm 0;ledgreen 1; ledred 1; 包含ds18b20初始化及l(fā)cd液晶顯示的頭文件: tempcollect_and_lcdshow.h/*tempcolle
36、ct_and_lcdshow.h溫度傳感器ds18b20初始化及l(fā)cd液晶顯示模塊*/unsigned char code digit10 0123456789 ; /定義字符數(shù)組顯示數(shù)字unsigned char code str1 curriculumdesign ; /系統(tǒng)啟動界面 unsigned char code str2 scm ;unsigned char code str3 make by: ;unsigned char code str4 he yuanqing ;unsigned char code str5 system starting ;unsigned char
37、code str6 . ;unsigned char code stra system work fine ; /說明系統(tǒng)運行正常unsigned char code strb system work faul ; /說明系統(tǒng)溫度過高unsigned char code error error!check! ; /說明沒有檢測到ds18b20unsigned char code temp temp: ; /說明顯示的是溫度unsigned char code cent cent ; /溫度單位/*以下是對液晶模塊的操作程序*/sbit rs p10; /寄存器選擇位,將rs位定義為p2.0引腳
38、sbit rw p11; /讀寫選擇位,將rw位定義為p2.1引腳sbit e p12; /使能信號位,將e位定義為p2.2引腳sbit bf p07; /忙碌標(biāo)志位,將bf位定義為p0.7引腳/*函數(shù)功能:延時1ms 3j+2 *i 333+2 10 1010 微秒 ,可以認(rèn)為是1毫秒*/void delay1ms unsigned char i,j; for i 0;i 10;i+ for j 0;j 33;j+ ; /*函數(shù)功能:延時若干毫秒入口參數(shù):n*/ void delaynms unsigned int n unsigned int i;for i 0;i n;i+ delay1
39、ms ; /*函數(shù)功能:判斷液晶模塊的忙碌狀態(tài)返回值:result。result 1,忙碌;result 0,不忙*/bit busytest void bit result;rs 0; /根據(jù)規(guī)定,rs為低電平,rw為高電平時,可以讀狀態(tài) rw 1; e 1; /e 1,才允許讀寫 _nop_ ; /空操作 _nop_ ; _nop_ ; _nop_ ; /空操作四個機(jī)器周期,給硬件反應(yīng)時間 result bf; /將忙碌標(biāo)志電平賦給result e 0; /將e恢復(fù)低電平 return result; /*函數(shù)功能:將模式設(shè)置指令或顯示地址寫入液晶模塊入口參數(shù):dictate*/void
40、writeinstruction unsigned char dictate while busytest 1 ; /如果忙就等待 rs 0; /根據(jù)規(guī)定,rs和r/w同時為低電平時,可以寫入指令 rw 0; e 0; /e置低電平 根據(jù)表8-6,寫指令時,e為高脈沖, / 就是讓e從0到1發(fā)生正跳變,所以應(yīng)先置0 _nop_ ; _nop_ ; /空操作兩個機(jī)器周期,給硬件反應(yīng)時間 p0 dictate; /將數(shù)據(jù)送入p0口,即寫入指令或地址 _nop_ ; _nop_ ; _nop_ ; _nop_ ; /空操作四個機(jī)器周期,給硬件反應(yīng)時間 e 1; /e置高電平 _nop_ ; _nop
41、_ ; _nop_ ; _nop_ ; /空操作四個機(jī)器周期,給硬件反應(yīng)時間 e 0; /當(dāng)e由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令 /*函數(shù)功能:指定字符顯示的實際地址入口參數(shù):x*/ void writeaddress unsigned char x writeinstruction x|0x80 ; /顯示位置的確定方法規(guī)定為80h+地址碼x /*函數(shù)功能:將數(shù)據(jù) 字符的標(biāo)準(zhǔn)ascii碼 寫入液晶模塊入口參數(shù):y 為字符常量 */ void writedata unsigned char y while busytest 1 ; rs 1; /rs為高電平,rw為低電平時,可以寫入
42、數(shù)據(jù) rw 0; e 0; /e置低電平 根據(jù)表8-6,寫指令時,e為高脈沖, / 就是讓e從0到1發(fā)生正跳變,所以應(yīng)先置0 p0 y; /將數(shù)據(jù)送入p0口,即將數(shù)據(jù)寫入液晶模塊 _nop_ ; _nop_ ; _nop_ ; _nop_ ; /空操作四個機(jī)器周期,給硬件反應(yīng)時間 e 1; /e置高電平 _nop_ ; _nop_ ; _nop_ ; _nop_ ; /空操作四個機(jī)器周期,給硬件反應(yīng)時間 e 0; /當(dāng)e由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令 /*函數(shù)功能:對lcd的顯示模式進(jìn)行初始化設(shè)置*/void lcdinitiate void delaynms 15 ; /延時15ms,首次寫指令時應(yīng)給lcd一段較長的反應(yīng)時間 writeinstruction 0x38 ; /顯示模式設(shè)置:162顯示,57點陣,8位數(shù)據(jù)接口delaynms 5 ; /延時5ms,給硬件一點反應(yīng)時間 writeinstruction 0x38 ;delaynms 5 ; /延時5ms,給硬件一點反應(yīng)時間writeinstruction 0x38 ; /連續(xù)三次,確保初始化成功delaynms 5 ; /延時5ms,給硬件一點反應(yīng)時間writeinstruction 0x0c ; /顯示模式設(shè)置:顯示開,無光標(biāo),光標(biāo)不閃爍delaynms 5 ; /延時5ms,給硬件一點
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 衡陽師范學(xué)院《馬克思主義哲學(xué)(下)》2023-2024學(xué)年第二學(xué)期期末試卷
- 電子科技大學(xué)中山學(xué)院《車輛建模與仿真》2023-2024學(xué)年第二學(xué)期期末試卷
- 甘肅省蘭州市第六十三中學(xué)2025屆高三3月期初測試化學(xué)試題含解析
- 武漢科技大學(xué)《數(shù)字化教學(xué)資源設(shè)計與開發(fā)(C)》2023-2024學(xué)年第二學(xué)期期末試卷
- 許昌職業(yè)技術(shù)學(xué)院《植物保健與和諧植?!?023-2024學(xué)年第二學(xué)期期末試卷
- 湖南吉利汽車職業(yè)技術(shù)學(xué)院《日本文學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 工程造價領(lǐng)域發(fā)展趨勢
- 工程教育基礎(chǔ)
- 廠房強(qiáng)化護(hù)欄施工方案
- 屋面設(shè)備基礎(chǔ)施工方案
- 2019年10月自考03706思想道德修養(yǎng)與法律基礎(chǔ)試題及答案含解析
- 無人機(jī)操控技術(shù) 課件全套 項目1-6 緒論-無人機(jī)自動機(jī)場
- 江蘇紅豆實業(yè)股份有限公司償債能力分析
- 四川省2023年普通高等學(xué)校高職教育單獨招生文化考試(中職類)數(shù)學(xué)試題(原卷版)
- 水力機(jī)械原理與設(shè)計課件
- 江蘇電子信息職業(yè)學(xué)院單招職業(yè)技能測試參考試題庫(含答案)
- 充電樁采購安裝投標(biāo)方案(技術(shù)方案)
- 7.1開放是當(dāng)代中國的鮮明標(biāo)識課件-高中政治選擇性必修一當(dāng)代國際政治與經(jīng)濟(jì)(1)2
- 2024年浙江首考英語聽力原文解惑課件
- 民族團(tuán)結(jié)教材
- 煤礦頂板管理技術(shù)培訓(xùn)課件
評論
0/150
提交評論