版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
..智能儀表原理與設(shè)計綜合訓(xùn)練報告題目:溫度采集儀的設(shè)計班級:姓名:學(xué)號:指導(dǎo)教師:成績:2015年11目錄TOC\o"1-3"\h\u24299前言 131085第1章課程設(shè)計任務(wù)和要求 2215451.1設(shè)計任務(wù) 2244741.2技術(shù)指標(biāo) 223306第2章系統(tǒng)設(shè)計方案 3320972.1溫度采集儀總體設(shè)計方案 3201192.2各模塊設(shè)計方案 34026第3章系統(tǒng)硬件電路設(shè)計 5219333.1單片機(jī)STC89C52簡介和最小系統(tǒng) 5124593.1.1STC89C52單片機(jī)簡介 5323483.1.2STC89C52單片機(jī)最小系統(tǒng) 524933.2數(shù)字溫度傳感模塊設(shè)計 763813.2.1數(shù)字溫度傳感器DS18B20簡介 7274733.3顯示模塊設(shè)計 9308443.3.1LCD1602液晶顯示器的工作原理 9305673.3.2LCD1602液晶顯示器的設(shè)計 10115333.4報警模塊設(shè)計 11173673.4.1蜂鳴器簡介 11111283.5溫度上下限值電路設(shè)計 12140883.6串口輸出電路的設(shè)計 13147673.6.1波特率的計算 13152723.6.2MAX232芯片實現(xiàn)串行通信的電平轉(zhuǎn)換 1327168第4章系統(tǒng)軟件電路設(shè)計 1528134.1LCD液晶顯示軟件設(shè)計 1518634.2主控模塊軟件設(shè)計 1727444.3溫度采集軟件設(shè)計 1963134.4報警電路軟件設(shè)計 2425209第5章系統(tǒng)軟硬件調(diào)試結(jié)果分析 26135195.1軟硬件聯(lián)調(diào)結(jié)果如表1-3所示 26200725.2VB界面顯示如圖2.7所示 26122875.3軟硬件聯(lián)調(diào)結(jié)果分析 278070參考文獻(xiàn) 2830141致謝 298106附錄A硬件原理圖 3032326附錄B實物圖 3227698附錄C元器件清單 34..前言在日常生活及工農(nóng)業(yè)生產(chǎn)中經(jīng)常要用到溫度的檢測及控制,目前使用最廣泛的溫度測量系統(tǒng)一般由溫度測量元件、溫度變送器和溫度指示儀表三個部分組成。這種結(jié)構(gòu)存在兩個方面的缺點:一是三個部分相互分離,不便于隨身攜帶和進(jìn)行臨時性的測量;二是整個系統(tǒng)不易取得較高的性能價格比。傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要比較多的外部硬件支持,硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。本文提出的一種由單片集成電路構(gòu)成的溫度傳感器的種類多,測量的精度高,響應(yīng)時間短,使用方便無需變換電路等。該測溫儀本身就是一個完整的溫度測量系統(tǒng),它不僅可以將代表被測溫度值的電信號轉(zhuǎn)換成溫度值并顯示出來,而且還將處理后的溫度數(shù)值轉(zhuǎn)換成電流或電壓信號輸出,以供計算機(jī)或其他儀表使用,即完成溫度變送器的功能。近年來,美國DALLAS公司生產(chǎn)DSI8B20為代表的新型單總線數(shù)字式溫度傳感器以其突出優(yōu)點廣泛使用于倉儲管理、工農(nóng)業(yè)生產(chǎn)制造、氣象觀測、科學(xué)研究以及日常生活中。DSI8B20集溫度測量和A/D轉(zhuǎn)換于一體,直接輸出數(shù)字量,傳輸距離遠(yuǎn),可以很方便地實現(xiàn)多點測量。溫度采集儀增加PC機(jī)與單片機(jī)之間的通信,可以對實時溫度進(jìn)行遠(yuǎn)程監(jiān)測與存儲,此儀器可用于蔬菜大棚的監(jiān)控或者工廠中的鍋爐溫度的采集等場合應(yīng)用廣泛。第1章課程設(shè)計任務(wù)和要求1.1設(shè)計任務(wù)本次課程設(shè)計要求設(shè)計出智能化溫度測量儀表,要求該測量儀表能夠通過溫度傳感器采集溫度,并將溫度傳到單片機(jī)進(jìn)行處理,并通過液晶顯示,同時以單片機(jī)為核心的主控單元通過對按鍵的操作,設(shè)定上下限報警溫度與實測溫度進(jìn)行比較,并判斷是否報警,且與PC機(jī)通信將監(jiān)測的溫度發(fā)送到PC機(jī)。溫度監(jiān)測界面可用VB進(jìn)行編程設(shè)計實現(xiàn)上位機(jī)人機(jī)界面的設(shè)計,要求上位機(jī)發(fā)送的命令下位機(jī)能及時的給與響應(yīng),并且上位機(jī)能夠?qū)崟r準(zhǔn)確的顯示下位機(jī)所上傳數(shù)據(jù)以及電機(jī)設(shè)備的運(yùn)行狀態(tài);使用匯編語言完成下位機(jī)程序驅(qū)動,并且要盡量保證系統(tǒng)的穩(wěn)定性和可靠性以及使用性。1.2技術(shù)指標(biāo)1.可以對0℃~+125℃溫度進(jìn)行實時采集并能〔通過液晶顯示;2.可以通過按鍵人工設(shè)定上下限報警溫度并判斷是否報警〔蜂鳴器發(fā)出響聲;3.實現(xiàn)下位機(jī)與PC機(jī)之間的串行通信〔在PC機(jī)上用VB所編寫界面顯示實測溫度值。第2章系統(tǒng)設(shè)計方案2.1溫度采集儀總體設(shè)計方案單片機(jī)控制電路中使用STC89C52。溫度采集電路中采用數(shù)字溫度傳感器DS18B20〔該傳感器具有測溫范圍廣、測溫準(zhǔn)確的優(yōu)點,其精確度可達(dá)到0.1攝氏度,可測量的溫度范圍從-55~125攝氏度。將采集到的溫度數(shù)據(jù)送到單片機(jī),通過單片機(jī)控制的溫度報警模塊判斷是否報警,最終將實測溫度發(fā)送到液晶顯示器LCD1602顯示,同時很方便的完成單片機(jī)與PC機(jī)之間的串行通信〔利用MAX232芯片實現(xiàn)電平轉(zhuǎn)換功能,在VB程序編寫的界面上顯示監(jiān)測溫度。溫度采集儀設(shè)計如圖1.1所示。圖1.1圖溫度采集儀設(shè)計2.2各模塊設(shè)計方案本設(shè)計是一個基于單片機(jī)的溫度采集儀,利用單片機(jī)的功能強(qiáng)大且體積小、價格低、抗干擾性好等特點,根據(jù)需要完成的功能需要在本設(shè)計中實現(xiàn)溫度的采集、顯示、上下限報警溫度值設(shè)定、報警和與PC機(jī)的串行通信等功能。本設(shè)計中主要分硬件與軟件的設(shè)計,硬件包括:主控模塊、溫度傳感模塊、顯示模塊、按鍵模塊、報警模塊、通信模塊等,軟件包括:溫度采集、按鍵與報警、顯示、PC機(jī)上的溫度界面等。主控模塊:可以選用STC89C系列的單片機(jī),這里采用的STC89C52單片機(jī),價格便宜,使用方便,STC89C52的片內(nèi)RAM已能滿足存放要求。溫度傳感模塊:由于本設(shè)計中單片機(jī)除了要完成數(shù)據(jù)采集、處理、控制和顯示任務(wù)外,還要完成按鍵值的采集、處理。如果用常規(guī)的數(shù)字加模擬電路實現(xiàn)就會相對困難一些。本設(shè)計選用的數(shù)字式集成溫度傳感器DS18B20。DS18B20是DALLAS半導(dǎo)體公司〔現(xiàn)屬MAXIM公司設(shè)計生產(chǎn)的單總線數(shù)字溫度傳感器,其測量溫度范圍為-55℃~+125℃,在-10~+85℃時精度為±0.5℃。這個傳感器最大的特點就是能夠從一根總線直接輸出二進(jìn)制的溫度信號,不需要A/D轉(zhuǎn)換和信號放大。這樣的選擇使得整個電路的硬件設(shè)計更為簡化,節(jié)省了單片機(jī)的資源。顯示模塊:可以使用數(shù)碼管或者液晶顯示,兩者皆可。在本設(shè)計中,主要使用液晶,焊接簡單且程序調(diào)用方便。按鍵模塊:本設(shè)計采用三個按鍵分別用來設(shè)定上限、下限溫度。報警模塊:就是當(dāng)設(shè)定的溫度在門限溫度之外,就會報警,蜂鳴器發(fā)出響聲。通信模塊:RS-232電平與單片機(jī)TTL電平之間的轉(zhuǎn)換方式,可以使用分立元件焊接而成,也可以直接使用集成芯片MAX232芯片。從電路使用方便的角度來看直接采用集成芯片,適應(yīng)性更強(qiáng),加之其價格適中,硬件接口簡單。第3章系統(tǒng)硬件電路設(shè)計3.1單片機(jī)STC89C52簡介和最小系統(tǒng)STC89C52單片機(jī)簡介本設(shè)計采用的是STC公司的STC89C52單片機(jī)。其特性如下:工作頻率:0~80MHz;3個標(biāo)準(zhǔn)16位定時/計數(shù)器;可編程I/O口線32條,中斷源5個;8K字節(jié)快閃ROM,128字節(jié)RAM;工作電壓:3~5V;40引腳,DIP封裝;STC89C52引腳圖如圖1.2所示。圖1.2STC89C52引腳圖STC89C52單片機(jī)最小系統(tǒng)最小系統(tǒng)包括單片機(jī)的電源、時鐘電路和復(fù)位電路。1.時鐘電路STC89C52單片允許的時鐘頻率的典型值12MHz或11.0592MHz,也可以是6MHz。本設(shè)計要使用串行通信,所以應(yīng)采用11.0592MHz。接到晶振兩端的瓷片電容作用是使振蕩器起振和對f微調(diào)補(bǔ)償,典型值為30PF,本設(shè)計中選用30PF瓷片電容。當(dāng)單片機(jī)加電以后延遲約10ms的時間振蕩器產(chǎn)生時鐘,不受軟件控制〔XTAL2輸出幅度為3V左右的正弦波。單片機(jī)時鐘電路如圖1.3所示。圖1.3單片機(jī)時鐘電路2.復(fù)位電路計算機(jī)在啟動運(yùn)行時都需要復(fù)位,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。單片機(jī)的復(fù)位引腳是RST,當(dāng)振蕩器起振后,該引腳上出現(xiàn)2個周期的高電平,是器件復(fù)位,只要RST保持高電平,單片機(jī)保持復(fù)位狀態(tài)。單片機(jī)復(fù)位方式有二種:上電復(fù)位〔如圖1.4所示、人工復(fù)位〔如圖1.5所示。本設(shè)計中兩種方法都采用。圖1.4上電復(fù)位電路圖1.5上電復(fù)位和開關(guān)復(fù)位注:RST與Vss之間的那個電阻在NMOS型單片機(jī)中需要接,但是在CMOS型單片機(jī)中不接,本設(shè)計電路中就可以不接。3.2數(shù)字溫度傳感模塊設(shè)計數(shù)字溫度傳感器DS18B20簡介美國Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持"一線總線"接口的溫度傳感器,在其內(nèi)部使用了在板〔ON-B0ARD專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。1.DS18B20的主要特性適應(yīng)電壓范圍更寬,電壓范圍:3.0V~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。溫度范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃??删幊痰姆直媛蕿?~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫。在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。測量結(jié)果直接輸出數(shù)字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力。負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。DS18B20的外形、內(nèi)部結(jié)構(gòu)及引腳定義DS18B20的外形及管腳排列如圖1.6所示。a.DQ為數(shù)字信號輸入/輸出端;b.GND為地線;c.VDD為外界供電電源輸入端〔在寄生電源接線方式時接地。圖1.6DS18B20的外形及管腳排列DS18B20的內(nèi)部結(jié)構(gòu)圖如圖1.7所示。圖1.7DS18B20的內(nèi)部結(jié)構(gòu)圖DS18B20與單片機(jī)連接電路DS18B20與單片機(jī)連接電路如圖1.8所示。圖1.8DS18B20與單片機(jī)連接電路3.3顯示模塊設(shè)計顯示模塊部分主要采用LCD1602液晶顯示。主要實現(xiàn)的功能是通過單片機(jī)讀取溫度傳感器轉(zhuǎn)換的溫度值,再將其所讀取的十六進(jìn)制數(shù)轉(zhuǎn)換成十制數(shù),通過靜態(tài)顯示,最后在LCD顯示出溫度數(shù)值。本設(shè)計液晶顯示器選用LCD1602,將單片機(jī)輸出的數(shù)據(jù)進(jìn)行動態(tài)顯示。將采集的溫度以直觀化的形象顯示,與能顯示作報警溫度的上下范圍,這樣方便與實際溫度進(jìn)行比較,實用價值更高。LCD1602液晶顯示器的工作原理字符型液晶顯示模塊是專門用于顯示字母、數(shù)字、符號等的點陣式的LCD,目前常用的是16*1、16*2,20*2和40*2行等。本次設(shè)計中采用的1602字符型液晶顯示器,一行是用來實測溫度,另一行是用來顯示報警溫度的上下限。1.1602的引腳功能1602采用標(biāo)準(zhǔn)14腳〔無背光或16腳〔帶背光接口,各引腳功能如表1-1所示。表1-11602引腳功能介紹編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最強(qiáng)。若對比度過高會產(chǎn)生"鬼影",使用時可以通過一只10K電阻來調(diào)整對比度。RS為寄存器選擇端,RS為高電平時選擇數(shù)據(jù)寄存器,為低電平時選擇指令寄存器。R/W為讀寫信號線,為高電平時進(jìn)行讀操作,為低電平時為寫操作。當(dāng)R/W和RS同為低電平時可以寫人指令或者顯示地址;當(dāng)RS為低電平、R/W為高電平時,可以讀忙信號。當(dāng)RS為高電平、R/W為低電平時,可以讀寫數(shù)據(jù)。E為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。D0~D7為8位雙向數(shù)據(jù)線。LCD1602液晶顯示器的設(shè)計本設(shè)計中RS,R/W,E/N分別接單片機(jī)的P2.5,P2.6,P2.7口,8個數(shù)據(jù)口接單片機(jī)的P0口,如圖1.9所示。圖1.9DS18B20與單片機(jī)連接電路3.4報警模塊設(shè)計報警模塊由一個自我震蕩型的蜂鳴器<只要在蜂鳴器兩端加上超過3V的電壓,蜂鳴器就會一直響>組成,在這次設(shè)計中蜂鳴器是通過三極管放大信號.在所要求的溫度達(dá)到一定的上界或者下界時<在文中設(shè)置的初始上界溫度10℃,下界溫度為20℃>,通過三個按鈕可改變上下界溫度的范圍,一個按鈕是用來加,一個按鈕是用來減,最后一個按鈕是用來確定。只要溫度不在其設(shè)置范圍內(nèi),蜂鳴器就會發(fā)出響聲。蜂鳴器簡介1.蜂鳴器的工作原理在本設(shè)計中主要是用于超過規(guī)定溫度的范圍進(jìn)行報警。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母"H"或"HA"。壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管。多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后〔1.5V~15V直流工作電壓,多諧振蕩器起振,輸出1.5~2.5KHz的音頻信號,阻抗匹配器推動壓電蜂鳴片發(fā)聲。在本設(shè)計中采用的是壓電式蜂鳴器。2.蜂鳴器連接電路當(dāng)P3.2輸出高電平時,三極管截止,沒有電流流過線圈,蜂鳴器不發(fā)聲;當(dāng)P3.2輸出低電平時,三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,可以通過程序控制P3.2腳的電平來使蜂鳴器發(fā)出聲音和關(guān)閉。蜂鳴器與單片機(jī)連接電路如圖2.0所示。圖2.0蜂鳴器與單片機(jī)連接電路3.5溫度上下限值電路設(shè)計在本設(shè)計中主要選用了單片機(jī)的P1.0,P1.1,P1.2口進(jìn)行上限溫度、下限溫度及溫度的確定。本設(shè)計中的溫度上下值按鍵控制電路如圖2.1所示。圖2.1溫度上下值按鍵控制電路3.6串口輸出電路的設(shè)計串口輸出電路部分主要是利用MAX232實現(xiàn)RS232的串行協(xié)議的電平轉(zhuǎn)換,以保證采樣參數(shù)的設(shè)置和溫度向PC機(jī)正常發(fā)送。主要實現(xiàn)的功能是利用STC89C52的UART串行通信口和上位PC機(jī)實現(xiàn)串行通信。波特率的計算單片機(jī)或計算機(jī)在串口通信時的速率用波特率表示,它定義為每秒傳輸二進(jìn)制代碼的位數(shù),即1位秒表1位/秒,單位是bps<位/秒>。如每秒傳送240個字符,而每個字符格式包含10位〔1個起始位、1個停止位、8個數(shù)據(jù)位,這是的波特率為10位*240個/秒=2400bps.如數(shù)據(jù)傳送的波特率為1200波特,采用N.8.1幀格式〔10位,則每秒傳送字節(jié)為120個,而字節(jié)中每一位傳送時間即為波特率的倒數(shù):T=I/1200=0.833ms。同樣,如數(shù)據(jù)傳送的波特率為9600波特,則字節(jié)中每一位傳送時間為T=1/9600=0.104ms。根據(jù)數(shù)據(jù)傳送的波特率即字節(jié)中每一位的傳送時間,我們便可用普通I/O口來模擬實現(xiàn)串行通信的時序。MAX232芯片實現(xiàn)串行通信的電平轉(zhuǎn)換MAX232芯片引腳如圖2.2所示。圖2.2MAX232芯片引腳圖MAX232的相關(guān)參數(shù)如表1-2所示。表1-2MAX232引腳功能介紹腳號引腳名稱引腳功能描述腳號引腳名稱引腳功能描述1C1+泵電容1正極9R2OUT第二組TTL/CMOS電平輸出2V+正電源濾波10T2IN第二組TTL/CMOS電平輸入3C1-泵電容1負(fù)極11T1IN第一組TTL/CMOS電平輸入4C2+泵電容2正極12R1OUT第一組TTL/CMOS電平輸出5C2-泵電容2負(fù)極13R1IN第一組RS-232電平輸入6V-負(fù)電源濾波14T1OUT第一組RS-232電平輸出7T2OUT第二組RS-232電平輸出15GND地8R2IN第二組RS-232電平輸入16VCC電源+5V第4章系統(tǒng)軟件電路設(shè)計本設(shè)計單片機(jī)軟件采用C51語言編寫,C51語言是ANSIC的擴(kuò)展集,其語法結(jié)構(gòu)、關(guān)鍵字等與ANSIC絕大部分是相同的。系統(tǒng)程序包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序、顯示程序、報警程序、PC機(jī)串行通信程序等。在編寫PC機(jī)與單片機(jī)進(jìn)行串行通信時采用VB語言編寫程序。從有利于實現(xiàn)較復(fù)雜的算法〔顯示效果處理和有利于程序結(jié)構(gòu)化考慮,程序適宜采用C51語言編寫。4.1LCD液晶顯示軟件設(shè)計液晶顯示主要實現(xiàn)的功能就是對實測溫度,報警溫度上下限值進(jìn)行顯示。液晶顯示子程序流程圖如圖2.3所示。圖2.3液晶顯示子程序流程圖液晶顯示子程序voidwrite_com<ucharcom>//液晶寫命令程序{//while<BusyTest<>==1>;//如果忙就等待rs=0;//等0輸入命令rw=0;en=0;//液晶使能信號初始化P0=com;//把com參數(shù),液晶的命令值送到P0口en=1;//使能信號,0到1表示上升沿打開可以寫命令數(shù)據(jù)到液晶里delay<100>;//延時,按照液晶的時序圖的要求en=0;//使能信號回復(fù)delay<100>;}voidwrite_data<uchardate>//液晶寫數(shù)據(jù)程序{//while<BusyTest<>==1>;//如果忙就等待rs=1;//等1表示輸入數(shù)據(jù)rw=0;en=0;P0=date;//把date參數(shù),液晶的數(shù)據(jù)送到P0口en=1;delay<100>;en=0;delay<100>;}voidinit<>//液晶初始化程序{en=0;write_com<0x38>;//設(shè)置16X2顯示,5X7點陣,8位數(shù)據(jù)口write_com<0x0c>;//設(shè)置開顯示,不顯示光標(biāo)write_com<0x06>;//寫一個字符后地址指針加1write_com<0x01>;//顯示清0,數(shù)據(jù)指針清0}voidwriteString<uchar*str,ucharlength>{uchari;for<i=0;i<length;i++>{write_data<str[i]>;}}4.2主控模塊軟件設(shè)計主程序的功能是負(fù)責(zé)溫度的實時顯示、讀出并處理DS18B20測量的當(dāng)前溫度值,溫度測量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其主程序流程圖如圖2.4所示。圖2.4主程序流程圖//獲取當(dāng)前溫度值intgetTmpValue<>{unsignedinttmpvalue;intvalue;//存放溫度數(shù)值floatt;unsignedcharlow,high;sendReadCmd<>;//連續(xù)讀取兩個字節(jié)數(shù)據(jù)low=readByte<>;high=readByte<>;//將高低兩個字節(jié)合成一個整形變量//計算機(jī)中對于負(fù)數(shù)是利用補(bǔ)碼來表示的//若是負(fù)值,讀取出來的數(shù)值是用補(bǔ)碼表示的,可直接賦值給int型的valuetmpvalue=high;tmpvalue<<=8;tmpvalue|=low;value=tmpvalue;//使用DS18B20的默認(rèn)分辨率12位,精確度為0.0625度,即讀回數(shù)據(jù)的最低位代表0.0625度t=value*0.0625;//將它放大100倍,使顯示時可顯示小數(shù)點后兩位,并對小數(shù)點后第三進(jìn)行4舍5入//如t=11.0625,進(jìn)行計數(shù)后,得到value=1106,即11.06度//如t=-11.0625,進(jìn)行計數(shù)后,得到value=-1106,即-11.06度value=t*100+<value>0?0.5:-0.5>;//大于0加0.5,小于0減0.5returnvalue;}4.3溫度采集軟件設(shè)計讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進(jìn)行CRC校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。溫度轉(zhuǎn)換命令子程序主要是法溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時轉(zhuǎn)換時間約為750ms,在本程序設(shè)計中采用1s顯示程序延時法等待轉(zhuǎn)換完成。溫度轉(zhuǎn)換命令子程序流程圖如圖2.5所示。圖2.5子程序流程圖溫度采集儀的子程序//讓DS18B20一段相對長時間低電平,然后一段相對非常短時間高電平,即可啟動voiddsInit<>{//對于11.0592MHz時鐘,unsignedint型的i,作一個i++操作的時間大于usunsignedinti;ds=0;i=100;//拉低約800us,符合協(xié)議要求的480us以上while<i>0>i--;ds=1;//產(chǎn)生一個上升沿,進(jìn)入等待應(yīng)答狀態(tài)i=4;while<i>0>i--;}voiddsWait<>{unsignedinti;while<ds>;while<~ds>;//檢測到應(yīng)答脈沖i=4;while<i>0>i--;}//向DS18B20讀取一位數(shù)據(jù)//讀一位,讓DS18B20一小周期低電平,然后兩小周期高電平,//之后DS18B20則會輸出持續(xù)一段時間的一位數(shù)據(jù)bitreadBit<>{unsignedinti;bitb;ds=0;i++;//延時約8us,符合協(xié)議要求至少保持1usds=1;i++;i++;//延時約16us,符合協(xié)議要求的至少延時15us以上b=ds;i=8;while<i>0>i--;//延時約64us,符合讀時隙不低于60us要求returnb;}//讀取一字節(jié)數(shù)據(jù),通過調(diào)用readBit<>來實現(xiàn)unsignedcharreadByte<>{unsignedinti;unsignedcharj,dat;dat=0;for<i=0;i<8;i++>{j=readBit<>;//最先讀出的是最低位數(shù)據(jù)dat=<j<<7>|<dat>>1>;}returndat;}//向DS18B20寫入一字節(jié)數(shù)據(jù)voidwriteByte<unsignedchardat>{unsignedinti;unsignedcharj;bitb;for<j=0;j<8;j++>{b=dat&0x01;dat>>=1;//寫"1",將DQ拉低15us后,在15us~60us內(nèi)將DQ拉高,即完成寫1if<b>{ds=0;i++;i++;//拉低約16us,符號要求15~60us內(nèi)ds=1;i=8;while<i>0>i--;//延時約64us,符合寫時隙不低于60us要求}else//寫"0",將DQ拉低60us~120usds=0;i=8;while<i>0>i--;//拉低約64us,符號要求ds=1;i++;i++;//整個寫0時隙過程已經(jīng)超過60us,這里就不用像寫1那樣,再延時64us了}}//向DS18B20發(fā)送溫度轉(zhuǎn)換命令voidsendChangeCmd<>{dsInit<>;//初始化DS18B20,無論什么命令,首先都要發(fā)起初始化dsWait<>;//等待DS18B20應(yīng)答delay<1>;//延時1ms,因為DS18B20會拉低DQ60~240us作為應(yīng)答信號writeByte<0xcc>;//寫入跳過序列號命令字SkipRomwriteByte<0x44>;//寫入溫度轉(zhuǎn)換命令字ConvertT}//向DS18B20發(fā)送讀取數(shù)據(jù)命令voidsendReadCmd<>{dsInit<>;dsWait<>;delay1<1>;writeByte<0xcc>;//寫入跳過序列號命令字SkipRomwriteByte<0xbe>;//寫入讀取數(shù)據(jù)令字ReadScratchpad}4.4報警電路軟件設(shè)計報警電路軟件主要實現(xiàn)的功能主要是對溫度的上下限值可自由的進(jìn)行設(shè)定,如實測溫度不在此范圍內(nèi),蜂鳴器就會發(fā)出響聲。溫度上下值范圍初始狀態(tài)為:10~20℃。報警電路程序流程圖如圖2.6所示。圖2.6報警電路程序流程圖報警電路程序/*voidwarn<uinttempwarn>//溫度報警程序{if<tempwarn<16>//返回的值是溫度的值,如果溫度小于16度就報警{Alam=0;delay1<500>;//蜂鳴器的聲音響的時間Alam=1;delay1<500>;//蜂鳴器的聲音不響的時間}elseif<tempwarn>24>//如果溫度大于24度并且啟動報警{Alam=0;delay1<500>;Alam=1;delay1<500>;}} */voidmain<>{unsignedchari;uchartable[]="NowTemperature:";ucharUser[]="C";//自定義字符℃sendChangeCmd<>; //啟動溫度轉(zhuǎn)換init<>;//初始化LCDwrite_com<0x80>; //第一行writeString<table,16>;write_com<0xc0>; //第二行writeString<User,1>;//warn<getTmpValue<>>;while<1>{sendChangeCmd<>; //啟動溫度轉(zhuǎn)換//顯示5次for<i=0;i<40;i++>{ w
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州城市職業(yè)學(xué)院《外國文學(xué)名著選讀(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽職業(yè)技術(shù)學(xué)院《自由搏擊》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽人文科技學(xué)院《信息獲取與處理技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州珠江職業(yè)技術(shù)學(xué)院《高分子納米材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025山西省建筑安全員知識題庫附答案
- 廣州應(yīng)用科技學(xué)院《物聯(lián)網(wǎng)感知、傳輸與控制系統(tǒng)實踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州新華學(xué)院《工程圖學(xué)1》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年江西省安全員C證考試(專職安全員)題庫附答案
- 2025年重慶建筑安全員A證考試題庫
- 2025江西建筑安全員-A證考試題庫附答案
- (八省聯(lián)考)河南省2025年高考綜合改革適應(yīng)性演練 思想政治試卷(含答案)
- 福建省能化集團(tuán)筆試題目
- 手糊補(bǔ)強(qiáng)工A卷考試 (1)附有答案
- YY 0286.1-2019專用輸液器第1部分:一次性使用微孔過濾輸液器
- CRRT-抗凝詳解課件
- 抽象函數(shù)單調(diào)性的證明
- 東南大學(xué)結(jié)構(gòu)設(shè)計原理大作業(yè)完成稿
- 廣東省廣州市天河2022-2023學(xué)年數(shù)學(xué)七年級第一學(xué)期期末調(diào)研模擬試題含解析
- GB∕T 41627-2022 動物源空腸彎曲菌檢測方法
- 供貨保障措施
- (完整版)常用樂高零件清單匯總
評論
0/150
提交評論