冬暖式溫室大棚環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)_第1頁
冬暖式溫室大棚環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)_第2頁
冬暖式溫室大棚環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)_第3頁
冬暖式溫室大棚環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)_第4頁
冬暖式溫室大棚環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1hefei university電子系專業(yè)導(dǎo)論論文電子系專業(yè)導(dǎo)論論文題題 目目 冬暖式溫室大棚環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)冬暖式溫室大棚環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì) 班班 級級 1010 級自動(dòng)化(級自動(dòng)化(1 1)班)班 姓姓 名名 學(xué)學(xué) 號號 10050730281005073028 10050740231005074023 10050750111005075011 完成時(shí)間完成時(shí)間 2013/6/302013/6/30 指導(dǎo)老師指導(dǎo)老師 丁健丁健 胡晨曦胡晨曦 1微型計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)任務(wù)書論文題目冬暖式溫室大棚環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)設(shè)計(jì)類型導(dǎo)師姓名主要內(nèi)容及目標(biāo)在國家大力發(fā)展農(nóng)業(yè)的背景之下,我們所做的這個(gè)項(xiàng)目

2、是很有意義的。應(yīng)用所學(xué)單片機(jī)知識(shí),將所學(xué)應(yīng)用到實(shí)踐中,培養(yǎng)實(shí)踐與動(dòng)手能力,真正把理論轉(zhuǎn)化為實(shí)踐。通過單片機(jī)課程設(shè)計(jì),熟練掌握 keil c 語言的編程方法,將理論聯(lián)系到實(shí)踐中去,提高我們的動(dòng)腦和動(dòng)手的能力。系統(tǒng)主要功能是監(jiān)測大棚的溫度并顯示,用測得的光敏電阻的阻值表征光照強(qiáng)度 ,應(yīng)用于普通冬暖式溫室大棚的溫度監(jiān)測和光照自動(dòng)控制,另有定時(shí)功能可以設(shè)定允許觸發(fā)的時(shí)間范圍。應(yīng)用 51 單片機(jī)作為核心處理器,使用 ds18b20 傳感器將所收集的信號傳送給單片機(jī),然后實(shí)現(xiàn)溫度的顯示,用光敏電阻在光照下阻值的變化轉(zhuǎn)化成電壓變化輸入到單片機(jī),進(jìn)行處理轉(zhuǎn)化將其限定在一定范圍內(nèi),超出范圍就會(huì)發(fā)出警報(bào)??梢远〞r(shí)

3、只允許在設(shè)定的時(shí)間范圍內(nèi)觸發(fā)單片機(jī)引起報(bào)警及相關(guān)裝置的動(dòng)作。具有的設(shè)計(jì)條件1 pc 機(jī)一臺(tái),教學(xué)實(shí)驗(yàn)箱一臺(tái);計(jì)劃學(xué)生數(shù)及任務(wù)3 人(1):明確課題功能。(2):把復(fù)雜問題分解為若干模塊,確定各模塊處理方法,畫出流程圖。(3):存儲(chǔ)器資源分配(4):編制程序,根據(jù)流程圖來編制源程序(5):對程序進(jìn)行匯編,調(diào)試和修改,直到程序運(yùn)行結(jié)果正確為止。1計(jì)劃設(shè)計(jì)進(jìn)程一、總體方案設(shè)計(jì)二、控制系統(tǒng)的建模和數(shù)字控制器設(shè)計(jì)三、硬件的設(shè)計(jì)和實(shí)現(xiàn)1、 選擇計(jì)算機(jī)字長(選用 51 內(nèi)核的單片機(jī))2、 設(shè)計(jì)支持計(jì)算機(jī)工作的外圍電路(eprom、ram、i/o 端口、鍵盤、顯示接口電路等);3、 設(shè)計(jì)輸入信號接口電路;4、

4、 設(shè)計(jì)輸出控制電路;5、 其它相關(guān)電路的設(shè)計(jì)或方案(電源、通信等)。四、軟件設(shè)計(jì)1、 分配系統(tǒng)資源,編寫系統(tǒng)初始化和主程序模塊框圖;2、 其它程序模塊(顯示與鍵盤等處理程序)框圖。五、編寫課程設(shè)計(jì)說明書,繪制完整的系統(tǒng)電路圖(a3 幅面)。2目錄目錄一、設(shè)計(jì)簡介一、設(shè)計(jì)簡介.11.1 系統(tǒng)的概述.11.2 系統(tǒng)的要求.11.3 系統(tǒng)的主要模塊.11.3.1 本系統(tǒng)的主要組成部分.11.3.2 各部分的功能.21.3.3 工作原理.2二、二、設(shè)計(jì)的理論基礎(chǔ)設(shè)計(jì)的理論基礎(chǔ).22.1 at89c52 的工作原理.32.1.1 cpu的結(jié)構(gòu).32.1.2 cpu的結(jié)構(gòu)i/o口結(jié)構(gòu).32.1.3 程序存

5、儲(chǔ)器.32.1.4 定時(shí)器.42.1.5 中斷系統(tǒng).42.2 單總線數(shù)字溫度傳感器 ds18b20 檢測電路.42.2.1 ds18b20簡介.42.2.2 ds18b20 的性能特點(diǎn).42.2.3 ds18b20的測溫原理.52.3 lcd1602 液晶顯示器.62.3.1 lcd1602簡介.62.3.2 lcd1602的指令說明及時(shí)序.72.4 直流馬達(dá).82.4.1 馬達(dá)工作的原理.82.4.2 馬達(dá)的基本構(gòu)造.92.5 蜂鳴器.9三、三、系統(tǒng)的硬件組成電路設(shè)計(jì)系統(tǒng)的硬件組成電路設(shè)計(jì).93.1 系統(tǒng)總硬件設(shè)計(jì).103.2 單總線數(shù)字溫度傳感器 ds18b20 檢測電路.1033.3 l

6、cd1602 顯示模塊.11四、四、 系統(tǒng)軟件的設(shè)計(jì)系統(tǒng)軟件的設(shè)計(jì).114.1 主程序設(shè)計(jì).124.2 溫度檢測.134.2.1讀取溫度設(shè)計(jì).134.2.2 溫度數(shù)據(jù)處理設(shè)計(jì).144.3 液晶顯示器 lcd1602.164.3.1 lcd1602初始化.164.4 馬達(dá)的控制.174.5 報(bào)警器的啟動(dòng).18五、五、總結(jié)總結(jié).18六、六、參考文獻(xiàn)參考文獻(xiàn).1附錄附錄 a a.2附錄附錄 b b.91摘要摘要我國南方溫度炎熱而漫長,大力推廣大棚蔬菜的種植來滿足人們?nèi)粘I顚κ卟说男枰?。隨著人們生活水平的日益增長,對蔬菜的要求也較高,對大棚蔬菜的溫度控制就是一個(gè)重要因素。溫度過高,蔬菜就會(huì)停止生長或

7、者糜爛。本系統(tǒng)就基于單片機(jī) at89c52 實(shí)現(xiàn)對大棚溫度的自動(dòng)化控制。用數(shù)字溫度模塊ds18b20 采集,將采集到的溫度用顯示屏顯示,再根據(jù)采集到的溫度,控制馬達(dá)的轉(zhuǎn)速,從而實(shí)現(xiàn)對大棚溫度的控制。當(dāng)溫度大于 35,喇叭產(chǎn)生報(bào)警信號。關(guān)鍵字關(guān)鍵字:溫度 自動(dòng) 控制1正文正文一、設(shè)計(jì)簡介一、設(shè)計(jì)簡介1.11.1 系統(tǒng)的概述系統(tǒng)的概述應(yīng)用自動(dòng)控制和電子計(jì)算機(jī)實(shí)現(xiàn)農(nóng)業(yè)生產(chǎn)和管理的自動(dòng)化,是農(nóng)業(yè)現(xiàn)代化的重要標(biāo)志之一。近年來電子技術(shù)和信息技術(shù)的飛速發(fā)展,帶來了溫室控制與管理技術(shù)方面的一場革命,隨著“設(shè)施農(nóng)業(yè)” 、 “虛擬農(nóng)業(yè)”等新名稱的出現(xiàn)。溫度計(jì)算機(jī)控制與管理系統(tǒng)正在不斷吸收自動(dòng)控制和信息管理領(lǐng)域的理

8、論和方法,結(jié)合溫室作物種植的特點(diǎn),不斷創(chuàng)新,逐步完善,從而使溫室種植業(yè)實(shí)現(xiàn)真正意義上的現(xiàn)代化,產(chǎn)業(yè)化。本系統(tǒng)以 at89c52 單片機(jī)為控制核心的測控儀,主要是為了對蔬菜大棚內(nèi)的溫度,地檢測與控制而設(shè)計(jì)的。該測控儀具有檢測精度高、使用簡單、成本較低和工作穩(wěn)定可靠等特點(diǎn),所以具有一定的應(yīng)用前景。1.21.2 系統(tǒng)的要求系統(tǒng)的要求本系統(tǒng)通過單片機(jī) at89c52 控制,用 ds18b20 數(shù)字溫度模塊采集溫度。通過lcd1602 液晶顯示屏顯示當(dāng)前溫度,當(dāng)溫度高于 20,馬達(dá)將帶動(dòng)風(fēng)扇的轉(zhuǎn)動(dòng),實(shí)現(xiàn)自動(dòng)控制大棚里的溫度。當(dāng)檢測到的溫度高于 35時(shí),發(fā)出報(bào)警信號。本設(shè)計(jì)將實(shí)現(xiàn)大棚溫度的自動(dòng)化控制。1.

9、31.3 系統(tǒng)的主要模塊系統(tǒng)的主要模塊1.3.1 本系統(tǒng)的主要組成部分本系統(tǒng)為一個(gè)全自動(dòng)溫度檢測與控制系統(tǒng),由以下幾個(gè)部分組成:at89c52 單片機(jī),溫度檢測,顯示電路,馬達(dá),及報(bào)警裝置等組成。組成圖如圖 1-1。 2圖 1-1 溫度自動(dòng)控制構(gòu)成圖由圖 1-1 所示,本系統(tǒng)的核心部分是 at89c52,此芯片是該電路的樞紐。由它先控制著溫度的檢測,用檢測到的溫度實(shí)現(xiàn)馬達(dá)的自動(dòng)控制,以及顯示。若檢測到的溫度高于設(shè)定的值,則發(fā)出報(bào)警信號。1.3.2 各部分的功能at89c52 單片機(jī):它是系統(tǒng)的中央處理器,擔(dān)負(fù)著系統(tǒng)的控制和運(yùn)算。溫度檢測裝置:ds18b20 數(shù)字溫度模塊對大棚內(nèi)溫度進(jìn)行采集,將

10、溫度轉(zhuǎn)換成數(shù)字。顯示設(shè)備:主要是用于顯示檢測到的大棚溫度。馬達(dá):主要用于帶動(dòng)風(fēng)扇的轉(zhuǎn)動(dòng)。報(bào)警裝置:產(chǎn)生報(bào)警信號。1.3.3 工作原理首先對硬件系統(tǒng) ds18b20 定義端口為 p1.3,p2.4,p2.5,p2.6 和 p0 口控制液晶lcd1602 的顯示,定義端口 p1.5 為馬達(dá)控制端口,p1.7 為喇叭控制端口。首先對溫度采集,將采集到的溫度轉(zhuǎn)換數(shù)字,采集到的溫度由 lcd 液晶顯示屏顯示。再將采集到的溫度所屬軟件設(shè)置的哪個(gè)范圍,而控制 p1.5 的電平輸出。二、二、設(shè)計(jì)的理論基礎(chǔ)設(shè)計(jì)的理論基礎(chǔ)整個(gè)控制系統(tǒng)由軟件程序設(shè)計(jì)。根據(jù)系統(tǒng)具體要求,可以對具體部分進(jìn)行分析3設(shè)計(jì)。但要實(shí)現(xiàn)對各部分

11、的設(shè)計(jì),需要充分了解各部分的理論基礎(chǔ)。本設(shè)計(jì)系統(tǒng)的基本組成單元包括:單片機(jī)控制單元,ds18b20 溫度檢測電路,lcd1602 顯示屏,直流馬達(dá),蜂鳴器報(bào)警裝置。2.12.1 at89c52at89c52 的工作原理的工作原理2.1.1 cpu 的結(jié)構(gòu)cpu 是單片機(jī)內(nèi)部的核心部分,是單片機(jī)的指揮和執(zhí)行機(jī)構(gòu),它決定了單片機(jī)的主要功能特性。從功能上看,cpu 包括兩個(gè)基本部分:運(yùn)算器和控制器1。2.1.2 cpu 的結(jié)構(gòu) i/o 口結(jié)構(gòu)at89c52 單片機(jī)有 4 個(gè) 8 位并行 i/o 接口,記作 p0、p1、p2 和 p3,每個(gè)端口都是 8 位準(zhǔn)雙向口,共占 32 根引腳。每一條 i/o

12、線都能獨(dú)立地用作輸入或輸出。每個(gè)端口都包括一個(gè)鎖存器,一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器,作輸出時(shí)數(shù)據(jù)可以鎖存,作輸入時(shí)數(shù)據(jù)可以緩沖,但是這四個(gè)通道的功能完全不同。如圖 2-1。圖 2-1 at89c52 引腳及管腳功能2.1.3 程序存儲(chǔ)器程序存儲(chǔ)器通過 16 位程序計(jì)數(shù)器尋址,尋址能力為 64k 字節(jié)。這能在 6k 地址空間內(nèi)任意尋址,但沒有指令使程序能控制從程序存儲(chǔ)器空間轉(zhuǎn)移到數(shù)據(jù)存儲(chǔ)空間。對 at89c52 芯片來說,片內(nèi)有 8k 字節(jié) rom/eprom,片外可擴(kuò)展 60k 字節(jié) eprom,片4內(nèi)和片外程序存儲(chǔ)器統(tǒng)一編址。2.1.4 定時(shí)器定時(shí)器 t0 具有方式 0、方式 1、方式 2 和

13、方式 3 四種工作方式。t1 具有方式0、方式 1 和方式 2 三種工作方式。不管是定時(shí)工作方式還是計(jì)數(shù)方式,定時(shí)器 t0和 t1 在對內(nèi)部時(shí)鐘或?qū)ν獠繒r(shí)間計(jì)數(shù)時(shí),不占用 cpu 時(shí)間,除非定時(shí)器/計(jì)數(shù)器溢出,才可能中斷 cpu 的當(dāng)前操作。由此可見,定時(shí)器是單片機(jī)中效率最高而且工作靈活的部件。2.1.5 中斷系統(tǒng)中斷是指中央 cpu 正在處理某事情的時(shí)候,外部發(fā)生了某一事件,請求 cpu 迅速去處理,于是,cpu 暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)入處理所發(fā)生的事件;中斷服務(wù)處理完成以后,再回到原來被中斷的工作,這樣的過程稱為中斷2。2.22.2 單總線數(shù)字溫度傳感器單總線數(shù)字溫度傳感器 ds18b20

14、ds18b20 檢測電路檢測電路由于傳統(tǒng)的熱敏電阻等測溫元件測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要比較多的外部元件支持,且硬件電路復(fù)雜,制作成本相對較高。這里采用dallas 公司的數(shù)字溫度傳感器 ds18b20 作為測溫元件。2.2.1 ds18b20 簡介ds18b20 數(shù)字溫度傳感器采用 ds18b20 可組網(wǎng)數(shù)字溫度傳感器芯片封裝二成,具有耐磨耐碰,體積小使用方便,封裝形式多樣等優(yōu)點(diǎn),適用于各種狹小空間設(shè)備數(shù)字溫度和控制領(lǐng)域3。2.2.2 ds18b20 的性能特點(diǎn) 適應(yīng)電壓范圍更寬,電壓范圍:3.05.5v,在寄生電源方式下可由數(shù)據(jù)線供電。 獨(dú)特的單線接口方式,ds18b20

15、在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與 ds18b20 的雙向通訊。 ds18b20 支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20 可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫。 ds18b20 在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。 溫范圍55125,在-10+85時(shí)精度為0.5。零待機(jī)功耗。 可編5程的分辨率為 912 位,對應(yīng)的可分辨溫度分別為 0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測溫。 在 9 位分辨率時(shí)最多在 93.75ms 內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12 位分辨率時(shí)最多在 750ms 內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。ds1

16、8b20 內(nèi)部結(jié)構(gòu)主要由四部分組成:64 位光刻 rom、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器 th 和 tl、配置寄存器。ds18b20 的管腳排列、各種封裝形式,dq 為數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源;gnd 為地信號;vdd 為可選擇的 vdd 引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。圖 3-1 ds18b20 的引腳功能圖圖 3-2 ds18b20 的內(nèi)部結(jié)構(gòu)圖2.2.3 ds18b20 的測溫原理ds18b20 的測溫原理,低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生6固定頻率的脈沖信號送給減法計(jì)數(shù)器 1,高溫度系數(shù)晶振隨溫度

17、變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計(jì)數(shù)器 2 的脈沖輸入,還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),ds18b20 就對低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測量.計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 所對應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器 1 和溫度寄存器中,減法計(jì)數(shù)器 1 和溫度寄存器被預(yù)置在-55 所對應(yīng)的一個(gè)基數(shù)值4。另外,由于 ds18b20 單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對 ds18b20 的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化 ds18b20發(fā) rom 功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)5。2.32

18、.3 lcd1602lcd1602 液晶顯示器液晶顯示器2.3.1 lcd1602 簡介字符型 lcd1602 通常有 14 條引腳線或 16 條引腳線的 lcd,多出來的 2 條線是背光電源線 vcc(15 腳)和地線 gnd(16 腳),其控制原理與 14 腳的 lcd 完全一樣,引腳定義如表 2-1 所示: 表 2-1 引腳接口說明表編號符號引腳說明編號符號引腳說明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ù)

19、極第 1 腳:vss 為地電源。第 2 腳:vdd 接 5v 正電源。第 3 腳:vl 為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地時(shí)對比度最高,對比度過高時(shí)會(huì)產(chǎn)生“鬼影” ,使用時(shí)可以通過一個(gè) 10k 的電位器調(diào)整對比度。第 4 腳:rs 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存7器。第 5 腳:r/w 為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)rs 和 r/w 共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) rs 為低電平 r/w 為高電平時(shí)可以讀忙信號,當(dāng) rs 為高電平 r/w 為低電平時(shí)可以寫入數(shù)據(jù)。第 6 腳:e 端為使能端,當(dāng) e 端由高電平跳

20、變成低電平時(shí),液晶模塊執(zhí)行命令。第 714 腳:d0d7 為 8 位雙向數(shù)據(jù)線。第 15 腳:背光源正極。第 16 腳:背光源負(fù)極。2.3.2 lcd1602 的指令說明及時(shí)序lcd1602 液晶模塊內(nèi)部的控制器共有 11 條控制指令6,如表 2-2 所示:表 2-2 控制命令表序號指令rsr/wd7d6d5d4d3d2d1d01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001i/ds4顯示開/關(guān)控制0000001dcb5光標(biāo)或字符移位000001s/c r/l*6置功能00001dlnf*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址0

21、01顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01bf計(jì)數(shù)器地址10寫數(shù)到 cgramddram)10要寫的數(shù)據(jù)內(nèi)容11cgram 或 ddram 讀數(shù)11讀出的數(shù)據(jù)內(nèi)容 lcd1602 液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。1 為高電平、0 為低電平。指令 1:清顯示,指令碼 01h,光標(biāo)復(fù)位到地址 00h 位置。指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00h。指令 3:光標(biāo)和顯示模式設(shè)置 i/d:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 8s:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令 4:顯示開關(guān)控制。 d:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表

22、示關(guān)顯示 c:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) b:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令 5:光標(biāo)或顯示移位 s/c:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令 6:功能設(shè)置命令 dl:高電平時(shí)為 4 位總線,低電平時(shí)為 8 位總線 n:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 f: 低電平時(shí)顯示 5x7 的點(diǎn)陣字符,高電平時(shí)顯示 5x10 的點(diǎn)陣字符。指令 7:字符發(fā)生器 ram 地址設(shè)置。指令 8:ddram 地址設(shè)置。指令 9:讀忙信號和光標(biāo)地址 bf:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令 10:寫數(shù)據(jù)。指令

23、11:讀數(shù)據(jù)。lcd1602 讀寫時(shí)序如表 2-3 所示:表 2-3 基本操作時(shí)序表讀狀態(tài)輸入rs=l,r/w=h,e=h輸出 d0d7=狀態(tài)字寫指令輸入 rs=l,r/w=l,d0d7=指令碼,e=高脈沖輸出無讀數(shù)據(jù)輸入rs=h,r/w=h,e=h輸出d0d7=數(shù)據(jù)寫數(shù)據(jù)輸入 rs=h,r/w=l,d0d7=數(shù)據(jù),e=高脈沖 輸出無2.42.4 直流馬達(dá)直流馬達(dá)電動(dòng)馬達(dá),又稱為馬達(dá)或電動(dòng)機(jī),是一種將電能轉(zhuǎn)化成機(jī)械能,并可再使用機(jī)械能產(chǎn)生動(dòng)能,用來驅(qū)動(dòng)其他裝置的電氣設(shè)備。 電動(dòng)機(jī)種類非常繁多,但可大致分為交流電動(dòng)機(jī)及直流電動(dòng)機(jī)以用于不同的場合。2.4.1 馬達(dá)工作的原理馬達(dá)的旋轉(zhuǎn)原理的依據(jù)為佛

24、來明左手定則,當(dāng)一導(dǎo)線置放于磁場內(nèi),若導(dǎo)線通上電流,則導(dǎo)線會(huì)切割磁場線使導(dǎo)線產(chǎn)生移動(dòng)。 電流進(jìn)入線圈產(chǎn)生磁場,利用電流9的磁效應(yīng),使電磁鐵在固定的磁鐵內(nèi)連續(xù)轉(zhuǎn)動(dòng)的裝置,可以將電能轉(zhuǎn)換成力學(xué)能。 與永久磁鐵或由另一組線圈所產(chǎn)生的磁場互相作用產(chǎn)生動(dòng)力 直流馬達(dá)的原理是定子不動(dòng),轉(zhuǎn)子依相互作用所產(chǎn)生作用力的方向運(yùn)動(dòng)7。 電樞:可以繞軸心轉(zhuǎn)動(dòng)的軟鐵芯纏繞多圈線圈。 場磁鐵:產(chǎn)生磁場的強(qiáng)力永久磁鐵或電磁鐵。 集電環(huán):線圈約兩端接至兩片半圓形的集電環(huán),隨線圈轉(zhuǎn)動(dòng),可供改變電流方向的變向器。每轉(zhuǎn)動(dòng)半圈,線圈上的電流方向就改變一次。 電刷:通常使用碳制成,集電環(huán)接觸固定位置的電刷,用以接至電源。 2.4.2

25、馬達(dá)的基本構(gòu)造電動(dòng)機(jī)的種類很多,以基本結(jié)構(gòu)來說,其組成主要由定子和轉(zhuǎn)子所構(gòu)成。 定子在空間中靜止不動(dòng),轉(zhuǎn)子則可繞軸轉(zhuǎn)動(dòng),由軸承支撐。 定子與轉(zhuǎn)子之間會(huì)有一定空氣間隙,以確保轉(zhuǎn)子能自由轉(zhuǎn)動(dòng)。 定子與轉(zhuǎn)子繞上線圈,通上電流產(chǎn)生磁場,就成為電磁鐵,定子和轉(zhuǎn)子其中之一亦可為永久磁鐵8。2.52.5 蜂鳴器蜂鳴器蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器。蜂鳴器主要分為壓電式蜂鳴器和電磁化蜂鳴器兩種類型。本系統(tǒng)采用的是電磁式蜂鳴器9。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁鐵圈,使電磁鐵線圈產(chǎn)生磁場,振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振

26、動(dòng)發(fā)聲。蜂鳴器發(fā)聲原理是電流通過電磁鐵圈,使電磁線圈產(chǎn)生磁場來驅(qū)動(dòng)振動(dòng)膜發(fā)聲的。程序中改變單片機(jī)引腳輸出波形的頻率,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色、音調(diào)的聲音。另外,改變輸出電平的高低電平占空比,則可以控制蜂鳴器的聲音大小。10三、三、系統(tǒng)的硬件組成電路設(shè)計(jì)系統(tǒng)的硬件組成電路設(shè)計(jì)系統(tǒng)的硬件組成部分包括:主控制器 at89c52 單片機(jī)、溫度傳感器 ds18b20、顯示電路 lcd1602、馬達(dá)、報(bào)警裝置等構(gòu)成。3.13.1 系統(tǒng)總硬件設(shè)計(jì)系統(tǒng)總硬件設(shè)計(jì) 首先對硬件系統(tǒng) ds18b20 定義端口為 p1.3,p2.4,p2.5,p2.6 和 p0 口控制液晶lcd1602 的顯示,定

27、義端口 p1.5 為馬達(dá)控制端口,p1.7 為喇叭控制端口。首先對溫度采集,將采集到的溫度轉(zhuǎn)換數(shù)字,采集到的溫度由 lcm 液晶顯示屏顯示。再將采集到的溫度所屬軟件設(shè)置的哪個(gè)范圍,而控制 p1.5 的電平輸出。電路原理圖如 3-1所示: 圖 3-1 電路原理圖3.23.2 單總線數(shù)字溫度傳感器單總線數(shù)字溫度傳感器 ds18b20ds18b20 檢測電路檢測電路dq 為數(shù)據(jù)輸入/輸出引腳,連接 p1.3。開漏單總線接口引腳。當(dāng)被用著在寄生11電源下,也可以向器件提供電源,gnd 為地信號;vcc 為電源信號。圖 3-2 為ds18b20 檢測電路。 圖 3-2 ds18b20 檢測電路3.33.

28、3 lcd1602lcd1602 顯示模塊顯示模塊用 at89c52 的 p0 口作為數(shù)據(jù)線,用 p2.4、p2.5、p2.6 分別作為 lcd 的e、r/w、rs。其中 e 是下降沿觸發(fā)的片選信號,連接 p2.6,r/w 是讀寫信號,連接p2.5,rs 是寄存器選擇信號,連接 p2.4。圖 3-3 為 lcd1602 的硬件連接。 圖 3-3 lcd1602 的硬件連接vee 用連接阻值為 10k 的電阻,主要用于調(diào)節(jié)對比度的調(diào)整。接正電源時(shí)對比度最低,接地電源時(shí),對比度最高。對比度過高時(shí),會(huì)產(chǎn)生“鬼影” 。因此連接一10k 的電阻用以調(diào)整10。12四、四、 系統(tǒng)軟件的設(shè)計(jì)系統(tǒng)軟件的設(shè)計(jì) 一

29、個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,首先必須有較完善的硬件做保證。同時(shí)還必須得到相應(yīng)設(shè)計(jì)合理的軟件的支持,尤其是微機(jī)應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編和有時(shí)會(huì)變得很簡單。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源。程序設(shè)計(jì)語言有三種:機(jī)器語言、匯編語言、高級語言。本系統(tǒng)運(yùn)用的是高級語言所編寫,也就是 c 語言。4.14.1 主程序設(shè)計(jì)主程序設(shè)計(jì)從軟件的功能不同可分為四大類:一是檢測軟件,它是用來檢測溫度。二是顯示部分,用來顯示所檢測到的溫度。三是調(diào)控部分,用來控制馬達(dá)的轉(zhuǎn)速。四是當(dāng)溫度大于 35,蜂鳴器發(fā)出報(bào)警信號。

30、每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義。圖 4-1 為軟件設(shè)計(jì)流程圖。13開始初始化溫度檢測lcd 溫度顯示結(jié)束馬達(dá)帶動(dòng)風(fēng)扇發(fā)出警報(bào)信號大于 20 度大于 35 度小于 20 度圖 4-1 軟件設(shè)計(jì)流程圖4.24.2 溫度檢測溫度檢測4.2.1 讀取溫度設(shè)計(jì)dsl8b20 可以從單總線獲取電源,當(dāng)信號線為高電平時(shí),將能量貯存在內(nèi)部電容器中;當(dāng)單信號線為低電平時(shí),將該電源斷開,直到信號線變?yōu)楦唠娖街匦陆由霞纳娫礊橹?。此外,還可外接 5 v 電源,給 ds18b20 供電11。圖 4-214 圖 4-2 ds18b20 讀取溫度流程圖讀

31、取溫度子程序的主要功能是讀出 ram 中的 9 個(gè)字節(jié),在讀出時(shí)需進(jìn)行 crc 校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。ds18b20 的各個(gè)命令對時(shí)序的要求特別嚴(yán)格,所以必須按照所要求的時(shí)序才能達(dá)到預(yù)期的目的,同時(shí),要注意讀進(jìn)來的是高低位在后,低位在前,共 12 位數(shù),小數(shù) 4 位,整數(shù) 7 位,還有一位符號位。讀取溫度的主程序如下:unsigned int readtemperature(void)unsigned char a=0;unsigned int b=0;unsigned int t=0;init_ds18b20();writeonechar(0 xcc); / 跳過讀序號列號的

32、操作writeonechar(0 x44); / 啟動(dòng)溫度轉(zhuǎn)換delay(200);init_ds18b20();writeonechar(0 xcc); /跳過讀序號列號的操作 writeonechar(0 xbe); /讀取溫度寄存器等(共可讀 9 個(gè)寄存器) 前兩個(gè)就是15溫度a=readonechar(); /低位b=readonechar(); /高位b4; templ=temp&0 x0f; templ=templ*6/10;/小數(shù)近似處理 flag_get=0;4.34.3 液晶顯示器液晶顯示器 lcd1602lcd16024.3.1 lcd1602 初始化端口定義如下:17sb

33、it rs = p24;/pin4 sbit rw = p25; /pin5sbit e = p26;/pin6#define data p0 /數(shù)據(jù)端口 函數(shù)顯示子碼:用數(shù)組和指針將字符逐個(gè)顯示出來13。 /*/void showchar(unsigned char pos,unsigned char c) unsigned char p; if (pos=0 x10) p=pos+0 xb0; /是第二行則命令代碼高 4 位為 0 xc else p=pos+0 x80; /是第二行則命令代碼高 4 位為 0 x8 writecommand (p);/write command write

34、data (c); /write data/*/void showstring (unsigned char line,char *ptr) unsigned char l,i; l=line4; for (i=0;i20)&(temph25)&(temph30)&(temph35) /產(chǎn)生報(bào)警信號 tru=0; mdelay(30); fan=0; mdelay(150);/占空比為 0.9375 4.54.5 報(bào)警器的啟動(dòng)報(bào)警器的啟動(dòng)當(dāng)溫度低于 35時(shí),蜂鳴器不工作。當(dāng)檢測到的溫度高于 35時(shí),蜂鳴器發(fā)出頻率為 2hz 的報(bào)警聲。報(bào)警聲控制的主程序如下:if(temph35) /產(chǎn)生報(bào)警信

35、號 19 tru=0; mdelay(10); 頻率為 2hz fan=0; mdelay(150); 五、五、總結(jié)總結(jié) 通過這次對大棚溫度自動(dòng)控制的設(shè)計(jì)與制作,讓我們合作完成了一個(gè)完整的設(shè)計(jì),雖然這次的實(shí)習(xí)做的溫度顯示以及馬達(dá)的控制都相對比較簡單,但是也給將來進(jìn)入硬件開發(fā)有了一個(gè)起點(diǎn)的基礎(chǔ)。在這次實(shí)習(xí)的過程,剛開始的時(shí)候,真的有點(diǎn)不知所措,因?yàn)閷W(xué)習(xí)完單片機(jī)已有數(shù)日,以及微機(jī)原理課程,一些知識(shí)已忘記。幸好有三個(gè)星期的時(shí)間來準(zhǔn)備。畫電路原理圖,一開始就覺得有點(diǎn)煩,因?yàn)?protues軟件安裝的版本較低,做起來非常的費(fèi)時(shí)又費(fèi)力,一些芯片,還不可以仿真。常常有解決不了的問題,就上網(wǎng)查詢,或者閱覽資料

36、書。雖然這項(xiàng)工作枯燥無味,但鍛煉了我們的意志,耐性,堅(jiān)韌,和團(tuán)隊(duì)協(xié)作的能力。因?yàn)槌?huì)碰到很難解決的問題,所以要堅(jiān)持不懈。這次設(shè)計(jì)是一個(gè)學(xué)習(xí)新知識(shí)、鞏固加深所學(xué)課本理論知識(shí)的過程,它培養(yǎng)了我們綜合運(yùn)用知識(shí)的能力,獨(dú)立思考和解決問題的能力。它不僅加深了我對單片機(jī)技術(shù)課程的理解,還讓我感受到了電子設(shè)計(jì)的樂趣,也讓我更好的運(yùn)用word 文檔,對我來說,這次課程設(shè)計(jì)是非常有意義的。任務(wù)分配:本設(shè)計(jì)由闞侃同學(xué)完成硬件電路設(shè)計(jì),由曹東同學(xué)完成程序編譯,由詹躍斌同學(xué)完成報(bào)告編寫,本設(shè)計(jì)是由小組三人通力合作完成的一份課程設(shè)計(jì)。1六、六、參考文獻(xiàn)參考文獻(xiàn)1 謝自美,尹仕,肖看,趙云娣,羅杰.電子線路綜合設(shè)計(jì)m.武

37、漢:華中科技大學(xué)出版社, 2007.2 楊旭方.單片機(jī)控制與應(yīng)用實(shí)訓(xùn)教程m.北京: 電子工業(yè)出版社, 2010.5.3 夏繼強(qiáng). 單片機(jī)應(yīng)用設(shè)計(jì)培訓(xùn)教程m.北京:北京航空航天大學(xué)出版社, 2008.4 高峰.單片機(jī)微型計(jì)算機(jī)與接口技術(shù)m.北京:科學(xué)出版社.20035 李廣弟, 朱月秀, 王秀山. 單片機(jī)基礎(chǔ)m.北京:北京航空航天大學(xué)出版社, 2001.7.6 胡漢才.單片機(jī)原理及其接口技術(shù)m.北京: 清華大學(xué)出版社, 20047 求是科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航m.北京: 人民郵電出版社, 20048 王化詳,張淑英.傳感器原理m天津: 天津大學(xué)出版社, 2002.59 王港元.電工電子實(shí)

38、踐指導(dǎo)m江西: 江西科學(xué)技術(shù)出版社, 2005.610 楊素行著.模擬電子技術(shù)基礎(chǔ)(第二版) m.北京: 高等教育出版社, 2006.11 陳靜.單片機(jī)應(yīng)用系統(tǒng)中的編程語言j.淮北職業(yè)技術(shù)學(xué)院學(xué)報(bào).2009.8(1):43-44.12 仝慶華.基于 proteus 單片機(jī)虛擬實(shí)驗(yàn)室j.山西大同大學(xué)學(xué)報(bào)(自然科學(xué)版).2009.25(2):23-25.13 包敬海,侯昭武,吳國輝.基于 at89c52 單片機(jī)設(shè)計(jì)智能鍋爐控制系統(tǒng)j.北京中國科技信息.2009 14 周紅麗,張?zhí)扉_等基于單片機(jī)的九路溫度監(jiān)控系統(tǒng)j 青島:微計(jì)算機(jī)信息2008.15 劉華東,張亞華.單片機(jī)原理與應(yīng)用(第二版)m.北京

39、:電子工業(yè)出版社.2006:1-5.2附錄附錄 a a*-名稱:基本單片機(jī) at89c52 的大棚溫度自控系統(tǒng)-*/#include#includestdio.h#include#include#includelcd1602.h#define uchar unsigned char#define uint unsigned int;/*/* 定義端口 */*/sbit dq=p13;/ds18b20 端口sbit fan=p15; /風(fēng)扇端口sbit tru=p17;/喇叭的端口sfr dataled=0 x80;/顯示數(shù)據(jù)端口/*/* 全局變量 */*/uint temp,i,temph;u

40、char flag_get,count,num,minute,second,x;long str6;3/*/* 函數(shù)聲明 */*/void delay1(uchar ms);unsigned int readtemperature(void);void init_ds18b20(void);unsigned char readonechar(void);void writeonechar(unsigned char dat);void delay(unsigned int i);/*/* 延時(shí)函數(shù)聲明 */*/void mdelay(unsigned char j) unsigned int

41、i; for(;j0;j-) for(i=0;i20)&(temph25)&(temph30)&(temph35) /產(chǎn)生報(bào)警信號 tru=0; mdelay(10); fan=0; mdelay(150);5 for(i=1;i4; templ=temp&0 x0f; templ=templ*6/10;/小數(shù)近似處理 flag_get=0; /*/* 定時(shí)器中斷 */*/6void tim(void) interrupt 1 using 1/中斷,用于溫度檢測間隔th0=0 xef;/定時(shí)器重裝值tl0=0 xf0;num+;if (num=50) num=0; flag_get=1;/標(biāo)志

42、位有效 second+; if(second=60) second=0; /*/* 延時(shí)函數(shù) */*/void delay(unsigned int i)/延時(shí)函數(shù) while(i-);/*/* 初始化 */*/void init_ds18b20(void) unsigned char x=0; dq = 1; /dq 復(fù)位 delay(8); /稍做延時(shí)7 dq = 0; /單片機(jī)將 dq 拉低 delay(80); /精確延時(shí) 大于 480us dq = 1; /拉高總線 delay(10); x=dq; /稍做延時(shí)后 如果 x=0 則初始化成功 x=1 則初始化失敗 delay(5);/

43、*/* 讀一個(gè)字節(jié) */*/unsigned char readonechar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) dq = 0; / 給脈沖信號 dat=1; dq = 1; / 給脈沖信號 if(dq) dat|=0 x80; delay(5); return(dat);/*/* 寫一個(gè)字節(jié) */*/void writeonechar(unsigned char dat) unsigned char i=0;8 for (i=8; i0; i-) dq = 0; dq = dat&0 x01; delay

44、(5); dq = 1; dat=1; delay(5);/*/* 讀取溫度 */*/unsigned int readtemperature(void)unsigned char a=0;unsigned int b=0;unsigned int t=0;init_ds18b20();writeonechar(0 xcc); / 跳過讀序號列號的操作writeonechar(0 x44); / 啟動(dòng)溫度轉(zhuǎn)換delay(200);init_ds18b20();writeonechar(0 xcc); /跳過讀序號列號的操作 writeonechar(0 xbe); /讀取溫度寄存器等(共可讀 9 個(gè)寄存器) 前兩個(gè)就是溫度a=readonechar(); /低位b=readonechar(); /高位b=8;t=a+b;return(t);9附錄附錄 b b#include#include#includesbit rs = p24;/pin4sbit rw = p25; /pin5sbit e = p26;/pin6#define data p0 /數(shù)據(jù)端口unsigned char tem5;unsigned char secondlineunsigned char firstlineunsigned char time/*/* 函數(shù)聲明 */*/vo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論