




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于單片機(jī)的大棚溫度控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)目錄TOC\o"1-3"\h\u20430第1章引言 366751.背景 3172682.國(guó)內(nèi)外現(xiàn)狀 3236673.研究?jī)?nèi)容與過(guò)程 42306第2章系統(tǒng)硬件組成與工作原理 4143032.1系統(tǒng)的硬件選擇與總體結(jié)構(gòu)框圖 4317722.2系統(tǒng)的工作原理 5126932.3主要硬件設(shè)備簡(jiǎn)介 5277872.3.1AT89C51單片機(jī)結(jié)構(gòu)和基本電路組成 5173352.3.2DS18B20溫度傳感器 1060112.3.3LCD1602液晶顯示器 1231751第3章系統(tǒng)硬件電路設(shè)計(jì) 14112043.1單片機(jī)電源電路 14198683.2聲光報(bào)警電路 14146813.3保安電路 1553783.4顯示電路 15116043.5溫度檢測(cè)電路 1627303.6溫度控制電路 16182293.7按鍵電路 1732153第4章系統(tǒng)的軟件設(shè)計(jì) 1864834.1主程序 18165534.2溫度數(shù)據(jù)采集與處理 21300894.3人機(jī)信號(hào)反饋 22181554.3.1溫度值顯示程序 22288464.3.2按鍵設(shè)置子程序 2240644.4溫度控制驅(qū)動(dòng) 2314928第5章系統(tǒng)仿真調(diào)試與總結(jié) 24191015.1系統(tǒng)仿真過(guò)程 24132605.2總結(jié) 273881參考文獻(xiàn) 2718628附錄 29摘要:本文簡(jiǎn)要描述了應(yīng)用AT89C51單片機(jī)的微控制系統(tǒng)設(shè)計(jì),用于溫室大棚溫度自動(dòng)控制處理。使用編譯軟件將工程文件上傳到微機(jī)主控,然后溫度傳感器DS18B20同步收集并處理溫度數(shù)據(jù),測(cè)量值以數(shù)字量的形式傳輸存儲(chǔ)在微處理器中,最終傳送到LCD1602順利完成顯示過(guò)程。當(dāng)溫度值在所設(shè)置的上限值以上或低于所設(shè)置的下限值,系統(tǒng)會(huì)打開(kāi)相應(yīng)的警示LED照明,控制蜂鳴器發(fā)出警報(bào)音。同時(shí),繼電器動(dòng)作控制加熱或冷卻裝置。本設(shè)計(jì)實(shí)現(xiàn)了溫度的檢測(cè)和控制,可以大大提高農(nóng)作物生產(chǎn)管理的效率。在AT89C51溫度控制系統(tǒng)的設(shè)計(jì)基礎(chǔ)上,簡(jiǎn)單介紹了溫度采集顯示與控制執(zhí)行電路的基本原理,仿真調(diào)試分析了控制系統(tǒng)可行性。文中提供了大棚溫度控制系統(tǒng)的硬件設(shè)計(jì)電路圖和軟件程序設(shè)計(jì)流程圖,具象化表征了系統(tǒng)的主要工作原理。關(guān)鍵詞:AT89C51單片機(jī);DS18B20溫度傳感器;LCD1602顯示;控制系統(tǒng)第1章引言1.背景現(xiàn)在對(duì)特殊環(huán)境溫度的要求越來(lái)越高,在相當(dāng)多領(lǐng)域內(nèi)比如工業(yè)、農(nóng)業(yè)等,絕大部分要對(duì)環(huán)境溫度的變化進(jìn)行監(jiān)測(cè)控制。許多行業(yè)對(duì)溫度的要求很高,需要實(shí)現(xiàn)溫度精確控制,在食品、藥品、服裝等產(chǎn)業(yè)中,溫度監(jiān)測(cè)是否精確是非常重要的。溫度的監(jiān)測(cè)控制復(fù)雜多變,會(huì)因?yàn)楹芏嘧匀灰蛩氐淖兓兓?,比如大氣壓、光照等。所以,使用常?guī)方法檢測(cè)溫度的精準(zhǔn)度并不高。在設(shè)施農(nóng)業(yè)自動(dòng)化發(fā)展中使用簡(jiǎn)便的單片機(jī)系統(tǒng)控制溫室溫度顯得尤為必要。原來(lái)的溫控系統(tǒng)基本是手動(dòng)控制,后面才發(fā)展成機(jī)械設(shè)備。一直到20世紀(jì)70年代,計(jì)算機(jī)的發(fā)展逐漸代替了機(jī)械控制,控制系統(tǒng)迎來(lái)了新時(shí)期。國(guó)外工廠已經(jīng)達(dá)到了先進(jìn)管理水平,能夠集中控制各種環(huán)境因素。同世界發(fā)達(dá)國(guó)家相比較而言,我國(guó)的總體生產(chǎn)水平存在著較大差距,國(guó)內(nèi)高端大棚基本依靠進(jìn)口且價(jià)格昂貴。目前溫室大棚智能化的發(fā)展趨勢(shì)是利用各種傳感器檢測(cè)環(huán)境參數(shù),自動(dòng)調(diào)整各設(shè)備的工作狀態(tài),實(shí)現(xiàn)自動(dòng)化控制。2.國(guó)內(nèi)外現(xiàn)狀溫室大棚是一種封閉的空間環(huán)境,可提供適合蔬菜,水果,綠色植物,草藥和其他農(nóng)作物的生長(zhǎng)環(huán)境。使用遮蓋采集日光的材料,可以在有足夠光線的情況下有效地保持溫室溫度的穩(wěn)定。在惡劣的環(huán)境條件下,可以采取特定措施種植農(nóng)作物,以實(shí)現(xiàn)多季作物的生產(chǎn)。溫室大棚技術(shù)正變得更加智能和自動(dòng)化,以促進(jìn)作物生長(zhǎng)和增加單產(chǎn)。國(guó)內(nèi)大多數(shù)關(guān)于溫室大棚的研究都是采用國(guó)外技術(shù),這些溫室大棚生產(chǎn)的蔬菜滿足了大多數(shù)城市和農(nóng)村居民的基本要求。隨著國(guó)民經(jīng)濟(jì)的飛速發(fā)展,先進(jìn)農(nóng)業(yè)技術(shù)的應(yīng)用推廣越來(lái)越受到國(guó)家的重視。溫室大棚已成為現(xiàn)代化農(nóng)業(yè)設(shè)施的重要樞紐環(huán)節(jié)。在當(dāng)今現(xiàn)代化農(nóng)業(yè)中,溫室環(huán)境的優(yōu)劣直接影響農(nóng)作物的生長(zhǎng)發(fā)育,環(huán)境監(jiān)測(cè)技術(shù)是農(nóng)業(yè)生產(chǎn)自動(dòng)化的基礎(chǔ)保障REF_Ref18283\w\h[1]。通過(guò)監(jiān)視和分析環(huán)境參數(shù)并收集它們以進(jìn)行實(shí)時(shí)調(diào)整,可以提高農(nóng)作物的產(chǎn)量,這將為我們帶來(lái)更多的經(jīng)濟(jì)利益。海外溫室大棚技術(shù)的發(fā)展還處于1980年代左右的初期。在當(dāng)今世界,溫度控制技術(shù)發(fā)展非常迅速,許多國(guó)家也正在朝著完全自動(dòng)化的方向發(fā)展。當(dāng)前,發(fā)達(dá)國(guó)家已經(jīng)開(kāi)發(fā)出了高度自動(dòng)化的溫室,該溫室通過(guò)計(jì)算機(jī)自動(dòng)控制環(huán)境參數(shù),并建立了相關(guān)的大型工廠。但是,我國(guó)的溫室技術(shù)仍需改進(jìn),許多溫室仍依靠人工經(jīng)驗(yàn)管理。另外,家庭的溫度控制系統(tǒng)相對(duì)落后,溫室環(huán)境控制水平較低,難以保證農(nóng)作物的質(zhì)量和產(chǎn)量。國(guó)外的溫室設(shè)施比較先進(jìn),但是價(jià)格很高,但是有些監(jiān)測(cè)系統(tǒng)不能完全適應(yīng)國(guó)內(nèi)環(huán)境的復(fù)雜變化。當(dāng)前,家用溫室溫度監(jiān)測(cè)設(shè)備普遍依靠人工操作,不可避免的缺點(diǎn)是測(cè)控性能差,勞動(dòng)強(qiáng)度大,造成不必要的損失。當(dāng)前,農(nóng)村土地份額非常低,并且溫室控制技術(shù)的推廣受到限制。但是,隨著科學(xué)和社會(huì)的發(fā)展,上述問(wèn)題將逐步得到解決,現(xiàn)代化和自動(dòng)化的發(fā)展將逐步為人們提供更豐富,更安全,更高品質(zhì)的產(chǎn)品。因此,為了有效地生產(chǎn)現(xiàn)代農(nóng)業(yè),有必要積極發(fā)展可以控制溫室環(huán)境的農(nóng)業(yè)設(shè)施和技術(shù)。根據(jù)科學(xué)標(biāo)準(zhǔn)對(duì)溫度,濕度和光線等環(huán)境因素進(jìn)行了微調(diào),以使溫室的環(huán)境條件適合種植農(nóng)作物。3.研究?jī)?nèi)容與過(guò)程一般把一天分作好幾個(gè)時(shí)間段,不同時(shí)間段農(nóng)作物生長(zhǎng)發(fā)育的程度受溫度影響各不相同。在8∶00-14∶00這一時(shí)期,太陽(yáng)光越來(lái)越充足,可以控制25-30溫度范圍內(nèi)的溫度,從而促進(jìn)完成綠色植物的光合作用。14:00-18:00陽(yáng)光漸漸減弱,將溫度調(diào)節(jié)到18~24℃防止溫度較高的農(nóng)業(yè)作物損失REF_Ref18633\w\h[2]。晚上將溫室的溫度逐漸降低到14℃左右,有效促進(jìn)農(nóng)作物的同化物轉(zhuǎn)化率提高。凌晨開(kāi)始把溫度控制10℃左右為了抑制農(nóng)作物自身的呼吸作用消耗。本設(shè)計(jì)研究基于單機(jī)片的大棚溫度控制系統(tǒng),該設(shè)計(jì)主要控制溫室大棚中的氣溫便于根據(jù)作物生長(zhǎng)需要自動(dòng)調(diào)節(jié)溫度。該系統(tǒng)可以獨(dú)立完成溫度檢測(cè)和顯示,并在溫度異常超過(guò)設(shè)定溫度范圍時(shí)實(shí)現(xiàn)自動(dòng)控制溫度變化回歸正常。選擇AT89C51微控制器以完成主要設(shè)計(jì)。第一部分是建立系統(tǒng)的總體框架,并完成系統(tǒng)組成和操作原理的初步設(shè)計(jì)。第二部分是完成系統(tǒng)的所有硬件電路的設(shè)計(jì)并完成相應(yīng)的電路連接。第三部分是對(duì)硬件部分進(jìn)行軟件設(shè)計(jì),編制流程圖,利用程序設(shè)計(jì)工具編寫(xiě)程序。第四部分對(duì)整個(gè)系統(tǒng)的設(shè)計(jì)進(jìn)行模擬仿真調(diào)整,優(yōu)化系統(tǒng)的軟硬件功能,改進(jìn)軟件程序,最后完成溫室大棚的溫度控制系統(tǒng)的設(shè)計(jì)總結(jié)工作。系統(tǒng)硬件組成與工作原理2.1系統(tǒng)的硬件選擇與總體結(jié)構(gòu)框圖硬件選擇:AT89C51微處理器、LCD1602、DS18B20、蜂鳴器和LED燈、MAX706P芯片、備用元件(電阻電容電磁繼電器三極管二極管按鈕)。該系統(tǒng)由以下部分組成:AT89C51單片機(jī)主控制器、保安電路、溫度檢測(cè)與顯示電路、聲光報(bào)警電路、按鍵設(shè)置電路及控制繼電器驅(qū)動(dòng)電路組成一個(gè)有機(jī)整體REF_Ref18855\w\h[3]。大棚溫度控制系統(tǒng)結(jié)構(gòu)組成如圖2-1所示。圖2-1系統(tǒng)硬件總體結(jié)構(gòu)框圖2.2系統(tǒng)的工作原理對(duì)微機(jī)系統(tǒng)進(jìn)行程序設(shè)計(jì)編程,將溫度傳感器DS18B20采集溫度數(shù)據(jù)經(jīng)過(guò)主機(jī)處理,在液晶顯示器LCD1602上實(shí)時(shí)顯示溫度數(shù)值REF_Ref19064\w\h[4]。由按鍵設(shè)置修改溫度上下限值,若采集溫度數(shù)值超過(guò)系統(tǒng)預(yù)設(shè)上下限,則單片機(jī)控制電路觸發(fā)聲光報(bào)警電路進(jìn)行報(bào)警,并自動(dòng)控制電磁繼電器銜鐵吸合進(jìn)行相應(yīng)的加熱或降溫操作。溫度恢復(fù)正常值后停止報(bào)警和控制相應(yīng)繼電器斷開(kāi),系統(tǒng)返回溫度檢測(cè)和顯示電路。系統(tǒng)時(shí)鐘振蕩頻率設(shè)置為12MHz,驅(qū)動(dòng)電源選擇穩(wěn)壓直流+5V輸出,外部控制執(zhí)行元件選擇晶體三極管接入電源驅(qū)動(dòng)。2.3主要硬件設(shè)備簡(jiǎn)介2.3.1AT89C51單片機(jī)結(jié)構(gòu)和基本電路組成單片機(jī)是什么?單片機(jī)就是把一些部件集成到一個(gè)硅片當(dāng)中并且做成封裝形式的產(chǎn)品,也叫做單片微型計(jì)算機(jī)。集成了CPU中央控制處理單元、只讀程序存儲(chǔ)器、隨機(jī)數(shù)據(jù)存儲(chǔ)器、I/O接口電路、中斷系統(tǒng)、串行端口、定時(shí)/計(jì)數(shù)器等REF_Ref19247\w\h[5]。AT89C51微處理器包括作為微計(jì)算機(jī)所需的基本功能部件,每個(gè)功能部件通過(guò)片內(nèi)的單個(gè)總線耦合集成在一個(gè)芯片中。AT89C5單片機(jī)兼容MCS-51系列。主要功能特性包括4K字節(jié)可編程FLASH存儲(chǔ)器、1000次寫(xiě)入/刪除循環(huán)數(shù)據(jù)保持周期、8位內(nèi)部RAM32條可編程I/O端口線、16位定時(shí)/計(jì)數(shù)器2個(gè)、5個(gè)中斷處理源、可編程串行端口、低功耗保護(hù)模式、內(nèi)部振蕩器和時(shí)鐘電路REF_Ref19466\w\h[6]。1、CPU的結(jié)構(gòu)CPU是微處理器的核心部分,通過(guò)命令和執(zhí)行機(jī)構(gòu),決定了微處理器的主要功能和特征。CPU主要是由計(jì)算器、控制器、寄存器陣列構(gòu)成的8位二進(jìn)制數(shù)的中央處理單元。計(jì)算器進(jìn)行算術(shù)和邏輯運(yùn)算處理各種信息,主要包括算術(shù)邏輯單元(ALU)、累加器(ACC)、臨時(shí)存儲(chǔ)寄存器(TMP1、TMP2)和狀態(tài)寄存器(PSW)REF_Ref19802\w\h[7]。控制器是微處理器的控制核心,它由程序計(jì)數(shù)器PC,命令寄存器IR,命令解碼器ID和時(shí)序控制邏輯電路組成。2、單片機(jī)引腳分布引腳圖如圖2-2所示:圖2-2AT89C51單片機(jī)引腳圖AT89C51微處理器具有40個(gè)端口引腳,與其他51系列的MCU基本相兼容。這個(gè)40個(gè)引腳端口可以分成4個(gè)部分。I/O端口線、電源線、控制線以及外部端口晶振。P3口具備第二功能如圖2-3所示:圖2-3P3口引腳第二功能3、I/O口結(jié)構(gòu)AT89C51微處理器控制外部電路并經(jīng)由I/O端口交換反饋信息。I/O端口分為并行I/O端口和串行I/O端口并且構(gòu)造和功能不一樣。AT89C51分別具有四個(gè)8位準(zhǔn)雙向I/O端口,稱(chēng)為P0、P1、P2和P3端口,一共有32條單元引腳REF_Ref20008\w\h[8]。各I/O端口線可以單獨(dú)作為輸入或者輸出,功能各有差異。4、存儲(chǔ)器AT89C51微控制器具有256字節(jié)的RAM數(shù)據(jù)存儲(chǔ)器和4KB閃存。內(nèi)部存儲(chǔ)器主要分為程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。程序存儲(chǔ)器不可寫(xiě)入,用于存儲(chǔ)編譯后的程序和常數(shù)量。數(shù)據(jù)存儲(chǔ)器可以讀寫(xiě)并存儲(chǔ)中間結(jié)果用于計(jì)算,臨時(shí)存儲(chǔ)數(shù)據(jù)和緩沖數(shù)據(jù)。5、定時(shí)/計(jì)時(shí)器AT89C51微處理器具有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(T0和(T1)。T0和T1分別由兩個(gè)8位數(shù)據(jù)寄存器組成。T0由TH0(高8位)、TL0(低8位)構(gòu)成,T1由TH1(高8位)和TL1(低8位)構(gòu)成REF_Ref20158\w\h[9]。定時(shí)/計(jì)數(shù)器操作因模式而異,主要有四種工作模式。超過(guò)計(jì)數(shù)或定時(shí)發(fā)生中斷過(guò)程。中斷系統(tǒng)所謂中斷系統(tǒng)是指CPU暫停執(zhí)行中的原程序,轉(zhuǎn)移到中斷服務(wù)程序執(zhí)行,執(zhí)行中斷服務(wù)程序后返回原程序繼續(xù)執(zhí)行REF_Ref20351\w\h[10]。在AT89C51單片機(jī)內(nèi),中斷源、中斷使能控制器IE、中斷優(yōu)先控制器IP、計(jì)時(shí)器控制器TCON等組成一個(gè)完整的中斷系統(tǒng)。AT89C51微控制器一個(gè)共有五個(gè)中斷處理源。7、時(shí)鐘電路振蕩器組成和時(shí)鐘控制電路。AT89C51微控制器中有用于形成振蕩器的反相數(shù)據(jù)放大器。XTAL1端口是放大器輸入端子,XTAL2端口是放大器輸出端子,晶體(或陶瓷振蕩器)和反饋元件電容器構(gòu)成的并行諧振電路連接到放大器的兩個(gè)端口引腳,可以形成自激勵(lì)振蕩裝置REF_Ref20615\w\h[11]。微處理器可以使用外部振蕩器將固定頻率的時(shí)鐘源信號(hào)輸入到內(nèi)部時(shí)鐘電路。時(shí)鐘電路是微機(jī)系統(tǒng)的典型外部電路,在XTAL1和XTAL2的兩端連接著由石英晶體和兩個(gè)電容器構(gòu)成的振蕩裝置,電容器C1和C2設(shè)定為約30PF,振蕩頻率的范圍通常為1~12MHZ。本電路設(shè)計(jì)選擇內(nèi)部時(shí)鐘模式,石英晶體振蕩頻率為12MHz,ALE信號(hào)頻率為2MHz。時(shí)鐘電路如圖2-4。圖2-4時(shí)鐘電路8、復(fù)位電路微處理器在啟動(dòng)時(shí)或工作中受到干擾導(dǎo)致程序失控處于死循環(huán)狀態(tài)時(shí)需要復(fù)位。本設(shè)計(jì)使用自動(dòng)通電復(fù)位,微處理器的復(fù)位時(shí)間約為5ms。這種設(shè)計(jì)采用了簡(jiǎn)單可靠的按鈕復(fù)位電路??梢栽O(shè)置單片機(jī)的運(yùn)行狀態(tài)并立即將其復(fù)位。AT89C51的復(fù)位端口引腳是第9個(gè)。如果端口連接2個(gè)以上的時(shí)鐘周期,則會(huì)發(fā)生復(fù)位。若是每個(gè)時(shí)鐘脈沖具有兩個(gè)12us時(shí)鐘周期,將12us以上的高電平脈沖連接到端口引腳9,能夠完成復(fù)位過(guò)程REF_Ref20860\w\h[12]。在此期間自動(dòng)復(fù)位,電容器與復(fù)位端口引腳串聯(lián)相互連接。復(fù)位端口引腳與+5V電壓連通時(shí),電容器相當(dāng)于短路。一段時(shí)間(在此期間重置)后,電容器被充電。這與斷開(kāi)連接相同。另一種是手動(dòng)方法控制復(fù)位。即,按鈕控制開(kāi)關(guān)與AT89C51的復(fù)位端口引腳串聯(lián)連接的電容器并聯(lián)連接。不移動(dòng)按鈕的話電容器會(huì)被充電。按下按鈕后電容器放電,復(fù)位端口引腳變?yōu)楦唠娖?,?fù)位完成。硬件電路如圖2-5所示。圖2-5復(fù)位電路時(shí)鐘電路與復(fù)位電路一起構(gòu)成單片機(jī)最小系統(tǒng),如圖2-6所示。圖2-6單片機(jī)最小系統(tǒng)2.3.2DS18B20溫度傳感器DS18B20內(nèi)部集成A/D轉(zhuǎn)換裝置直接輸出數(shù)字信號(hào),是一種被廣泛使用的單總線式溫度采集傳感器。傳感器本身占用空間小方便簡(jiǎn)潔且?guī)缀醪皇芡饨訑_動(dòng),元件采購(gòu)價(jià)格便宜溫度數(shù)值準(zhǔn)確。DS18B20適用于鍋爐、計(jì)算機(jī)房、農(nóng)業(yè)溫室大棚、無(wú)塵車(chē)間、倉(cāng)庫(kù)和其他非限制性場(chǎng)所溫度的檢測(cè)。另外各種小型空間設(shè)備的數(shù)字溫度檢測(cè)和控制系統(tǒng)設(shè)計(jì)領(lǐng)域也常態(tài)化使用集成單總線DS18B20。DS18B20數(shù)字溫度傳感器具有獨(dú)特的優(yōu)點(diǎn):(1)具有較好的效益、穩(wěn)固的防干擾能力,適宜在嚴(yán)酷生存環(huán)境下對(duì)現(xiàn)場(chǎng)溫度進(jìn)行精確測(cè)量。(2)量度溫度區(qū)間大精度高。測(cè)量范圍是-55℃到+125℃。(3)簡(jiǎn)單實(shí)現(xiàn)多測(cè)點(diǎn)點(diǎn)溫度測(cè)量。靈活的電源管理模式,可以通過(guò)內(nèi)部寄生電路獲得供電。(4)溫度數(shù)值分辨率9~12位可控。(5)當(dāng)微處理器經(jīng)由單個(gè)總線接口連接DS18B2O時(shí)可以雙向通信。DS18B20具有較小的體積強(qiáng)大的實(shí)用性能。所使用的溫度測(cè)量元件數(shù)字溫度傳感器DS18B20是3腳PR35的形式。內(nèi)部結(jié)構(gòu)如圖2-7所示。圖2-7DSl8B20的內(nèi)部結(jié)構(gòu)圖DS18B20的溫度測(cè)量原理如圖2-8所示。圖2-8所示的低溫系數(shù)晶體振蕩器的振蕩頻率產(chǎn)生固定頻率的脈沖信號(hào)發(fā)送到低溫計(jì)數(shù)器。高溫系數(shù)晶體振蕩器所產(chǎn)生的信號(hào)用作高溫計(jì)數(shù)器的脈沖輸入。低溫計(jì)數(shù)器和溫度寄存器預(yù)先設(shè)置為對(duì)應(yīng)于-55℃的基值。低溫計(jì)數(shù)器降低了由低溫系數(shù)的晶體諧振器產(chǎn)生的脈沖信號(hào)。當(dāng)?shù)蜏赜?jì)數(shù)器的預(yù)設(shè)值為0時(shí),溫度寄存器的值增加1,低溫計(jì)數(shù)器的預(yù)設(shè)值被重新加載,并且低溫計(jì)數(shù)器被重新啟動(dòng)。對(duì)從高溫度系數(shù)晶體產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),循環(huán)直到高溫計(jì)數(shù)器被計(jì)數(shù)為0,停止溫度寄存器值的累積。測(cè)量溫度等于溫度數(shù)據(jù)寄存器的累積值。斜率累加器的作用是補(bǔ)償和校正溫度測(cè)量數(shù)據(jù)的非線性輸出校正低溫計(jì)數(shù)器的預(yù)設(shè)值REF_Ref21226\w\h[13]。圖2-8傳感器測(cè)溫原理框圖DS18B20的外部形狀如圖2-9所示。圖2-9DS18B20的形狀DQ(I/O)是位數(shù)據(jù)輸入/輸出端子,VDD是可選的外部+5V電源端子,GND是接地端子。2.3.3LCD1602液晶顯示器LCD1202液晶顯示是一種比較常見(jiàn)的字符型的液晶顯示,也是很多學(xué)生入門(mén)級(jí)的一個(gè)液晶顯示屏,因?yàn)長(zhǎng)CD1202相對(duì)來(lái)說(shuō)比較簡(jiǎn)單。LCD1202是一個(gè)專(zhuān)門(mén)用來(lái)顯示字母數(shù)字或者是符號(hào)的一個(gè)點(diǎn)針形的一個(gè)液晶顯示屏。需要注意的是它是一個(gè)字符型的液晶顯示屏,并且是內(nèi)部已經(jīng)含了這個(gè)字符型的一個(gè)字庫(kù)。從它的名字也能夠知道它能夠顯示的是兩行每行16個(gè)字符,也就是他最多只能顯示在一個(gè)屏幕當(dāng)中的是32個(gè)字符。一般來(lái)說(shuō),市面上常見(jiàn)的LCD1202都是選用HD44708的液晶驅(qū)動(dòng)芯片來(lái)設(shè)計(jì)的。它的內(nèi)部結(jié)構(gòu)實(shí)際上已經(jīng)包括了驅(qū)動(dòng)器,還有控制器以及內(nèi)部包含的一個(gè)顯示屏。它的硬件電路比較簡(jiǎn)單,驅(qū)動(dòng)程序相對(duì)來(lái)說(shuō)也并不是特別的復(fù)雜。技術(shù)參數(shù):(1)顯示容量:16×兩個(gè)字。(2)芯片正常工作電壓:4.5~5.5V。(3)工作電流:2.0mA(5.0V)。(4)顯示字大?。?.95毫米×4.35毫米(寬×高)。每個(gè)引腳的功能如圖2-10所示。圖2-10LCD模塊“LCD602”有11種控制器控制命令。該命令集如圖2-11所示。LCD602的LCD模塊的讀寫(xiě)、顯示、光標(biāo)控制是通過(guò)命令編程的(1為高,0為低)。圖2-11有兩種方法連接LCD602和微處理器。一種是直接控制方法,另一種是間接控制方法。區(qū)別在于所用數(shù)據(jù)線的數(shù)量,其他部分相同的8條數(shù)據(jù)線和第3條控制線E、RS和R/LCD602W可以連接到單芯片微計(jì)算機(jī)正常工作。一般應(yīng)用程序只需要在LCD602上寫(xiě)入命令和數(shù)據(jù)。因此,LCD602的R/W讀取/寫(xiě)入選擇控制端子可以直接接地,并且可以節(jié)省數(shù)據(jù)線。VO引腳是LCD對(duì)比度調(diào)節(jié)端子。通??梢赃B接一個(gè)10kΩ的電位器來(lái)調(diào)節(jié)對(duì)比度。也可以通過(guò)將該引腳接地適當(dāng)大小的電阻器來(lái)進(jìn)行調(diào)整,但是該電阻器的大小應(yīng)通過(guò)調(diào)試確定。LCD1602實(shí)物如圖2-12所示圖2-12系統(tǒng)硬件電路設(shè)計(jì)3.1單片機(jī)電源電路設(shè)計(jì)一個(gè)穩(wěn)定輸出電源用作單片機(jī)工作電源。220V/50Hz交流電經(jīng)過(guò)電壓轉(zhuǎn)換器T輸出(AC),接下來(lái)通過(guò)4個(gè)二極管橋接組成的整流電路變成(DC)。由濾波電容處理得到9V(DC)經(jīng)LM7805轉(zhuǎn)換穩(wěn)壓輸出+5V(DC)。電路原理如圖3-1所示:圖3-1單片機(jī)電源電路3.2聲光報(bào)警電路如果溫度測(cè)量值超過(guò)系統(tǒng)預(yù)設(shè)的上下限值,系統(tǒng)會(huì)觸發(fā)聲光報(bào)警提醒農(nóng)戶。電路如圖3-2所示。圖3-2聲光報(bào)警電路在電路中,晶體三極管連接電源用作開(kāi)關(guān)。單片機(jī)引腳輸出低電流正常。引腳電流通過(guò)部分限流電阻后輸出電壓。電壓到達(dá)晶體管基極、晶體管發(fā)射極的正向偏壓、集電極的反向偏壓,晶體管導(dǎo)通連接電蜂鳴器,產(chǎn)生連續(xù)蜂鳴聲報(bào)警。與此同時(shí)AT89C51通過(guò)P1.5和P1.6接口分別控制相應(yīng)上限和下限報(bào)警指示燈亮,完成整個(gè)聲光報(bào)警動(dòng)作。3.3保安電路本設(shè)計(jì)選擇MAX706P檢查系統(tǒng)程序運(yùn)行。I/0連接輸入正向脈沖,雙脈沖輸入時(shí)間1.6S內(nèi),輸出信號(hào)高電平說(shuō)明微機(jī)系統(tǒng)正常工作。若間隔大于1.6S處于低電平狀態(tài)。將和連接,此時(shí)即可完成微機(jī)系統(tǒng)重置復(fù)位。保安電路如圖3-3所示。圖3-3保安電路3.4顯示電路LCD1602液晶顯示器接通電源后,屏幕顯示兩行16位字符。其具備特殊指令格式,通過(guò)相應(yīng)編程可以顯示字母、數(shù)字等。LCD功耗體積小,顯示信息量大,方便連接使用。本系統(tǒng)采用LCD1602液晶顯示器作為顯示部分,通過(guò)顯示器外接一個(gè)上拉電阻,連接電源和微機(jī)系統(tǒng)構(gòu)成顯示電路如圖3-4。圖3-4顯示電路3.5溫度檢測(cè)電路選擇DS18B20以完成溫度測(cè)量功能。DS18B2051和單片機(jī)連接時(shí),為使高電平輸入/輸出有效,DQ引腳可外接一個(gè)4.7K-10K的上拉電阻。DS18B20使用1個(gè)總線輸出數(shù)字量的溫度值,采用到電路構(gòu)造設(shè)計(jì)中更方便。同時(shí)該溫度傳感器抗干擾能力比較強(qiáng)精確度高,是個(gè)不錯(cuò)的選擇。傳感器參數(shù)條件簡(jiǎn)述:檢測(cè)溫度范圍一般為-55℃~125℃,在-10℃~+85℃范圍內(nèi)進(jìn)行溫度測(cè)量時(shí)的精度如下?!?.5℃分辨率為9~12位,精度分別達(dá)到0.5℃、0.25℃、0.065℃的幾個(gè)等級(jí)。大棚溫度采集檢測(cè)電路如圖3-5所示。圖3-5溫度檢測(cè)電路3.6溫度控制電路該設(shè)計(jì)采用繼電器連接加熱或者制冷設(shè)備來(lái)控制溫度變化。一般的電熱爐、電風(fēng)扇都可以驅(qū)動(dòng)。微機(jī)系統(tǒng)利用DS18B20取得溫度信息,判斷是否控制繼電器動(dòng)作。微機(jī)IO端口輸出電流很小,不足以驅(qū)動(dòng)繼電器動(dòng)作。所以選用晶體三極管接入外部電源來(lái)驅(qū)動(dòng)繼電器。電路原理圖如下圖3-6所示。其中外接電源VCC電壓為+5V。在實(shí)際電路中使用一個(gè)續(xù)流二極管與繼電器并聯(lián)保護(hù)電路。繼電器可以外接LED燈,通過(guò)燈是否亮來(lái)判斷繼電器是否動(dòng)作,安全可靠。圖3-6溫度控制電路電路3.7按鍵電路本部分設(shè)計(jì)使用三個(gè)獨(dú)立按鈕連接微機(jī)系統(tǒng)狀態(tài)掃描端口。微機(jī)系統(tǒng)檢測(cè)讀取I/O口狀態(tài)是否為低電平判斷按鍵動(dòng)作,并修改相應(yīng)系統(tǒng)參數(shù)。主要包括溫度顯示器中上限值和下限值的選擇設(shè)置修改,按鍵電路如圖3-7所示。3-7按鍵電路第4章系統(tǒng)的軟件設(shè)計(jì)本設(shè)計(jì)軟件系統(tǒng)基于C語(yǔ)言程序,選用keilc51軟件工具來(lái)完成程序設(shè)計(jì)編譯工作,比較方便簡(jiǎn)潔。軟件系統(tǒng)的總體設(shè)計(jì)包括五個(gè)主要程序模塊:初始化主程序、溫度數(shù)據(jù)采集與處理、溫度控制驅(qū)動(dòng)、人機(jī)信號(hào)反饋。主要完成系統(tǒng)功能如軟件初始化、按鍵掃描、溫度檢測(cè)、控制LCD顯示、報(bào)警控制、加熱與制冷設(shè)備控制等。主程序的作用是完成初始化工作,通過(guò)微機(jī)系統(tǒng)狀態(tài)掃描來(lái)判斷是否需要基本參數(shù)的設(shè)定和控制操作。軟件系統(tǒng)實(shí)時(shí)進(jìn)行溫度測(cè)量,當(dāng)判斷溫度值異常時(shí)進(jìn)行溫度控制,控制報(bào)警電路發(fā)出警報(bào)信號(hào)。4.1主程序主程序主要將各個(gè)子板塊組織成完整的系統(tǒng)。主程序主要功能就是首先完成單片機(jī)系統(tǒng)的初始化過(guò)程,然后根據(jù)按鍵設(shè)定好的參數(shù)開(kāi)始采集溫度數(shù)據(jù)傳輸至主機(jī)處理,處理完的數(shù)據(jù)送LCD1602顯示。同時(shí)分析溫度數(shù)據(jù)是否超過(guò)限定值,執(zhí)行溫度控制程序。采集處理完一次溫度數(shù)據(jù),系統(tǒng)返回繼續(xù)執(zhí)行主程序。系統(tǒng)主程序設(shè)計(jì)流程圖如圖4-1所示。圖4-1系統(tǒng)主程序流程圖C語(yǔ)言程序如下/***************主程序函數(shù)命令*****************/voidmain(){uinta,b;beep=0; //開(kāi)機(jī)叫一聲tempDown=-45;tempUp=85;delay_1ms(150);P0=P1=P2=0xff; //單片機(jī)IO口初始化為1 time_init(); //初始化定時(shí)器init_1602();LEDUP=1;LEDDOWN=1;//K=1;while(1){key(); //獨(dú)立按鍵程序if(key_can<10){key_with(); //按鍵按下要執(zhí)行的程序}if(flag_300ms==1){ flag_300ms=0;ReadTemperature(); //測(cè)溫程序fuhao();clock_h_l();}if(tempUp>=0){write_string(1,2,"");write_sfm2(1,3,tempUp); //顯示溫度上限報(bào)警值}else{write_string(1,2,"-");a=abs(tempUp); write_sfm2(1,3,a); }if(tempDown>=0){write_string(1,13,"");write_sfm2(1,14,tempDown); //顯示溫度上限報(bào)警值}else{write_string(1,13,"-");b=abs(tempDown); write_sfm2(1,14,b); }// control(); }}4.2溫度數(shù)據(jù)采集與處理溫度值采集子程序流程圖如圖4-2所示。圖4-2溫度值采集子程序流程圖溫度的讀取微機(jī)系統(tǒng)連接獲得溫度數(shù)據(jù)為16位二進(jìn)制數(shù)。前五位是符號(hào)位,讀數(shù)乘以設(shè)置精確度即為實(shí)際溫度。如果前5位是1則溫度為負(fù)數(shù),讀數(shù)必須取相反數(shù)加1相乘。DS18B20完成溫度信號(hào)的采集和模數(shù)轉(zhuǎn)換,并將數(shù)據(jù)傳遞給微機(jī)系統(tǒng)保存處理。經(jīng)過(guò)數(shù)據(jù)處理,16位的二進(jìn)制數(shù)據(jù)被轉(zhuǎn)換為十進(jìn)制數(shù)據(jù)。溫度值計(jì)算程序流程圖如圖4-3所示。圖4-3溫度值計(jì)算程序流程圖4.3人機(jī)信號(hào)反饋本部分主要介紹用于信號(hào)反饋的溫度值顯示子程序和按鍵設(shè)置子程序設(shè)計(jì)。4.3.1溫度值顯示程序該顯示器直接與單片機(jī)I/O端口相連,接收低電平指令有效。首先對(duì)顯示器進(jìn)行初始化設(shè)置。通過(guò)編程指令輸入顯示字符相應(yīng)地址代碼,完成溫度值顯示。溫度值顯示子程序流程圖如圖4-4所示。LCD1602顯示流程圖如圖4-5所示。圖4-4溫度值顯示子程序流程圖圖4-5LCD顯示流程圖4.3.2按鍵設(shè)置子程序在該系統(tǒng)中按下按鈕,I/O端口輸出低電平;反之,I/O端口口輸出高電平。按鍵掃描程序通過(guò)讀取I/O口的電平輸出狀態(tài)就能獲得對(duì)應(yīng)按鈕的狀態(tài)。軟件的編譯中系統(tǒng)使用的檢測(cè)查詢(xún)方式運(yùn)行。使用按鍵設(shè)置溫度上下限值流程圖如圖4-6所示。圖4-6溫度限定值設(shè)置子程序流程圖4.4溫度控制驅(qū)動(dòng)微機(jī)系統(tǒng)I/O端口的輸出高電平和低電平,控制繼電器接收電平狀態(tài)實(shí)現(xiàn)銜鐵吸合動(dòng)作控制加熱或者制冷設(shè)備??刂茊纹瑱C(jī)I/O端口電平狀態(tài)由C語(yǔ)言程序定時(shí)器中斷服務(wù)程序和延時(shí)函數(shù)實(shí)現(xiàn)。溫度控制驅(qū)動(dòng)程序流程圖如圖4-7所示。圖4-7溫度控制驅(qū)動(dòng)子程序流程圖第5章系統(tǒng)仿真調(diào)試與總結(jié)5.1系統(tǒng)仿真過(guò)程 仿真軟件使用的是Proteus7.8版本。啟動(dòng)仿真軟件,新建工程文件畫(huà)出各硬件電路原理圖然后有序連接子電路和相關(guān)元件,效果如圖5-1所示。圖5-1系統(tǒng)仿真電路圖檢查并設(shè)定好電路元件合適參數(shù)條件。雙擊單片機(jī)AT89C51,然后把提前編譯好的程序工程文件上傳到單片機(jī)系統(tǒng)。點(diǎn)擊界面左下角啟動(dòng)按鈕開(kāi)始仿真過(guò)程。檢查單片機(jī)是否正常工作,電路元件狀態(tài)顯示是否異常。若所有電路反饋均正常,開(kāi)始仿真會(huì)聽(tīng)到短暫蜂鳴聲表示微機(jī)系統(tǒng)復(fù)位成功,溫度傳感器DS18B20、LCD1602顯示器亮顯示預(yù)設(shè)溫度值。通過(guò)設(shè)置按鈕可以調(diào)節(jié)相應(yīng)溫度值顯示。仿真成功效果如圖5-2所示。圖5-2系統(tǒng)仿真結(jié)果圖調(diào)節(jié)傳感器溫度讓其超過(guò)設(shè)定溫度上下限值,此時(shí)蜂鳴器和報(bào)警指示燈工作發(fā)出報(bào)警,單片機(jī)控制相應(yīng)繼電器動(dòng)作,負(fù)載發(fā)光二極管亮表示驅(qū)動(dòng)正常。5.2總結(jié)通過(guò)實(shí)踐和理論相結(jié)合,我們才能真正的去深入的學(xué)習(xí)單片機(jī)控制系統(tǒng),而不是僅僅入門(mén)。經(jīng)過(guò)很長(zhǎng)一段時(shí)間設(shè)計(jì)工作,“基于單片機(jī)的大棚溫度控制系統(tǒng)設(shè)計(jì)”已經(jīng)順利完成。本設(shè)計(jì)系統(tǒng)選擇了方便、高效、低成本的控制元件完成,設(shè)計(jì)簡(jiǎn)潔通俗易懂。特別是先進(jìn)的“單總線式”溫度測(cè)量設(shè)備體現(xiàn)了速度快、精度高、、測(cè)線少等諸多優(yōu)點(diǎn)。通過(guò)對(duì)硬件電路和軟件系統(tǒng)的仿真調(diào)試,該電路能實(shí)現(xiàn)普通溫室大棚溫度的測(cè)量和顯示,對(duì)不正常的溫度進(jìn)行準(zhǔn)確及時(shí)的報(bào)警和自動(dòng)調(diào)節(jié),大大提高了大棚農(nóng)作物成活率,從而減輕了管理人員的工作量。系統(tǒng)不足之處分析:(1)首先硬件方面,選用的AT89C51單片機(jī)自身數(shù)據(jù)存儲(chǔ)容量有限,在大型溫室大棚密集化溫度采集中使用多個(gè)溫度傳感器組合測(cè)溫的應(yīng)用顯得比較吃力,需要拓展外部存儲(chǔ)。在后續(xù)學(xué)習(xí)工作中,可以選擇集成大容量存儲(chǔ)器的單片機(jī)和多個(gè)溫度傳感器設(shè)計(jì)溫度控制系統(tǒng)。(2)軟件方面,系統(tǒng)程序設(shè)計(jì)比較單一,缺乏必要的控制算法完善溫度數(shù)據(jù)的處理。因此可以在溫度控制處理程序中加入數(shù)字濾波程序,應(yīng)用積分分離PID算法計(jì)算采樣數(shù)據(jù)偏差優(yōu)化軟件功能。參考文獻(xiàn)王敏.溫室大棚溫濕度、二氧化碳測(cè)控系統(tǒng)的研究[D].西安理工大學(xué),2007.常莉,張清濤.基于單片機(jī)的草莓大棚溫度控制系統(tǒng)設(shè)計(jì)[J].農(nóng)業(yè)工程,2017,7(06):46-48.閆紅來(lái).溫度檢測(cè)及顯示系統(tǒng)[J].網(wǎng)絡(luò)財(cái)富,2010(12):263-264.王冉,高凱,孟磊.基于單片機(jī)綠植養(yǎng)護(hù)系統(tǒng)溫度控制的研究[J].自動(dòng)化與儀器儀表,2016(10):14-15.李東.基于單片機(jī)的信號(hào)發(fā)生系統(tǒng)設(shè)計(jì)[J].中山大學(xué)研究生學(xué)刊(自然科學(xué).醫(yī)學(xué)版),2015(01):83-99.申屠南瑛.基于微機(jī)測(cè)控技術(shù)的智能伺服操作系統(tǒng)研究[D].重慶大學(xué),2003.董曉紅.同步粉塵測(cè)試儀的設(shè)計(jì)與實(shí)現(xiàn)[D].四川大學(xué),2004.宋建峰.單片機(jī)是什么?[J].電子制作,2012(04):64-69.杜彬.基于單片機(jī)的紅外數(shù)據(jù)采集電路原理[J].中國(guó)傳媒科技,2014(02):119-120.袁芬,余成路.淺談MCS-51單片機(jī)中斷系統(tǒng)邏輯控制圖[J].科技創(chuàng)新與應(yīng)用,2015(17):30.陳帥,廖志林,周建軍.基于物聯(lián)網(wǎng)遠(yuǎn)程監(jiān)測(cè)機(jī)房溫濕度系統(tǒng)設(shè)計(jì)[J].電聲技術(shù),2015,39(02):29-31.張義和,陳敵北.輕松認(rèn)識(shí)8051(下)[J].無(wú)線電,2007(6):9-10.江太輝,鄧展威.DS18B20數(shù)字式溫度傳感器的特性與應(yīng)用[J].電子技術(shù),2003(12):46-49.李紅剛,方佳,王強(qiáng),錢(qián)雙艷.基于At89C51的八路溫度巡回檢測(cè)系統(tǒng)設(shè)計(jì)[D].熱帶農(nóng)業(yè)工程,2010.翟呈祥.基于FPGA的8051單片機(jī)IP核設(shè)計(jì)及應(yīng)用[D].太原理工大學(xué),2007.謝波.超低頻數(shù)據(jù)采集系統(tǒng)接收機(jī)的開(kāi)發(fā)研究[D].華中科技大學(xué),2008.王可寧.基于單片機(jī)的烘爐溫度自動(dòng)檢測(cè)系統(tǒng)的研究與設(shè)計(jì)[D].東北林業(yè)大學(xué),2004.孫小廣.超聲波水箱[D].華南理工大學(xué),2010.潘俊臣.基于單片機(jī)的音樂(lè)播放器的設(shè)計(jì)[D].成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院,2016.胡敏,諶海云,侯陽(yáng),邱志勇.數(shù)字溫度計(jì)的設(shè)計(jì)[D].現(xiàn)代電子技術(shù),2012.鄧世建,胡媛媛,管城.基于DS18B20的MOA溫度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[D].電子器件,2011.譚金平.基于單片機(jī)電鍋爐恒溫控制系統(tǒng)的電路設(shè)計(jì)[D].南昌大學(xué),2012.鄒偉.溫室大棚自動(dòng)化控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西安電子科技大學(xué),2013.
附錄附錄一電路原理圖附錄二程序清單程序如下:#include<reg52.h> //調(diào)用單片機(jī)頭文件#include<stdio.h>#include<math.h>#defineucharunsignedchar//無(wú)符號(hào)字符型宏定義 變量范圍0~255#defineuintunsignedint //無(wú)符號(hào)整型宏定義 變量范圍0~65535#include<intrins.h>//#include"lcd1602.h"sbitcontrolUp=P3^3;sbitcontrolDown=P3^4;sbitLEDUP=P1^6;sbitLEDDOWN=P1^5;sbitDQ=P3^7; //定義DS18B20總線I/OsignedchartempWd=15; //溫度值全局變量溫度值整數(shù)ucharn; //溫度值全局變量溫度值小數(shù)sbitbeep=P3^2;//蜂鳴器IO口定義inttempUp=25;//溫度上限inttempDown=17;//溫度下限bitf=1;//正負(fù)溫度標(biāo)志位unsignedcharm=1,y=0,o=0;//寄存器signedintsdata;//存放整數(shù)溫度unsignedcharxiaoshu1; //存放小數(shù)后第一位溫度數(shù)值unsignedcharxiaoshu2; //存放小數(shù)后第二位溫度數(shù)值bitflag_300ms;//300毫秒計(jì)時(shí)bitflag=0;ucharkey_can; //按鍵值的變量ucharmenu_1;//菜單標(biāo)記ucharflag_clock;#include"lcd1602.h"/***********************1ms延時(shí)函數(shù)*****************************/voiddelay_1ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<120;j++);}/*************定時(shí)器0初始化程序***************/voidtime_init() { EA=1; //開(kāi)總中斷 TMOD=0X01; //定時(shí)器0、定時(shí)器1工作方式1 ET0=1; //開(kāi)定時(shí)器0中斷 TR0=1; //允許定時(shí)器0定時(shí)}/****************按鍵處理顯示函數(shù)***************/voidkey_with(){ if(key_can==1) { if(flag==0) { tempUp++; //溫度上限設(shè)置數(shù)加1 if(tempUp>99) tempUp=99; } else { tempDown++; if(tempDown>tempUp) tempDown=tempUp; } } if(key_can==2) { if(flag==0) { tempUp-=1; //溫度上限設(shè)置數(shù)減1 if(tempUp<=tempDown) tempUp=tempDown; } else { tempDown-=1; if(tempDown<=-54) tempDown=-54; } } if(key_can==3)//選擇要設(shè)置的參數(shù) { flag=!flag; if(flag==0) { write_com(0x80+6); write_data('<'); //設(shè)置溫度上限報(bào)警值 write_com(0x80+10); write_data(''); } else { write_com(0x80+6); write_data(''); //設(shè)置溫度下限報(bào)警值 write_com(0x80+10); write_data('>'); } } }/********************獨(dú)立按鍵程序*****************/ucharkey_can; //按鍵值voidkey() //獨(dú)立按鍵程序{ staticucharkey_new; key_can=20;//按鍵值還原 P1|=0x1f; if((P1&0x1f)!=0x1f) //按鍵按下 { delay_1ms(1); //按鍵消抖動(dòng) if(((P1&0x1f)!=0x1f)&&(key_new==1)) { //確認(rèn)是按鍵按下 key_new=0; switch(P1&0x1f) { case0x1b:key_can=2;break; //得到減鍵值 case0x17:key_can=1;break; //得到加鍵值 case0x1d:key_can=3;break; //得到設(shè)置鍵值 } } } else key_new=1; }/****************報(bào)警函數(shù)***************/voidclock_h_l(){ staticucharvalue; if(sdata>tempUp||sdata<tempDown) //報(bào)警 { value++; if(value>=2) { value=10; beep=~beep; //蜂鳴器報(bào)警 } }else { value=0; beep=1; LEDUP=1; LEDDOWN=1; controlUp=1; controlDown=1; write_string(1,8,"Z"); } if(sdata>tempUp) //報(bào)警 { LEDUP=0; controlUp=0; write_string(1,8,"S"); } elseif(sdata<tempDown) { LEDDOWN=0; controlDown=0; write_string(1,8,"X"); }}voiddelay_18B20(unsignedinti) //18b20全局延時(shí){while(i--);}///////////////////////////////////18b20////////////////////////////////////////////////////初始化傳感器函數(shù)Init_DS18B20(void){unsignedcharx=0;DQ=1;//DQ復(fù)位delay_18B20(10);//稍做延時(shí)DQ=0;//單片機(jī)將DQ拉低delay_18B20(80);//精確延時(shí)大于480usDQ=1;//拉高總線delay_18B20(20);x=DQ;//稍做延時(shí)后如果x=0則初始化成功x=1則初始化失敗delay_18B20(30);returnx;}//讀一個(gè)字節(jié)ReadOneChar(void){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){DQ=0;//給脈沖信號(hào)dat>>=1;DQ=1;//給脈沖信號(hào)if(DQ)dat|=0x80;delay_18B20(4);}return(dat);}//寫(xiě)一個(gè)字節(jié)WriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;delay_18B20(5);DQ=1;dat>>=1;}return(dat);}voidReadTemperature(void){unsignedcharL=0;unsignedcharH=0;Init_DS18B20();WriteOneChar(0xCC);//跳過(guò)讀序號(hào)列號(hào)的操作WriteOneChar(0x44)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025勞動(dòng)合同范本模板示例
- 2025健身指導(dǎo)服務(wù)健身教練勞動(dòng)合同書(shū)
- 2025化肥買(mǎi)賣(mài)合同樣本
- 2025年循環(huán)呼吸系統(tǒng)模擬習(xí)題+答案
- 2025共同租賃商業(yè)空間合作合同協(xié)議書(shū)
- 2025年藥品質(zhì)量投訴培訓(xùn)試題及答案
- 2025年數(shù)據(jù)庫(kù)??荚囶}+答案
- 2025年教師職業(yè)道德試題(答案)
- 醫(yī)院助人為樂(lè)課件
- 【加固材料行業(yè)分析報(bào)告】市場(chǎng)規(guī)模、供需態(tài)勢(shì)及發(fā)展前景預(yù)測(cè)(2025版)
- 掘進(jìn)工作面甩風(fēng)袖措施
- 年產(chǎn)3500噸檸檬酸鉀及1.3萬(wàn)噸氯化鉀項(xiàng)目擴(kuò)建工程環(huán)境影響報(bào)告表
- 道路破除及恢復(fù)施工方案
- HL線切割控制編程系統(tǒng)使用說(shuō)明
- 寵物店洗護(hù)免責(zé)協(xié)議書(shū)
- Q∕SY 06808-2020 工程設(shè)計(jì)材料分類(lèi)與編碼規(guī)范
- 調(diào)節(jié)閥計(jì)算書(shū)(帶公式)
- 觸電、火災(zāi)現(xiàn)場(chǎng)處置方案
- 醫(yī)德醫(yī)風(fēng)建設(shè)培訓(xùn)課件
- 通信工程竣工資料模板(通用版)
- 中國(guó)半導(dǎo)體行業(yè)投資深度分析與展望
評(píng)論
0/150
提交評(píng)論