版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p><b> 目 錄</b></p><p><b> 前言2</b></p><p> 1系統(tǒng)的總體設(shè)計(jì)3</p><p> 1.1 系統(tǒng)設(shè)計(jì)要求3</p><p>
2、; 1.2 系統(tǒng)工作原理及總體設(shè)計(jì)3</p><p><b> 2 硬件簡(jiǎn)介4</b></p><p> 1.1 STC89C52單片機(jī)4</p><p> 2.2溫度傳感器8</p><p> 2.3 LCD1602液晶顯示9</p><p> 2.4光敏電阻12<
3、/p><p> 3 硬件系統(tǒng)設(shè)計(jì)13</p><p> 3.1 溫度及光照度測(cè)試電路13</p><p> 3.2 A/D轉(zhuǎn)換電路15</p><p> 3.3 報(bào)警電路16</p><p> 3.4 繼電器電路17</p><p><b> 4 軟件設(shè)計(jì)18<
4、;/b></p><p> 4.1 系統(tǒng)總流程圖18</p><p> 4.2 溫度控制流程圖19</p><p> 4.3 光照度控制流程圖20</p><p> 4.4 鍵盤(pán)掃描流程圖21</p><p><b> 參考文獻(xiàn)22</b></p><
5、p> 花房溫度、光照度控制電路設(shè)計(jì)</p><p> 摘 要:隨著現(xiàn)在我們生活質(zhì)量的快速提高,溫室已成為現(xiàn)代農(nóng)業(yè)生產(chǎn)的基本設(shè)備。本文主要是在論述一種花房溫度、光照度控制系統(tǒng)的設(shè)計(jì)、工作原理及自動(dòng)控制。本設(shè)計(jì)系統(tǒng)以單片機(jī)為核心通過(guò)數(shù)字溫度傳感器、光敏電阻對(duì)花房的溫度和光照度進(jìn)行數(shù)據(jù)采集經(jīng)過(guò)A/D轉(zhuǎn)換器變換成數(shù)字量,其值由單片機(jī)處理,后由單片機(jī)控制如果超過(guò)我們預(yù)先設(shè)定的溫度、光照度限制范圍,報(bào)警模塊將進(jìn)行報(bào)
6、警。</p><p> 關(guān)鍵字:?jiǎn)纹瑱C(jī);溫度傳感器;光敏電阻;繼電器</p><p> Design of the Greenhouse Temperature Illumination Control Circuit </p><p> Abstract: Now with the rapid increase in the quality of our l
7、ife, the greenhouse has become a basic equipment of modern agricultural production. This paper is mainly on a room temperature, illumination control system design, working principle and automatic control. The design of t
8、he system with chip as the core of the digital temperature sensor, photosensitive resistance temperature and light intensity on the greenhouse data acquisition is carried out through the A/D converter transforms into th&
9、lt;/p><p> Key words: Single chip microcomputer; temperature sensor; photosensitive resistance; relay </p><p><b> 前言</b></p><p> 隨著社會(huì)發(fā)展,中國(guó)的農(nóng)業(yè)技術(shù)的研究和應(yīng)用,使農(nóng)業(yè)發(fā)展迅速,但是溫室花房是其一個(gè)
10、重要的組成部分。在現(xiàn)代農(nóng)業(yè)生產(chǎn)的重要環(huán)節(jié),是農(nóng)產(chǎn)品的生長(zhǎng)環(huán)境檢測(cè)和重要參數(shù)的控制。我們知道,溫室花房?jī)?nèi)花的生長(zhǎng)與空氣的溫度、二氧化碳的含量、土壤水分、光照強(qiáng)度有很大的關(guān)系。因此,溫室花房環(huán)境的檢測(cè)與動(dòng)態(tài)控制技術(shù)的發(fā)展,對(duì)我國(guó)的農(nóng)業(yè)現(xiàn)代化進(jìn)程產(chǎn)生深遠(yuǎn)的影響。</p><p> 在溫室溫度和濕度、光技術(shù)設(shè)施園藝工程由于其廣泛的密切紀(jì)律,技術(shù)含量高,得到了越來(lái)越多的關(guān)注世界各地,尤其是在一些發(fā)達(dá)國(guó)家,溫室溫度和濕度、
11、光照度幾乎是實(shí)現(xiàn)自動(dòng)檢測(cè)和自動(dòng)控制。我國(guó)現(xiàn)代溫室是在引進(jìn)過(guò)程和自我發(fā)展過(guò)程中不斷壯大的,在應(yīng)用的深度以及廣度的研究、國(guó)內(nèi)的相關(guān)技術(shù)規(guī)模和范圍與國(guó)外相比仍然還是有一定的差距。中國(guó)的溫室的目前現(xiàn)狀是,大多數(shù)溫室主要依靠手工管理與控制溫室的環(huán)境,缺乏立體的科學(xué)的指導(dǎo)技術(shù)。在對(duì)植物的栽培技術(shù)方面,沒(méi)有系統(tǒng)的科技技術(shù)而是完全憑借靠管理者的經(jīng)驗(yàn),不能自動(dòng)調(diào)整溫室中的溫度,光、水、肥、氣等植物生長(zhǎng)環(huán)境,只能通過(guò)手動(dòng)調(diào)節(jié)溫室內(nèi)的環(huán)境,這中技術(shù)方面的缺陷
12、和不成熟成為了優(yōu)質(zhì)栽培溫室作物的障礙,通過(guò)手動(dòng)調(diào)節(jié)溫室作物生長(zhǎng)環(huán)境造成了人力資源的浪費(fèi),而且也不能保證對(duì)溫室環(huán)境及時(shí)的控制與調(diào)節(jié)并,測(cè)量誤差大,隨意性強(qiáng),在一定的基礎(chǔ)上影響了植物生長(zhǎng)。為了克服上述缺點(diǎn),我們需要一個(gè)容易使用的自動(dòng)檢測(cè)與自動(dòng)控制系統(tǒng)。溫室環(huán)境與花卉、苗圃的生長(zhǎng)、發(fā)育密切相關(guān),環(huán)境監(jiān)測(cè)是實(shí)現(xiàn)溫室生產(chǎn)管理自動(dòng)化,科學(xué)化的基本保證,通過(guò)對(duì)監(jiān)測(cè)數(shù)據(jù)的分析,結(jié)合作物生長(zhǎng)規(guī)律,控制環(huán)境條件下,作物品質(zhì),高產(chǎn),高效。</p>
13、<p> 隨著計(jì)算機(jī)技術(shù)和傳感器技術(shù)[1]的快速發(fā)展,在自動(dòng)檢測(cè)與自動(dòng)控制系統(tǒng)領(lǐng)域發(fā)生了巨大的變化,現(xiàn)代農(nóng)業(yè)溫室的重要產(chǎn)品的實(shí)施,已被廣泛應(yīng)用在中國(guó)的大部分地區(qū)。溫室環(huán)境的自動(dòng)監(jiān)測(cè)和控制突出的進(jìn)步,由于其優(yōu)良的性能價(jià)格比,逐漸取代了傳統(tǒng)的溫度,光強(qiáng)度的控制措施。農(nóng)業(yè)溫室控制系統(tǒng)是實(shí)現(xiàn)溫室生產(chǎn)自動(dòng)化管理的基本保證。結(jié)合各種花卉,苗圃生長(zhǎng)規(guī)律,控制生長(zhǎng)條件,使植物在不適宜生長(zhǎng)的季節(jié),培養(yǎng)目標(biāo)是最終將花實(shí)現(xiàn)高產(chǎn)量,高質(zhì)量,給花
14、農(nóng)帶來(lái)巨大的經(jīng)濟(jì)效益。</p><p> 本系統(tǒng)設(shè)計(jì)是基于單片機(jī)的溫度、光強(qiáng)度自動(dòng)檢測(cè)及自動(dòng)控制原理設(shè)定的。這個(gè)溫度,光照強(qiáng)度檢測(cè)控制系統(tǒng)可以應(yīng)用到農(nóng)業(yè)生產(chǎn)中的溫室,實(shí)現(xiàn)溫度、光照強(qiáng)度的實(shí)時(shí)控制,是一種智慧、經(jīng)濟(jì)、科學(xué)的程序,比較適合推廣,從而促進(jìn)花卉,苗木生長(zhǎng),從而提高實(shí)收率,質(zhì)量成本,可以帶來(lái)很大的經(jīng)濟(jì)效益和社會(huì)效益給予我們的花農(nóng)。</p><p><b> 1系統(tǒng)的總體
15、設(shè)計(jì)</b></p><p> 1.1 系統(tǒng)設(shè)計(jì)要求</p><p> 本系統(tǒng)以溫度、光照度作為主要的控制參數(shù),來(lái)控制整個(gè)系統(tǒng)設(shè)計(jì),其主要功能有:</p><p> ?。?)實(shí)現(xiàn)對(duì)花房溫度、光照度的實(shí)時(shí)監(jiān)測(cè)、采集,測(cè)量空間的多點(diǎn)溫度、光照度數(shù)值。由單片機(jī)對(duì)數(shù)據(jù)進(jìn)行循環(huán)監(jiān)測(cè)采集、數(shù)值處理以及存儲(chǔ),實(shí)現(xiàn)花房的自動(dòng)化控制多點(diǎn)監(jiān)測(cè)</p>&l
16、t;p> ?。?)對(duì)監(jiān)測(cè)采集的數(shù)據(jù)超過(guò)預(yù)設(shè)置數(shù)值的及時(shí)報(bào)警系統(tǒng),及自動(dòng)控制系統(tǒng)能夠完全做出溫度或者光照度的參數(shù)處理,將花房的溫度、光照度調(diào)節(jié)到開(kāi)始設(shè)置的參數(shù)數(shù)值附近。</p><p> ?。?)能夠根據(jù)不同地點(diǎn)、時(shí)間、花卉種類(lèi)的不同,設(shè)定不同的參數(shù)值,可以使花卉在最佳適宜的環(huán)境下生長(zhǎng)。</p><p> 1.2 系統(tǒng)工作原理及總體設(shè)計(jì)</p><p> 1
17、.2.1 總體設(shè)計(jì)</p><p> 本系統(tǒng)以單片機(jī)為核心控制元器件,采用溫度、光照度測(cè)量、檢測(cè)及控制技術(shù),以溫度傳感器、光敏電阻為測(cè)量元件,構(gòu)成自動(dòng)化溫度、光照度測(cè)量、控制系統(tǒng)??煞譃闇囟?、光照度采集系統(tǒng)及液晶顯示模塊,報(bào)警系統(tǒng),以及溫度、光照度控制模塊,復(fù)位電路和晶振模塊。</p><p><b> 圖1系統(tǒng)結(jié)構(gòu)框圖</b></p><p&
18、gt; 1.2.2 工作原理</p><p> 利用單片機(jī)控制溫度傳感器、光敏電阻采集花房溫度和光照度,并反饋給單片機(jī)作出相應(yīng)的分析和處理,而單片機(jī)將處理的結(jié)果顯示在設(shè)備的LCD1602液晶顯示器上。當(dāng)花房的溫度、光照度不在設(shè)定適宜范圍情況時(shí),單片機(jī)控制報(bào)警器報(bào)警,同時(shí)向溫度光照度調(diào)節(jié)器發(fā)送信息,控制調(diào)節(jié)器調(diào)節(jié)花房溫度光照度,使其回歸正常范圍。當(dāng)花房空氣溫度超過(guò)設(shè)定值時(shí),溫度控制電路就會(huì)自動(dòng)控制電路,打開(kāi)排氣
19、扇設(shè)置在花房頂部的噴霧設(shè)備的進(jìn)行一段時(shí)間的降溫,而當(dāng)溫室溫度低于設(shè)定值時(shí),則通過(guò)單片機(jī)自動(dòng)開(kāi)啟加熱設(shè)備,使溫度值達(dá)到適宜的范圍。光照度高與設(shè)定值范圍時(shí),系統(tǒng)光照度控制電路自動(dòng)控制打開(kāi)花房頂部的遮陽(yáng)網(wǎng),避免陽(yáng)光直射作物,減小光照度,以減少?gòu)?qiáng)光對(duì)作物生長(zhǎng)的影響。當(dāng)光照度低與設(shè)定值時(shí),就回自動(dòng)關(guān)閉遮陽(yáng)網(wǎng),增加光照度,從而使光照度保持在合適的范圍內(nèi)。</p><p><b> 2硬件簡(jiǎn)介</b>&
20、lt;/p><p> 1.1STC89C52單片機(jī)</p><p> 1.1.1STC89C52的主要特性</p><p> STC89C52RC 單片機(jī)[2]是新一代高速/低功耗/超強(qiáng)抗干擾的單 片機(jī),指令代碼完全兼容傳統(tǒng) 8051單片機(jī),12 時(shí)鐘/機(jī)器周期和 6 時(shí)鐘/機(jī)器周期可以任意選擇。</p><p><b> 其主
21、要特點(diǎn)有:</b></p><p> 1.8051增強(qiáng)型單片機(jī)可以任意選擇6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期,指令代碼完全可以與傳統(tǒng) 8051單片機(jī)相兼容。</p><p> 2.工作電壓:5.5V~3.3V(5V 單片機(jī))/3.8V~2.0V(3V 單片機(jī)) ;單片機(jī)工作頻率范圍:0~40MHz,而對(duì)于普通 8051的 0~80MHz。</p><p
22、> 3.單片機(jī)程序應(yīng)用空間為 8K 字節(jié) ,片上集成 512 字節(jié) RAM 。</p><p> 4.通用 I/O 口 (32 個(gè))復(fù)位后為:P1、P2、P3、P4 是并行雙向I/O接口, P0 口輸出是漏極開(kāi)路電路,當(dāng)用為總線(xiàn)擴(kuò)展時(shí),不需要外接上拉電阻,而作為 I/O 口用時(shí),則需外接上拉電阻。 </p><p> 5.具有ISP(系統(tǒng)可編程)/IAP(應(yīng)用可編程),不必用專(zhuān)
23、用編程器,也不必用專(zhuān)用仿真器,直接利用串口(RxD/P3.0,TxD/P3.1)下載客戶(hù)程序,幾秒即可完成好多。</p><p> 6.具有 EEPROM 功能 ; 具有看門(mén)狗功能 </p><p> 7.共 3 個(gè) 16 位定時(shí)器/計(jì)數(shù)器。即定時(shí)器 T0、T1、T2</p><p> 8.外部中斷 4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模
24、式可 由外部中斷低電平觸發(fā)中斷方式喚醒 </p><p> 2.1.2 STC89C52的引腳圖</p><p> 圖2 STC89C52的引腳圖</p><p> VCC(40 引腳):電源電壓</p><p> GND(20 引腳):接地 </p><p> RST(9 引腳):復(fù)位方式輸入。當(dāng)輸入連續(xù)2
25、4個(gè)時(shí)鐘周期以上高電平時(shí),系統(tǒng)開(kāi)始用來(lái)完成單片機(jī)內(nèi)部的復(fù)位初始化操作。復(fù)位期間,ALE、PSEN輸出高電平。</p><p> XTAL1(19 引腳) :振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。</p><p> XTAL2(18 引腳) :振蕩器反相放大器的輸入端。</p><p> ALE/ ROG (30 引腳) 地址鎖存控制信號(hào)輸出端 :在訪問(wèn)片
26、外程序存儲(chǔ)器期間,下降沿用于鎖存P0輸出的低 8 位地址的輸出脈沖[3]。在編程時(shí),此引腳(ROG)用作編程脈沖輸入端。 </p><p> 2.1.3 復(fù)位電路</p><p> 復(fù)位引腳(Reset)為第 9 腳,當(dāng)此引腳連接高電平超過(guò) 2 個(gè)機(jī)器周期,即可產(chǎn)生復(fù)位的動(dòng)作。以12MHz 的時(shí)鐘脈沖為例,每個(gè)時(shí)鐘脈沖 1us,兩個(gè)機(jī)器周期為 12us,因此,在第 9 腳上外接一個(gè) 1
27、2us 以 上的高電平脈沖,此時(shí)就可以產(chǎn)生復(fù)位的動(dòng)作。而對(duì)于上電復(fù)位,在復(fù)位引腳上外接了一個(gè)電容,當(dāng)復(fù)位引腳接 +5 V電壓時(shí),此時(shí)的電容是作為短路的,經(jīng)過(guò)一小段時(shí)間后,電容就將會(huì)處于充電的狀態(tài),此刻的電路是相當(dāng)于斷開(kāi)的。另外的一種就是手動(dòng)復(fù)位了,其的接法就是在 STC89C52 的復(fù)位引腳外接的電容上并聯(lián)連接一個(gè)開(kāi)關(guān)。在當(dāng)開(kāi)關(guān)沒(méi)有按下去的時(shí)候,此時(shí)的電容是處于充電狀態(tài)的;而當(dāng)在按鈕按下時(shí)候,此時(shí)的電容就將開(kāi)始放電,因此,在復(fù)位引腳上產(chǎn)
28、生了高電平,達(dá)到了電路復(fù)位的作用。 </p><p> 圖3 復(fù)位電路原理圖</p><p> 2.1.4 晶振電路</p><p> 晶振電路是用來(lái)給單片機(jī)提供時(shí)鐘信號(hào)的。晶振有兩種其中包含有源晶振與無(wú)源晶振,是時(shí)鐘電路中最重要的部件之一,晶振的作用是向IC等部件提供相應(yīng)的基準(zhǔn)頻率。XTAL1是單片機(jī)作為時(shí)鐘電路反向放大器的輸入端,XTAL2是單片機(jī)作為時(shí)鐘
29、電路反向放大器的輸出端,這個(gè)反向放大器是能夠用作片內(nèi)振蕩器的配置而使用的,在這其中石晶振蕩器和陶瓷振蕩器都是可以使用的。當(dāng)我們?cè)趯?shí)際的應(yīng)用中使用外部時(shí)鐘源驅(qū)動(dòng)器件時(shí),此時(shí)的XTAL2是需要不接的[4]。而對(duì)于輸入到時(shí)鐘電路內(nèi)部連接的時(shí)鐘信號(hào),是需要一個(gè)二分頻觸發(fā)器來(lái)實(shí)現(xiàn)的,在實(shí)際的應(yīng)用中,對(duì)外部連接時(shí)鐘信號(hào)的脈寬是不需要做什么要求的,但首先是要求脈沖的高低電平與電路所要求得電平是一樣的。</p><p> 圖4
30、 晶振電路原理圖</p><p> 2.1.5 電源電路</p><p> 圖5 電源電路原理圖</p><p> 系統(tǒng)的電源電路由電源和二極管組成,為整個(gè)電路提供電源,使整個(gè)系統(tǒng)能夠正常工作。</p><p> 2.1.6 鍵盤(pán)電路</p><p><b> 圖6 鍵盤(pán)電路</b>&l
31、t;/p><p> 這個(gè)系統(tǒng)采用的鍵盤(pán)電路是利用最簡(jiǎn)單的低電平掃描方式實(shí)現(xiàn)的,利用開(kāi)關(guān)的一端與單片機(jī)I/O口相連接方式,另一端是用接地的方式,用單片機(jī)來(lái)檢測(cè)I/O口是否是低電平,此目的是來(lái)判斷鍵盤(pán)是否被按下。</p><p><b> 2.2 溫度傳感器</b></p><p> 2.2.1 DS18B20溫度傳感器的特性</p>
32、<p> DS18B20數(shù)字溫度傳感器是DALLAS公司生產(chǎn)的1-Wire,被我們稱(chēng)之為單總線(xiàn)器件,其特點(diǎn)是線(xiàn)路非常的簡(jiǎn)單、外形也是很小的。因此,如果把它來(lái)用作組成測(cè)量溫度電路的器件,線(xiàn)路相當(dāng)?shù)暮?jiǎn)單,只需要在一根通信線(xiàn)上就能夠放好多和DS18B20一樣的數(shù)字溫度計(jì),使用也是很方便的。</p><p> DS18B20溫度傳感器的特點(diǎn)</p><p> 1. 只需要一個(gè)端
33、口I/O就能夠?qū)崿F(xiàn)通信。</p><p> 2.在DS18B20中的每個(gè)器件上都有獨(dú)一無(wú)二的序列號(hào)。</p><p> 3.在實(shí)際的應(yīng)用中實(shí)現(xiàn)檢測(cè)溫度是不用任何外部元器件的。</p><p> 4.每次把溫度轉(zhuǎn)換為數(shù)字需要的時(shí)間為200ms。</p><p> 5.測(cè)量溫度范圍在-55oC到+125oC之間,精確度在0.5度。<
34、/p><p> 6.數(shù)字溫度計(jì)的分辨率用戶(hù)可以從實(shí)現(xiàn)9位到12位選擇方式。</p><p> 7.其內(nèi)部可以有溫度上、下限設(shè)置報(bào)警。</p><p> 8.具有負(fù)壓特性,當(dāng)電源極性給接反時(shí),溫度計(jì)是不能正常工作的,但也不會(huì)由于發(fā)熱而被燒毀[5]。</p><p> 2.2.2 DS18B20的內(nèi)部結(jié)構(gòu)</p><p&g
35、t; DS18B20其的內(nèi)部是由3部分組成的:</p><p> 1. 具有64 位激光只讀存貯器,在這里存放著每個(gè) DS18B20 的唯一的序號(hào) ,開(kāi)始 8 位是產(chǎn)品類(lèi)型的編號(hào)(DS18B20 為 10H) ,接著是每個(gè)器件的唯一的序號(hào) ,共有 48 位 ,最后 8 位是前 56 位的 CRC 校驗(yàn)碼這也是多個(gè) DS18B20 可以采用一線(xiàn)進(jìn)行通信的原因。 </p><p>
36、2. 溫度傳感器,它是將溫度轉(zhuǎn)化為數(shù)字量的關(guān)鍵部分。</p><p> 3.DS18B20 的存貯器,它由高速存貯器RAM和EERAM(高溫TH和低溫TL報(bào)警觸發(fā)器)組成,數(shù)據(jù)首先寫(xiě)入高速存貯器 RAM 中 ,然后通過(guò)復(fù)制命令將數(shù)據(jù)寫(xiě)入 EERAM 中。高速存貯器 RAM 由8 個(gè)字節(jié)組成 ,頭兩個(gè)字節(jié)存放檢測(cè)溫度的值,0號(hào) (LSB) 為存放溫度的值,1 號(hào) (MSB) 存放溫度值的符號(hào) ,如果溫度為負(fù) ,則
37、1號(hào)存貯器全為1 ,否則全為0,這也是可用 9bit 來(lái)表示溫度的原因。最低位先讀出。若LSB最低位為1 ,則表示為0.5度 ,求值的方法根據(jù)MSB中的值將LSB中的二進(jìn)制數(shù)求補(bǔ)再轉(zhuǎn)換成十進(jìn)制數(shù)除以 2 即得被測(cè)溫度的值[6]。表 2是溫度和數(shù)字量的關(guān)系。第二和第三字節(jié)是從TH和TL中復(fù)制的值,當(dāng)上電被更新;接下來(lái)兩個(gè)字節(jié)沒(méi)用 ,若讀它應(yīng)全為1 ;第六和第七字節(jié)為計(jì)數(shù)寄存器;最后一個(gè)字節(jié)為 CRC 校驗(yàn)。</p><
38、p> 2.2.2 DS18B20的引腳及指令表</p><p><b> GND:電源地</b></p><p> DQ:為數(shù)字信號(hào)輸入/輸出端</p><p> VDD:為外接供電電源輸入端(在寄生電源線(xiàn)方式時(shí)接地)</p><p> 表1 DS18B20的ROM指令表</p><
39、p> 2.3 LCD1602液晶顯示</p><p> 2.3.1 LCD1602簡(jiǎn)述</p><p> 字符型液晶顯示模塊是一種專(zhuān)門(mén)用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16×1,16×2,20×2和40×2行等模塊。1602型LCD顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。1602型LCD可以顯示2行16個(gè)字符,有8
40、位數(shù)據(jù)總線(xiàn)D0-D7和RS,R/W,EN三個(gè)控制端口,其工作時(shí)需要的電壓為5V,有兩個(gè)功能字符:對(duì)比度調(diào)節(jié)與背光調(diào)節(jié)。它還有若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形。</p><p> 2.3.2 LCD1602引腳</p><p> VSS:為電源地。
41、 </p><p> VDD:接5V電源正極。 </p><p> VL:是作為L(zhǎng)CD1602液晶顯示器的對(duì)比度調(diào)整端,當(dāng)接正電源時(shí)此刻的對(duì)比度最小的,當(dāng)接地電源時(shí)此刻的對(duì)比度最大。</p><p> RS:是寄存器的選擇作用,當(dāng)高電平為1時(shí)是用作選擇數(shù)據(jù)寄存器、當(dāng)?shù)碗娖綖?時(shí)是作為選擇指令寄存器。 </p><p> R/W:是作為
42、讀寫(xiě)信號(hào)使用,當(dāng)為高電平1時(shí)是讀操作功能,當(dāng)為低電平0時(shí)是寫(xiě)操作功能。當(dāng)為低電平時(shí)RS和R/W可以作為寫(xiě)入指令或顯示地址使用,當(dāng)RS是低電平0時(shí),R/W為高電,1時(shí)此時(shí)只可以讀忙信號(hào),當(dāng)RS為高電平1時(shí),R/W為低電平0時(shí)此時(shí)只可以寫(xiě)入數(shù)據(jù)[8]。 </p><p><b> E:端為使能端。 </b></p><p> D0~D7:為8位雙向數(shù)據(jù)端。 </
43、p><p> BLA~BLK:空腳或背燈電源。</p><p><b> 15腳:背光正極</b></p><p><b> 16腳:背光負(fù)極</b></p><p> 圖7 LCD1602液晶顯示原理圖</p><p> 2.3.3 LCD1602指令表</p&
44、gt;<p> 表2 LCD1602的指令表</p><p> LCD1602的液晶顯示指令編碼顯示是通過(guò)屏幕、讀寫(xiě)操作來(lái)實(shí)現(xiàn)與對(duì)光標(biāo)進(jìn)行操作來(lái)實(shí)現(xiàn)。</p><p> 指令1:清除顯示,指令碼01H,作用是使光標(biāo)在00H地址位置進(jìn)行復(fù)位。</p><p> 指令2:光標(biāo)復(fù)位,使光標(biāo)能夠回到00H的地址。</p><p>
45、; 指令3:使用顯示模式方式和光標(biāo)移動(dòng)方式來(lái)進(jìn)行設(shè)置 I/D:光標(biāo)是表示移動(dòng)方向的,高電平1是右移的,低電平0是左移的; S:是用來(lái)決定屏幕上全部的文字是否進(jìn)行選擇左移或是選擇右移。高電平1是用來(lái)表示有作用的,低電平0是用來(lái)表示不起作用的。</p><p> 指令4:是用來(lái)作為顯示開(kāi)關(guān)控制的作用 其中D:是用來(lái)控制顯示整個(gè)電路的開(kāi)與關(guān)作用,高電平1是開(kāi)顯示的表示,低電平0是關(guān)顯示的表示;C:是用來(lái)作為光標(biāo)開(kāi)與
46、關(guān)的控制作用,高電平1表明是有光標(biāo)的,低電平0表示沒(méi)有光標(biāo) B:是用來(lái)作為光標(biāo)是否閃爍的控制,高電平1表明是閃爍,低電平0則表示不閃爍。</p><p> 指令5:是作為顯示移位光標(biāo)或者是顯示文字的作用。S/C:高電平1時(shí)是用來(lái)顯示文字的,低電平0時(shí)是用來(lái)移動(dòng)光標(biāo)的。</p><p> 指令6:是表示功能設(shè)置命令。DL:高電平1時(shí)是表示有總線(xiàn)的數(shù)量是4位,低電平0時(shí)是表明有總線(xiàn)的數(shù)量是
47、8位的;N:低電平0時(shí)表示為顯示單行,高電平1時(shí)表示為顯示雙行; F: 低電平0時(shí)表示顯示的點(diǎn)陣字符是5x7形式的,高電平1時(shí)表明顯示點(diǎn)陣字符是5x10形式的。</p><p> 指令7:是表示設(shè)置RAM的地址。</p><p> 指令8:是用來(lái)設(shè)置DDRAM的地址。</p><p> 指令9:是作為讀取光標(biāo)的地址和忙碌信號(hào)。BF:是讀取忙碌信號(hào)的標(biāo)志位,高電
48、平1是表示忙碌,此刻的模塊是不能收到命令或接收到數(shù)據(jù)的,低電平0則表示不忙的,此時(shí)的模塊式可以接收數(shù)據(jù)或者接收命令的。</p><p> 指令10:是表示寫(xiě)數(shù)據(jù)的。</p><p> 指令11:是表示讀數(shù)據(jù)的。</p><p><b> 2.4 光敏電阻</b></p><p> 2.4.1 光敏電阻的簡(jiǎn)介<
49、;/p><p> 光敏電阻是一種特殊的電阻器件,其是利用半導(dǎo)體的光電導(dǎo)效應(yīng)而制成的,因此對(duì)光線(xiàn)是非常的敏感,光敏電阻的電阻值是與外界光照強(qiáng)弱或明暗都是有密切關(guān)系的。其在沒(méi)有光照射的情況下,表現(xiàn)出來(lái)的是高阻狀態(tài);當(dāng)有光照射時(shí),其電阻值是會(huì)快速減小的。光敏電阻是在于各種控制電路(如自動(dòng)照明燈控制電路、自動(dòng)報(bào)警電路等)、家用電器(如電視機(jī)中的高度自動(dòng)調(diào)節(jié),照相機(jī)中的自動(dòng)曝光控制等)及各種測(cè)量?jī)x器中等領(lǐng)域中得到廣泛的應(yīng)用。
50、</p><p> 該系統(tǒng)可通過(guò)光敏電阻將光照強(qiáng)弱信號(hào)轉(zhuǎn)化為電信號(hào)通過(guò)發(fā)光二極管顯示以及通過(guò)蜂鳴器報(bào)警從而成為光照強(qiáng)度自動(dòng)顯示檢測(cè)系統(tǒng)。光照強(qiáng)度不同光明傳感器的組織不同,當(dāng)光照強(qiáng)度很強(qiáng)時(shí),光敏傳感器的阻值很小,當(dāng)光照強(qiáng)度弱時(shí), 光敏傳感器的組織很大,當(dāng)光照強(qiáng)度適宜時(shí)光敏傳感器的阻值介于強(qiáng)光和弱光的阻值之間。因此可以通過(guò)光敏傳感器將光信號(hào)變?yōu)殡娦盘?hào),并可以利用光照傳感器受光照不同阻值不同產(chǎn)生的電信號(hào)不同從而顯示不
51、同的信號(hào)。</p><p> 2.4.2 光敏電阻的的主要特性</p><p> 1.光電流、亮電阻。光敏電阻器在一定的外加電壓下,當(dāng)有光照射時(shí),流過(guò)光敏電阻器的電流被我們稱(chēng)之為光電流,其外加在光敏電阻器的電壓和光電流之比被我們稱(chēng)之為亮電阻,常用“100LX”來(lái)進(jìn)行表示。 </p><p> 2.暗電流、暗電阻。當(dāng)有一定數(shù)量的外在電壓加在光敏電阻器下時(shí),也沒(méi)有
52、光照射的情況下,此時(shí)流過(guò)光敏電阻器的電流被我們稱(chēng)之為暗電流。光敏電阻器外接加在其上的電壓和暗電流之間的比值被稱(chēng)作為暗電阻,常用“0LX”表示。 </p><p> 3.靈敏度。我們把光敏電阻其在不受到光照強(qiáng)度時(shí)的電阻值(暗電阻)與受到光照強(qiáng)度時(shí)的電阻值(亮電阻)之間的相對(duì)變化值稱(chēng)之為靈敏度。 </p><p> 4.在有一定外接電壓作用下,其光敏電阻的光電流和光通量之間的相互關(guān)系如下所
53、示:雖不同類(lèi)型的光敏電阻有不同的光照特性,但是光照特性的曲線(xiàn)表現(xiàn)出來(lái)是非線(xiàn)性特性。所以,光敏電阻是不適合作為給予一定數(shù)量的檢測(cè)元件來(lái)使用的,這些都是由于光敏電阻的不足引起的。光敏電阻通常在自動(dòng)化控制的系統(tǒng)中作為光電開(kāi)關(guān)來(lái)使用。 </p><p> 5.光敏電阻表現(xiàn)的伏安特性。在有一定的光照度情況下,連接加在光敏電阻兩端之間的電流與電壓之間的相互關(guān)系,這種關(guān)系被稱(chēng)之為伏安特性。在給一定偏
54、壓的情況下,當(dāng)光照強(qiáng)度比較大時(shí),光電流也會(huì)隨之比較大。當(dāng)在給定的光照度下,當(dāng)其加的電壓較大時(shí),光電流也是較大的,且是沒(méi)有飽和現(xiàn)象的。但是其的電壓是不可以沒(méi)有限制的增大的,是由于無(wú)論什么光敏電阻都會(huì)受到額定工作功率、最大工作電壓電以及最大額定電流的限制。</p><p> 6.在當(dāng)光敏電阻接受脈沖光照射時(shí)候,光電流是需要經(jīng)過(guò)一定時(shí)間才可以到達(dá)穩(wěn)定值,但是當(dāng)光照停止以后,光電流是不會(huì)立刻表現(xiàn)為0值得,這就是被我們稱(chēng)
55、之為光敏電阻的時(shí)延特性。因?yàn)?,不同種類(lèi)材料的光敏電阻的時(shí)延特性是不近相同的,因此,其的頻率特性也是不近相同的。</p><p><b> 3 硬件系統(tǒng)設(shè)計(jì)</b></p><p> 3.1 溫度及光照度測(cè)試電路</p><p> 由于在本系統(tǒng)中采用了DS18B20數(shù)字溫度傳感器[9],所以后續(xù)電路簡(jiǎn)單,只需將傳感器的數(shù)據(jù)輸入/輸出管腳直接
56、接到單片機(jī)I/O口,通過(guò)單片機(jī)的控制DS18B20傳感器并實(shí)時(shí)讀取花房空氣溫度。數(shù)字溫度傳感器的測(cè)量電路如下圖:</p><p> 圖8 溫度傳感器電路</p><p> 系統(tǒng)采用價(jià)格低廉的光敏電阻測(cè)量光照度,由于沒(méi)有良好的線(xiàn)性,因此只能大致的測(cè)量。根據(jù)光敏電阻在不同的光照下有不同的阻值,經(jīng)過(guò)A/D轉(zhuǎn)換后輸入到單片機(jī)內(nèi)進(jìn)行處理。其中ADC0804與光敏電阻的連接如下圖所示</p&
57、gt;<p> 圖9 光照度測(cè)試電路</p><p> 3.2 A/D轉(zhuǎn)換電路</p><p> ADC0804為8bit一路的A/D轉(zhuǎn)換器其輸入電壓范圍在0—5v,轉(zhuǎn)換速度小于100us,轉(zhuǎn)換精度0.39,滿(mǎn)足設(shè)計(jì)的精度要求。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。</p><p> 3.2.1 ADC0804的特性</p&
58、gt;<p> (1) 高阻抗?fàn)顟B(tài)輸出 </p><p> (2) 分辨率:8 位(0-255) </p><p> (3) 存取時(shí)間:135 ms </p><p> (4) 轉(zhuǎn)換時(shí)間:100 ms </p><p> (5) 總誤差:-1—+1LSB </p><p> (6
59、) 工作溫度:ADC0804C為0度-70度;ADC0804L為-40 度-85度 </p><p> (7) 模擬輸入電壓范圍:0V-5V </p><p> (8) 參考電壓:2.5V</p><p> (9) 工作電壓:5V </p><p> (10) 輸出為三態(tài)結(jié)構(gòu)</p><p> 3.2.
60、2 ADC0804的引腳圖</p><p> CS:與RD、WR 接腳的輸入電壓高低一起判斷讀取或?qū)懭肱c否,當(dāng)其為低位準(zhǔn)(low) 時(shí)會(huì)active。</p><p> RD:當(dāng)CS 、RD 皆為低位準(zhǔn)(low) 時(shí),ADC0804 會(huì)將轉(zhuǎn)換后的數(shù)字訊號(hào)經(jīng)由DB7 -DB0 輸出至其它處理單元[10]。</p><p> WR:?jiǎn)?dòng)轉(zhuǎn)換的控制訊號(hào)。當(dāng)CS 、
61、WR 皆為低位準(zhǔn)(low) 時(shí)ADC0804 做清除的動(dòng)作,系統(tǒng)重置。當(dāng)WR 由0→1且CS =0 時(shí),ADC0804會(huì)開(kāi)始轉(zhuǎn)換信號(hào),此時(shí)INTR 設(shè)定為高位準(zhǔn)(high)。</p><p> CLKIN、CLKR:頻率輸入/輸出。頻率輸入可連接處理單元的訊號(hào)頻率范圍為100 kHz 至800 kHz。而頻率輸出頻率最大值無(wú)法大于640KHz,一般可選用外部或內(nèi)部來(lái)提供頻率。若在CLK R 及CLK IN 加上
62、電阻及電容,則可產(chǎn)生ADC 工作所需的時(shí)序。</p><p> INTR:中斷請(qǐng)求。轉(zhuǎn)換期間為高位準(zhǔn)(high),等到轉(zhuǎn)換完畢時(shí)INTR 會(huì)變?yōu)榈臀粶?zhǔn)(low)告知其它的處理單元已轉(zhuǎn)換完成,可讀取數(shù)字?jǐn)?shù)據(jù)。</p><p> VIN(+)、VIN(-):差動(dòng)模擬訊號(hào)的輸入端。輸入電壓VIN=VIN(+) -VIN(-),通常使用單端輸入,而將VIN(-)接地。</p>&
63、lt;p> AGND:模擬電壓的接地端。</p><p> DGND:數(shù)字電壓的接地端。</p><p> VREF/2:模擬參考電壓輸入端。VREF 為模擬輸入電壓VIN 的上限值。若PIN9空接則VIN 的上限值即為VCC。</p><p> DB7 - DB0:轉(zhuǎn)換后之?dāng)?shù)字?jǐn)?shù)據(jù)輸出端。 </p><p> VCC:驅(qū)動(dòng)
64、電壓輸入端。</p><p> 圖10 ADC0804引腳圖</p><p><b> 3.3 報(bào)警電路</b></p><p> 圖11 報(bào)警電路原理圖</p><p> 當(dāng)花房的空氣溫度或光照度不在設(shè)定值范圍時(shí)蜂鳴器就會(huì)自動(dòng)報(bào)警并且LED燈同時(shí)也會(huì)亮以告知工作人員,此時(shí)花房的溫度或光照度不在設(shè)定的范圍值之內(nèi)
65、[11]。</p><p><b> 3.4 繼電器電路</b></p><p> 單片機(jī)是一個(gè)弱電器件,在一般的情況下它們大部分都是工作在5V甚至更低的電壓下的。在這里,繼電器驅(qū)動(dòng)是有兩個(gè)方面意思的:一是對(duì)繼電器進(jìn)行驅(qū)動(dòng),因?yàn)槔^電器本身對(duì)于單片機(jī)來(lái)說(shuō)是作為一個(gè)功率的器件來(lái)使用的;另一個(gè)是繼電器是用來(lái)作為驅(qū)動(dòng)其它負(fù)載而使用的,例如:繼電器是被用來(lái)作中間繼電器的驅(qū)動(dòng)
66、使用的,可以直接驅(qū)動(dòng)接觸器,因此,繼電器驅(qū)動(dòng)其實(shí)就是作單片機(jī)與其它大功率的負(fù)載接口而使用的。</p><p> 圖12繼電器驅(qū)動(dòng)電路原理圖</p><p> 圖中的三極管是作開(kāi)關(guān)使用的,當(dāng)單片機(jī)輸出高電平1時(shí),三極管就會(huì)導(dǎo)通,繼電器表現(xiàn)出吸合的狀態(tài)。當(dāng)單片機(jī)輸出低電平0時(shí),繼電器就會(huì)斷開(kāi)[12]。二極管是作為保護(hù)使用的,是防止繼電器產(chǎn)生的感應(yīng)電動(dòng)勢(shì)燒壞三極管或繼電器。</p>
67、;<p><b> 4 軟件設(shè)計(jì)</b></p><p> 4.1 系統(tǒng)總流程圖</p><p> 這個(gè)系統(tǒng)軟件的設(shè)計(jì)是通過(guò)模塊化的設(shè)計(jì)思路來(lái)實(shí)現(xiàn)的,整個(gè)軟件系統(tǒng)的程序是用好多子程序模塊來(lái)組成的。整個(gè)軟件系統(tǒng)的程序可分為四個(gè)大模塊,即主程序模塊、參數(shù)設(shè)置程序模塊、花房數(shù)據(jù)采集顯示模塊和繼電器控制處理程序模塊。每個(gè)模塊都具有一定的功能,每個(gè)模塊又可分
68、為許多子模塊,既相互獨(dú)立又相互聯(lián)系,低級(jí)模塊可以被高級(jí)模塊調(diào)用。</p><p> 圖13 系統(tǒng)總體流程圖</p><p> 4.2 溫度控制流程圖</p><p> 圖14溫度控制流程圖</p><p> 單片機(jī)通過(guò)溫度傳感器DB18B20檢測(cè)、采集花房空氣溫度,而當(dāng)花房溫度低于設(shè)定適宜范圍值時(shí),則通過(guò)單片機(jī)控制繼電器驅(qū)動(dòng)打開(kāi)加熱設(shè)
69、備工作,使花房溫度值達(dá)到適宜的范圍值;當(dāng)空氣溫度超過(guò)設(shè)定適宜范圍值時(shí)[13],就通過(guò)繼電器控制電路,打開(kāi)排氣扇配合設(shè)置在花房頂部的噴霧設(shè)備的進(jìn)行一段時(shí)間的降溫,使花房溫度達(dá)到設(shè)定適宜范圍值內(nèi)。如果檢測(cè)的溫度在適宜范圍,單片機(jī)將維持現(xiàn)狀。</p><p> 4.3 光照度控制流程圖</p><p> 圖15 光照度控制流程圖</p><p> 光照度的控制主要靠
70、遮陽(yáng)網(wǎng)的開(kāi)關(guān),當(dāng)光照度低于設(shè)定適宜范圍值時(shí),單片機(jī)就控制遮陽(yáng)網(wǎng)繼電器設(shè)備閉合,打開(kāi)花房頂部遮陽(yáng)網(wǎng),增加光照度。光照度高于設(shè)定適宜范圍值時(shí),系統(tǒng)通過(guò)控制繼電器設(shè)備斷開(kāi),關(guān)閉遮陽(yáng)網(wǎng),避免陽(yáng)光直射作物,減小光照度,使花房的光照度在適宜的范圍值內(nèi),這樣可以減少?gòu)?qiáng)光對(duì)花卉及苗圃生長(zhǎng)的影響[14]。如果檢測(cè)的光照度在適宜范圍,單片機(jī)將維持現(xiàn)狀。</p><p> 4.4 鍵盤(pán)掃描流程圖</p><p&g
71、t; 圖16鍵盤(pán)掃描流程圖</p><p> 鍵盤(pán)掃描程序開(kāi)始時(shí)先掃描按鍵,判斷是否有按鍵被按下,確定有按鍵被按下時(shí)判斷被按下的是哪一個(gè)按鍵,如果是按鍵S3,系統(tǒng)將開(kāi)始設(shè)置,這時(shí)按鍵S4和S5被啟用,進(jìn)入哪個(gè)參數(shù)的設(shè)置取決于按鍵S3被按下的次數(shù),S3被按下1次,進(jìn)行光照度值設(shè)置,S3被按下2次,進(jìn)行溫度值設(shè)置,當(dāng)按下第3次,返回正常顯示,按鍵S4和S5被禁用。按鍵S4和S5作用是調(diào)節(jié)參數(shù)值,每次按下S4,當(dāng)前
72、設(shè)置的參數(shù)值就加一。每次按下S5,當(dāng)前設(shè)置的參數(shù)值就減一[15]。如果是S6鍵被按下,則開(kāi)始進(jìn)行切換,S6按下1次是顯示設(shè)置溫度和花房溫度,S6按下2次是顯示設(shè)置光照度和花房光照度。</p><p><b> 總結(jié)</b></p><p> 此花房控制系統(tǒng)設(shè)計(jì)綜合利用單片機(jī)技術(shù)、傳感器技術(shù)、數(shù)字電子技術(shù)、A/D轉(zhuǎn)換技術(shù)和LCD1602顯示等知識(shí),完成了基于單片機(jī)的
73、溫度、光照度和顯示裝置的設(shè)計(jì)。系統(tǒng)簡(jiǎn)單介紹了硬件的組成和相應(yīng)的設(shè)計(jì)方法,并利用單片機(jī)(STC89C52)C語(yǔ)言完成了系統(tǒng)軟件的相應(yīng)設(shè)計(jì),具體系統(tǒng)的相應(yīng)運(yùn)行過(guò)程如下:</p><p> ?。?)把傳感器技術(shù)應(yīng)用到單片機(jī)控制系統(tǒng)中,實(shí)現(xiàn)了對(duì)環(huán)境溫度和光照度的數(shù)據(jù)采集和讀取。</p><p> ?。?)利用LCD1602液晶的顯示完成了花房溫度、光照度及顯示電路的設(shè)計(jì)。</p>&
74、lt;p> ?。?)外接蜂鳴器報(bào)警模塊,花房溫度、光照度不在設(shè)定范圍時(shí)系統(tǒng)自動(dòng)報(bào)警及時(shí)告知工作人員作出相應(yīng)的處理。</p><p> 本設(shè)計(jì)系統(tǒng)雖然有一定的實(shí)用性,但該系統(tǒng)在設(shè)計(jì)過(guò)程中仍然存在很多漏洞,很多東西都考慮的不是很詳細(xì),但我用了很多時(shí)間去查找資料同時(shí)也請(qǐng)教了老師同學(xué)來(lái)幫助我完成這個(gè)設(shè)計(jì),出于個(gè)人水平以及時(shí)間的關(guān)系所以并沒(méi)有把自己當(dāng)初考慮的所有可能情況都考慮進(jìn)去。這幾個(gè)月的大學(xué)畢業(yè)設(shè)計(jì)給我的影響很
75、大同時(shí)也讓我學(xué)會(huì)了很多,覺(jué)得自己好多的東西都給忘記了還有就是學(xué)的知識(shí)太少,以后要多用些時(shí)間去補(bǔ)充自己,因此我要更加努力,學(xué)無(wú)止境。</p><p><b> 參考文獻(xiàn):</b></p><p> [1]韓九強(qiáng),周杏鵬. 傳感器與檢測(cè)技術(shù)[M]. 北京:清華大學(xué)出版社,2010:233—251.</p><p> [2]嚴(yán)天峰.單片機(jī)應(yīng)用系
76、統(tǒng)設(shè)計(jì)與仿真調(diào)試.北京:北京航空航天大學(xué)出版社,2005:78—102.</p><p> [3]王建校.51系列單片機(jī)及C51程序設(shè)計(jì)[M].北京:科學(xué)出版社,2002:38—61.</p><p> [4]李朝青(編).單片機(jī)原理及接口電路[M]:北京航空航天大學(xué)出版社,2007:27—53.</p><p> [5]來(lái)清民. 傳感器與單片機(jī)接口及實(shí)例.
77、北京:北京航空航天大學(xué)出版社.2008:182—230.</p><p> [6]劉暢生,宣宗強(qiáng),雷振亞,張昌民. 傳感器簡(jiǎn)明手冊(cè)及應(yīng)用電路—溫度傳感器分冊(cè)(上).西安:西安電子科技大學(xué)出版社,2005:173—248.</p><p> [7]王化祥,張淑英(編).傳感器原理及應(yīng)用[M].天津:天津大學(xué)出版社,2007:131—148.</p><p> [
78、8]趙亮.液晶顯示模塊LCD1602應(yīng)用[J].電子制作,2007:82—91.</p><p> [9]劉篤仁,韓保君.傳感器原理及應(yīng)用技術(shù)[M]. 北京:機(jī)械工業(yè)出版社.2003:50—62.</p><p> [10]丁元杰.單片微機(jī)原理及應(yīng)用. 北京:機(jī)械工業(yè)出版社,2000:120—159.</p><p> [11]童詩(shī)白.模擬電路基礎(chǔ)[M]. 北
79、京:高等教育出版社,2001:78—119.</p><p> [12]何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航天航空出版社,1990:149—170.</p><p> [13]張慧萍.多路溫控系統(tǒng)中溫度檢測(cè)環(huán)節(jié)的設(shè)計(jì)[J].山東農(nóng)業(yè)大學(xué)學(xué)報(bào),2003:1—12.</p><p> [14]李廣弟.單片機(jī)基礎(chǔ)[M].北京:北京航空航天出版社,2001:
80、23—100.</p><p> [15]趙亮,侯國(guó)瑞.單片機(jī)C語(yǔ)言編程與實(shí)例.北京:人民郵電出版社,2003:81—90.</p><p> 附錄 系統(tǒng)原理圖及程序</p><p><b> 圖17 系統(tǒng)原理圖</b></p><p> #include <reg52.h> </p>
81、<p> #include<absacc.h></p><p> #include<intrins.h></p><p> #include<stdio.h></p><p> #define uchar unsigned char</p><p> #define uint unsi
82、gned int</p><p> #define T_cont 0.0625;</p><p> #define DataPort P0 //LCD接口</p><p> #define ReadPort P2 //AD讀取</p><p> uchar code temp[ ]={"temp: "};&
83、lt;/p><p> uchar code tempset[ ]={"tempset: "};</p><p> uchar code hun[ ]={"hun: "};</p><p> uchar code hunset[ ]={"hunset: "};</p><p> u
84、char code inte[ ]={"inte: "};</p><p> uchar code inteset[ ]={"inteset: "};</p><p> uchar code set[ ]={"step in set!"};</p><p> uchar tempset1,s1num,
85、s4num,hunset1,hun1,hun2,inteset1,inte1;</p><p> bit T_sign;</p><p> float temp1=0;</p><p> uchar t_bai,t_shi,t_ge,t_feng,t_miao,sshi,sge,</p><p> h_bai,h_shi,h_ge,h
86、shi,hge,</p><p> i_bai,i_shi,i_ge,ishi,ige;</p><p> sbit s3=P1^0;</p><p> sbit s4=P1^1;</p><p> sbit s5=P1^2;</p><p> sbit s6=P1^3;</p><p&g
87、t; sbit relay1=P1^4;</p><p> sbit relay2=P1^5;</p><p> sbit cs1=P3^0;</p><p> sbit cs2=P3^1;</p><p> sbit DS=P3^2;</p><p> sbit lcdrw=P3^3;</p>
88、<p> sbit lcden=P3^4;</p><p> sbit lcdrs=P3^5;</p><p> sbit wr=P3^6;</p><p> sbit rd=P3^7;</p><p> void delay(uint z) //延時(shí)函數(shù)</p><p><b>
89、 {</b></p><p><b> uint x,y;</b></p><p> for(x=z;x>0;x--)</p><p> for(y=110;y>0;y--);</p><p><b> }</b></p><p> voi
90、d dsreset(void) //send reset and initialization command</p><p><b> {</b></p><p> uint i; //DS18B20初始化</p><p><b> DS=0;</b></p>
91、<p><b> i=103;</b></p><p> while(i>0)i--;</p><p><b> DS=1;</b></p><p><b> i=4;</b></p><p> while(i>0)i--;</p>
92、<p><b> }</b></p><p> bit tmpreadbit(void) //read a bit 讀一位</p><p><b> {</b></p><p><b> uint i;</b></p><p><b>
93、; bit dat;</b></p><p> DS=0;i++; //i++ for delay 小延時(shí)一下</p><p> DS=1;i++;i++;</p><p><b> dat=DS;</b></p><p><b> i=8;</b><
94、/p><p> while(i>0)i--;</p><p> return (dat);</p><p><b> }</b></p><p> uchar tmpread(void) //read a byte date 讀一個(gè)字節(jié)</p><p><b> {<
95、;/b></p><p> uchar i,j,dat;</p><p><b> dat=0;</b></p><p> for(i=1;i<=8;i++)</p><p><b> {</b></p><p> j=tmpreadbit();<
96、/p><p> dat=(j<<7)|(dat>>1); //讀出的數(shù)據(jù)最低位在最前面,這樣剛好//一個(gè)字節(jié)在DAT里</p><p><b> }</b></p><p> return(dat); //將一個(gè)字節(jié)數(shù)據(jù)返回</p><p><b> }<
97、;/b></p><p> void tmpwritebyte(uchar dat) //寫(xiě)一個(gè)字節(jié)到DS18B20里</p><p><b> { </b></p><p><b> uint i;</b></p><p><b> uchar j;</b>
98、</p><p> bit testb;</p><p> for(j=1;j<=8;j++)</p><p><b> {</b></p><p> testb=dat&0x01;</p><p> dat=dat>>1;</p><p&g
99、t; if(testb) // 寫(xiě)1部分</p><p><b> {</b></p><p><b> DS=0;</b></p><p><b> i++;i++;</b></p><p><b> DS=1;</b></p&
100、gt;<p> i=8;while(i>0)i--;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> DS=0; //write 0 寫(xiě)0部分
101、</p><p> i=8;while(i>0)i--;</p><p><b> DS=1;</b></p><p><b> i++;i++;</b></p><p><b> }</b></p><p><b> }<
102、;/b></p><p><b> }</b></p><p> void readtemperature( ) //讀溫度函數(shù)</p><p><b> {</b></p><p><b> uint y;</b></p><p>
103、 uchar T_L=0;</p><p> uchar T_H=0;</p><p><b> uchar k;</b></p><p> dsreset( );</p><p><b> delay(1);</b></p><p> tmpwritebyte(
104、0xcc);</p><p> tmpwritebyte(0x44);</p><p> dsreset( );</p><p><b> delay(1);</b></p><p> tmpwritebyte(0xcc);</p><p> tmpwritebyte(0xbe);<
105、;/p><p> T_L=tmpread( );</p><p> T_H=tmpread( );</p><p> k=T_H&0x08;</p><p> if(k==0x08)</p><p><b> T_sign=1;</b></p><p><
106、;b> else</b></p><p><b> T_sign=0;</b></p><p> T_H=T_H&0x07;</p><p> temp1=(T_H*256+T_L)*T_cont;</p><p> temp1=temp1*100;</p><p&
107、gt; t_bai=(uint)temp1/10000;</p><p> y=(uint)temp1%10000;</p><p> t_shi=y/1000;</p><p> y=(uint)y%1000;</p><p> t_ge=y/100;</p><p> y=(uint)y%100;<
108、;/p><p> t_feng=y/10;</p><p> t_miao=(uint)y%10;</p><p><b> }</b></p><p> void inteadc0804( ) //光照度adc轉(zhuǎn)換子程序與數(shù)據(jù)處理</p><p><b> { </b&g
109、t;</p><p><b> rd = 1;</b></p><p> wr = 1; //讀ADC</p><p> ReadPort = 0xff; //P1置位</p><p><b> cs1=0;</b></p><p><b> wr = 0
110、;</b></p><p> wr = 1; //啟動(dòng)ADC</p><p> rd=0; //開(kāi)始讀轉(zhuǎn)換后數(shù)據(jù)</p><p> _nop_( ); _nop_( ); //稍延時(shí),等待讀完數(shù)</p><p> inte1 = ReadPort; //讀出的光照度數(shù)據(jù)賦與inte1</p><p>
111、;<b> rd = 1; </b></p><p> cs1 = 1; //讀數(shù)完畢</p><p> i_bai = inte1/100; //百位數(shù)</p><p> i_shi = (inte1%100)/10; //十位數(shù)</p><p> i_ge = (inte1%10); //個(gè)位數(shù)</
112、p><p><b> }</b></p><p> void write_com(uchar com) //lcd寫(xiě)命令函數(shù)</p><p><b> {</b></p><p><b> lcdrs=0;</b></p><p><b&g
113、t; lcdrw=0;</b></p><p><b> lcden=0;</b></p><p><b> P0=com;</b></p><p> delay(10); //延時(shí)</p><p> lcden=1; //下三行表示E高脈沖到來(lái)就開(kāi)始轉(zhuǎn)換</p>
114、;<p> delay(10);</p><p><b> lcden=0;</b></p><p><b> }</b></p><p> void write_data(uchar date) //lcd寫(xiě)數(shù)據(jù)函數(shù)</p><p><b> {</b
115、></p><p><b> lcdrs=1;</b></p><p><b> lcdrs=1;</b></p><p><b> lcdrw=0;</b></p><p><b> lcden=0;</b></p><
116、p><b> P0=date;</b></p><p> delay(10);</p><p><b> lcden=1;</b></p><p> delay(10);</p><p><b> lcden=0;</b></p><p>
117、;<b> }</b></p><p> void init( ) //初始化函數(shù)</p><p><b> {</b></p><p><b> s1=1;</b></p><p> tempset1=25;</p><p> hu
118、nset1=50;</p><p> inteset1=15;</p><p><b> lcdrw=0;</b></p><p><b> lcden=0;</b></p><p> write_com(0x38);</p><p> delay(10);<
119、;/p><p> write_com(0x0f);</p><p> delay(10);</p><p> write_com(0x06);</p><p> delay(10);</p><p> write_com(0x01);</p><p> delay(10);</p&
120、gt;<p><b> }</b></p><p> void print(uchar a,uchar *str) //輸出字符</p><p><b> {</b></p><p> write_com(a);</p><p> while(*str!='\0&
121、#39;) {write_data(*str++);}</p><p><b> *str=0;</b></p><p><b> }</b></p><p> void print1(uchar a,uchar t) //輸出18b20數(shù)據(jù)到1602</p><p><b>
122、 {</b></p><p> write_com(a);</p><p> write_data(t);</p><p><b> }</b></p><p> void print2(uchar a1,uchar t1) //輸出設(shè)置溫度數(shù)據(jù)到1602</p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文范文——花房溫度、光照度控制電路設(shè)計(jì)
- 畢業(yè)論文范文——花房溫度、光照度控制電路設(shè)計(jì)
- 采用硅光電池實(shí)現(xiàn)光照度計(jì)電路設(shè)計(jì)與分析
- 光照度及計(jì)算
- 光照度計(jì)
- 交通燈控制電路設(shè)計(jì)畢業(yè)論文
- 變頻器控制電路設(shè)計(jì) 畢業(yè)論文
- 畢業(yè)論文——汽車(chē)尾燈控制電路設(shè)計(jì)
- 日光照度單位lx
- 光照度和光強(qiáng)度
- 畢業(yè)論文(設(shè)計(jì))-交通燈數(shù)字控制電路設(shè)計(jì)
- 電氣專(zhuān)業(yè)畢業(yè)論文外文翻譯--控制電路設(shè)計(jì)
- 光纖光照度與溫度傳感器的研究.pdf
- 本科畢業(yè)論文-----汽車(chē)尾燈控制電路設(shè)計(jì)
- 蘋(píng)果微域環(huán)境的溫度和光照度監(jiān)測(cè)系統(tǒng)設(shè)計(jì).pdf
- 基于proteus溫度控制電路設(shè)計(jì)與仿真
- 密碼鎖控制電路設(shè)計(jì)與實(shí)現(xiàn)研制方案【畢業(yè)論文】
- 電子信息工程畢業(yè)論文-- 交通燈控制電路設(shè)計(jì)
- 建筑與光環(huán)境光照度剖析
- 變頻器控制電路設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)
評(píng)論
0/150
提交評(píng)論