智能花盆自動澆水系統(tǒng)的設(shè)計_畢業(yè)設(shè)計說明書 河南理工大學 2011畢業(yè)設(shè)計說明書
盆花自動澆水系統(tǒng)的設(shè)計
測控07級2班 指導老師:
摘 要:本次設(shè)計的盆花自動澆水系統(tǒng)包括土壤溫濕度的檢測與控制和蓄水箱自動上水及水位報警兩大部分。土壤溫濕度的檢測與控制部分又包括了土壤溫濕度的檢測和顯示、自動澆水系統(tǒng)。土壤溫濕度的檢測和顯示以溫濕度傳感器SHT-11為感應(yīng)部件,將檢測到的土壤溫濕度值送入AT89C51單片機,再由其輸出到LCD屏進行顯示。自動澆水系統(tǒng)設(shè)計為智能和手動兩個部分:智能澆水部分是通過單片機程序設(shè)定澆水的上下限值與SHT-11送入單片機的土壤濕度值相比較,當?shù)陀谙孪拗禃r,單片機輸出一個信號控制電磁閥打開,開始澆水,高于上限值時再由單片機輸出一個信號控制電磁閥關(guān)閉,停止?jié)菜?手動部分是由單片機從時鐘芯片DS1302讀入月份與每天的實時時刻,通過軟件程序設(shè)定定時澆水的時間與澆水的量。蓄水箱自動上水及水位報警采用純硬件電路控制,實現(xiàn)水箱水位實時監(jiān)測、自動上水以及水位上下限報警的功能。
關(guān)鍵詞:AT89C51單片機 SHT-11溫濕度傳感器 LCD DS1302時鐘芯片 C51程序 數(shù)字電路
I
河南理工大學 2011畢業(yè)設(shè)計說明書
Design of potted flowers automatic watering system Abstract:The design of the automatic watering system includes soil pot humidity detection and display, automatic watering and storage box automatic water and water level alarm three parts. S- oil testing and display of temperature and humidity system takes Temperature and humidity sen- sor SHT - 11 as inductive components, it will detect the soil temperature and humidity value and input the value to the AT89C51 microcontroller,then the temperature and humidity value will be output to LCD screen displayed. Automatic watering system design for intelligence and manual two parts.Intelligent watering part through the microcontroller program setting the upper and lo- wer water attained,then comparing this upper and lower water attained with the vale that throug -hing SHT-11 inputting to the microcontroller. When below the limit SCM outputs a signal to o- pening the Electromagnetic valve ,and Start watering .if Above the upper limit value,the SCM will output another signal to Turnning off the Electromagnetic valve ,and Stop watering. Manual part read the time from the clock chip DS1302 by microcomputer. Through software program to setting the regular watering'time and Watering amount.Storage box Water level control system u- ses Pure hardware control. Realizing real-time monitoring water tank, Automatic water supply and Level alarming function.
Keywords: AT89C51 microcontroller; SHT - 11 temperature and humidity sensor; LCD; clock chip DS1302;C51 program; Digital circuit
II
河南理工大學 2011畢業(yè)設(shè)計說明書
目 錄
1、緒論 ..................................................................... 1 1.1 選題的目的和意義 .................................................... 1 1.2自動澆花器的誕生背景及國內(nèi)外發(fā)展現(xiàn)狀 ................................. 1 1.3畢業(yè)設(shè)計所采用的研究方法和手段 ....................................... 2
2、AT89C51單片機 ............................................................ 4 2.1 AT89C51單片機的基本組成 ............................................. 4 2.2 AT89C51主要特性 ..................................................... 5
............................................................. 5 2.3管腳說明
2.4 AT89C51單片機的存儲器 ............................................... 7
2.4.1 程序存儲器 .................................................... 7
2.4.2 數(shù)據(jù)存儲器 .................................................... 8 2.5 振蕩電路和時鐘 ...................................................... 9 2.6 AT89C51的中斷系統(tǒng) .................................................. 10
2.6.1 中斷系統(tǒng)結(jié)構(gòu)和中斷控制 ....................................... 10
2.6.2 中斷響應(yīng)過程 ................................................. 12
計數(shù)器 ...................................................... 12 2.7 定時器/
2.7.1定時器/計數(shù)器0和1簡介 ....................................... 12
2.7.2 與定時器/計數(shù)器0和1相關(guān)的特殊功能寄存器 .................... 13
3、溫濕度傳感器 ............................................................ 14 3.1 數(shù)字溫濕度傳感器SHT-11 ............................................. 15 3.2 SHT-11的傳感器輸出 ................................................. 16
3.2.1 濕度值輸出 ................................................... 17
3.2.2 溫度值輸出 ................................................... 17
3.2.3 露點計算 ..................................................... 18
3.2.4 非線性校正及溫度補償 ......................................... 18 3.3 SHT-11的特性 ....................................................... 19
3.3.1 SHT-11的特點 ................................................. 19
3.3.2 SHT的詳細規(guī)格 ................................................ 19 3.4 SHT-11的引腳 ....................................................... 20
III
河南理工大學 2011畢業(yè)設(shè)計說明書
3.5 SHT-11的的內(nèi)部命令與接口時序 ....................................... 21
3.5.1 SHT-11的內(nèi)部命令 ............................................. 21
3.5.2 SHT-11的命令順序及命令時序 ................................... 21
5.3 SHT-11的狀態(tài)寄存器 ........................................... 22 3.
3.6 硬件接口 ........................................................... 23 3.7 恢復處理 ........................................................... 23 3.8 SHT-11的相關(guān)程序 ................................................... 24
4、DS1302時鐘芯片 .......................................................... 30 4.1 DS1302時鐘芯片的簡介 ............................................... 30 4.2 引腳 ............................................................... 30 4.3 命令字節(jié) ........................................................... 31 4.4 DS1302的相關(guān)程序 ................................................... 34
5、液晶顯示器LCD ........................................................... 38 5.1 液晶顯示器的分類 ................................................... 38 5.2 AMPIRE 128×64 ..................................................... 38
5.2.1 LCD 128×64引腳功能 .......................................... 39
5.2.2 KS0108控制器指令功能 ......................................... 40
5.2.3 應(yīng)用說明 ..................................................... 42
5.2.4 LCD相關(guān)程序 .................................................. 42
6、盆花自動澆水系統(tǒng)的設(shè)計 .................................................. 49 6.1 土壤溫濕度檢測與控制 ............................................... 49
6.1.1 硬件電路設(shè)計 ................................................. 49
6.1.2 系統(tǒng)軟件設(shè)計 ................................................. 53 6.2 蓄水箱自動供水系統(tǒng) ................................................. 65
6.2.1基本的導電理論 ................................................ 66
6.2.2系統(tǒng)工作原理 .................................................. 67
6.2.3 系統(tǒng)硬件組成 ................................................. 66
6.2.4 系統(tǒng)電路連接 ................................................. 70
6.2.5 參數(shù)計算 ..................................................... 71
6.2.6 水箱水位控制系統(tǒng)檢測 ......................................... 71
IV
河南理工大學 2011畢業(yè)設(shè)計說明書
7、總結(jié) .................................................................... 73 8、致謝 .................................................................... 74 參考文獻 ................................................................... 75
V
河南理工大學 2011畢業(yè)設(shè)計說明書
1、緒論
1.1 選題的目的和意義
隨著社會生活的進步,人們的生活質(zhì)量越來越高。在家里養(yǎng)盆花可以陶冶情操、豐富生活。同時,盆花通過光合作用可吸收二氧化碳,凈化室內(nèi)空氣,在有花木的地方空氣中陰離子聚積較多,所以空氣也特別清新,而且有許多花木還可吸收空氣中的有害氣體,因此,養(yǎng)盆花如今被許多的人所喜愛。
盆花澆水量是否能做到適時適量,是養(yǎng)花成敗的關(guān)鍵。但是,在生活中人們總是會有無暇顧及的時候,比如工作太忙或者出差、旅游等;ú萆L問題80%以上是由花兒澆灌問題引起;好不容易種植幾個月的花草,因為澆水不及時,長勢不好,用來美化家園的花草幾乎成了“雞肋”;不種植了吧,家中沒有綠色襯托感覺沒有生機;保留吧,花草長得不夠旺盛,還影響家庭裝飾效果。雖然目前市面上有賣盆花自動澆水器的,但價格十分的昂貴,并且大多只能設(shè)定一個定時澆水的時間,很難做到給盆花適時適量澆水。也有較經(jīng)濟的盆花缺水報警器,可以提醒人們及時的給盆花澆水?墒沁@種報警器只能報警,澆水還是需要人們親自動手。當家里無人時,即使報警也無人澆水,就起不到應(yīng)有的作用了。因此,我想通過設(shè)計一種集盆花土壤濕度檢測,自動澆水以及蓄水箱自動供水于一體的盆花自動澆水系統(tǒng)。讓盆花在人們無暇照顧時也能得到及時的澆灌。 1.2自動澆花器的誕生背景及國內(nèi)外發(fā)展現(xiàn)狀
微噴系統(tǒng)是近幾年利用國內(nèi)外先進技術(shù)組裝的新型灌溉設(shè)施,主要是利用水流通過低壓管道系統(tǒng)以一定速度從特制的噴頭噴出,在空氣中分散成細小的水滴,著落在花草植物、作物及周圍的地面上,從而達到及時補充水分的目的。該系統(tǒng)具有用水量少、沖擊力小的灌溉特性,適用于栽培密度大、植株柔軟細嫩的植物。自動澆花器的誕生是隨著人們生活水平的提高和生活節(jié)奏的加快而誕生的一種懶人園藝用品。它把微噴的概念應(yīng)用于家庭盆花澆灌中,通過相應(yīng)的改進,達到合理給盆花自動澆水的目的。
早在很多年前,國外就已經(jīng)開始普及,國內(nèi)使用的電子類自動澆花器多數(shù)從國外進口的,價格昂貴,但質(zhì)量比較可靠。不過這并不太適用于國內(nèi),目前國內(nèi)外比較流行的是玻璃制作的自動澆花器。這種類型的澆花器多數(shù)在我國山西和浙江一帶加工生產(chǎn)的,價格比較低廉,實用性沒有電子類自動澆花器好。隨著國內(nèi)居民消費水平和生活質(zhì)量的提高,居家園藝市場異;鸨,但是由于生活節(jié)奏加快,種花容易養(yǎng)花難的問題暴露出
1
河南理工大學 2011畢業(yè)設(shè)計說明書
來,而養(yǎng)花最重要的問題就是澆水問題,研究表明花草80%以上的死亡由于澆水不及時引起,因此國內(nèi)商家已經(jīng)看到了這種需求潛力。目前這類小居家用品的廠家主要集中在廣東,上海,浙江一帶,F(xiàn)在市面上所出售的自動澆花器主要有以下幾類:
? 電子類自動澆花器
電子類自動澆花器又叫時控噴淋裝置,系統(tǒng)構(gòu)成為:主機(或者控制器)、主管(可以是花園管也可以是4/7mm的微噴淋管)、分水接頭(3通、4通、5通、6通、分水器)、副管(3/5mm)噴淋管(霧化噴頭、旋轉(zhuǎn)噴頭、折射霧化噴頭等)。
電子類自動澆花器根據(jù)電源的不同分為交流電自動澆花器和電池自動澆花器兩種?刂破鞯囊话阈阅苡:電磁閥控制;智能時控電路•微電腦芯片控制;適用電源為AC220V/50H;最適宜水壓0.3-0.6Mpa;待機功率(4VA,澆水時,12VA);可控制連續(xù)Z
作業(yè)時間是1分鐘至168個小時;可每天自動完成十次以上澆水作業(yè),可每天、隔天、隔多天自動循環(huán)進行澆水,手動自動兩用;每天計時誤差小于正負3秒;電器適應(yīng)環(huán)境溫度為-10,50?;相對濕度,90%RH。
? 玻璃、陶瓷類自動澆花器
玻璃、陶瓷類自動澆花器又叫自動滲水裝置,它由本身材質(zhì)的物理結(jié)構(gòu)構(gòu)成,根據(jù)器具的物理滲水原理完成自動澆灌,當自動澆水器內(nèi)部存水,自身形成一定的壓力,當遇到干燥的土壤,水就會自上而下的流出,當土壤濕潤以后,會形成一個堵塞壓力,從而導致水流速度變慢或者停止。器具工藝不同,效果也不一樣,當然也因土壤的疏松情況決定器具內(nèi)水流的速度。
當前傳感器技術(shù)與單片機技術(shù)發(fā)展迅速,其應(yīng)用逐步由工業(yè)、軍事等領(lǐng)域向其他領(lǐng)域滲透,已經(jīng)和我們的日常生活息息相關(guān)。而且智能家居概念也越來越受人們的推崇,因此,微電腦控制的電子類自動澆花系統(tǒng)有很好的發(fā)展前景。
1.3畢業(yè)設(shè)計所采用的研究方法和手段
本次畢業(yè)設(shè)計是設(shè)計一種單片機控制的自動澆水系統(tǒng),實現(xiàn)室內(nèi)盆花澆水的自動化系統(tǒng)。該系統(tǒng)可對土壤的溫濕度進行監(jiān)控,并對作物進行適時、適量的澆水。其核心是單片機和溫濕度傳感器以及澆水驅(qū)動電路構(gòu)成的檢測控制部分。主要研究土壤濕度與澆水量之間的關(guān)系、澆灌控制技術(shù)及設(shè)備系統(tǒng)的硬件、軟件編程各個部分。檢測部分,單片機選用AT89C51單片機,溫濕度傳感器選用SHT11溫濕度傳感器。SHT-11采用COMSens專利傳感器技術(shù)將溫度濕度傳感器、A/D轉(zhuǎn)換器、數(shù)字接口、校準數(shù)據(jù)存儲器、標準I2C
2
河南理工大學 2011畢業(yè)設(shè)計說明書
總線等電路全部集成在一個芯片內(nèi)。軟件選用C51語言編程。土壤溫濕度傳感器可將檢測到的土壤溫濕度模擬量放大轉(zhuǎn)換成數(shù)字量通過單片機內(nèi)程序控制精確的將溫度與濕度分別顯示在LCD顯示屏上,同時通過單片機內(nèi)的中斷服務(wù)程序判斷是否要給盆花澆水,若需澆水,則單片機系統(tǒng)發(fā)出澆水信號,并經(jīng)放大驅(qū)動設(shè)備,開啟電磁閥進行澆水,若不需澆水,則進行下一次循環(huán)檢測。在澆水系統(tǒng)中也同時設(shè)計一個手動澆水部分,系統(tǒng)工作時通過設(shè)置鍵的按下與否來選擇澆水系統(tǒng)的工作方式。土壤澆水驅(qū)動電路采用繼電器開關(guān)電路,蓄水箱水位報警以及自動上水部分采用純硬件控制。
3
河南理工大學 2011畢業(yè)設(shè)計說明書
2、AT89C51單片機
AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 2.1 AT89C51單片機的基本組成
AT89C51由一個8位的微處理器,128KB片內(nèi)數(shù)據(jù)存儲器RAM,21個特殊功能寄存器SFR,4KB片內(nèi)程序存儲器Flash ROM,64KB可尋址片內(nèi)外統(tǒng)一編址的ROM,64KB可尋址片外的RAM, 4個8位并行I/O接口(P0—P3),一個全雙工通用異步串行接口UART,兩個16位的定時器/計數(shù)器,具有位操作功能的布爾處理機及位尋址功能的五個中斷源、兩個優(yōu)先級的中斷控制系統(tǒng)以及片內(nèi)振蕩器和時鐘產(chǎn)生電路。其基本組成框圖如圖2-1所示。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7B64.tmp.png
圖2-1 AT89C51的基本組成
4
河南理工大學 2011畢業(yè)設(shè)計說明書
2.2 AT89C51主要特性
AT89C51主要特性有:
?與MCS-51 兼容
?4K字節(jié)可編程閃爍存儲器
?壽命:1000寫/擦循環(huán)
?數(shù)據(jù)保留時間:10年
?全靜態(tài)工作:0Hz-24Hz
?三級程序存儲器鎖定
?128*8位內(nèi)部RAM
?32可編程I/O線
?兩個16位定時器/計數(shù)器
?5個中斷源
?可編程串行通道
?低功耗的閑置和掉電模式
?片內(nèi)振蕩器和時鐘電路
2.3管腳說明
AT89C51的引腳圖如圖2-2所示。各引腳的具體說明如下:
VCC:供電電壓。
GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口 的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4
5
河南理工大學 2011畢業(yè)設(shè)計說明書
個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此 作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口 當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八 位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫 時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址 信號和控制信號。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7B84.tmp.png
圖2-2 AT89C51引腳圖
P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電 流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入口。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如表2-1所示。同時,P3口為閃爍編程和編程校驗接收一些控制信號。
表2-1 P3口的特殊功能
引腳 名稱 功能說明 引腳 名稱 功能說明 P3.0 RXD 串行輸入口 P3.4 T0 記時器0外部輸入 P3.1 TXD 串行輸出口 P3.5 T1 記時器1外部輸入 P3.2 外部中斷0 P3.6 外部數(shù)據(jù)存儲器寫選通 INT0WR
P3.3 外部中斷1 P3.7 外部數(shù)據(jù)存儲器讀選通 INT1RD
RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位
6
河南理工大學 2011畢業(yè)設(shè)計說明書
字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。
EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,EA將內(nèi)部鎖定為RESET;當EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。
XTAL2:來自反向振蕩器的輸出。
2.4 AT89C51單片機的存儲器
在單片機中,存儲器分為程序存儲器ROM和數(shù)據(jù)存儲器RAM,并且兩個存儲器是獨立編址的。
AT89C51單片機芯片內(nèi)配置有8KB(0000H,1FFFH)的Flash程序存儲器和256字節(jié)(00H,FFH)的數(shù)據(jù)存儲器RAM,根據(jù)需要可外擴到最大64KB的程序存儲器和64KB的數(shù)據(jù)存儲器,因此AT89C51的存儲器結(jié)構(gòu)可分為4部分:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器。如果以最小系統(tǒng)使用單片機,即不擴展,則AT89C51的存儲器結(jié)構(gòu)就較簡單:只有單片機自身提供的8KB Flash程序存儲器和256字節(jié)數(shù)據(jù)存儲器RAM。
圖2-3給出了AT89C51單片機的存儲器分布空間。左側(cè)線框中為單片機自身提供的8KB Flash程序存儲器和256字節(jié)數(shù)據(jù)存儲器RAM。右側(cè)為可擴展的64KB的程序存儲器ROM和64KB的數(shù)據(jù)存儲器RAM。
2.4.1 程序存儲器
EAAT89C51單片機出廠時片內(nèi)已帶有8KB的Flash程序存儲器,使用時,引腳要
7
河南理工大學 2011畢業(yè)設(shè)計說明書
按高電平(5V),這時,復位后CPU從片內(nèi)ROM區(qū)的0000H單元開始讀取指令代碼,一直運行到1FFFH單元,如果外部擴展有程序存儲器ROM,則CPU會自動轉(zhuǎn)移到片外ROM空間2000H,FFFFH讀取指令代碼。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7B94.tmp.png
圖2-3 存儲器空間分布圖
2.4.2 數(shù)據(jù)存儲器
AT89C51單片機出廠時片內(nèi)已帶有256字節(jié)的數(shù)據(jù)存儲器RAM,如果不夠用,可以在片外擴展,最多可擴展64KB RAM。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7B95.tmp.png
圖2-4 片內(nèi)數(shù)據(jù)存儲器的結(jié)構(gòu)
8
河南理工大學 2011畢業(yè)設(shè)計說明書
單片機自帶的數(shù)據(jù)存儲器RAM結(jié)構(gòu)如圖2-4所示,此256字節(jié)單元(00H,FFH)的低128字節(jié)(00H,7FH)單元為用戶使用區(qū),高128字節(jié)(80H,FFH)單元為特殊功能寄存器SFR區(qū)。
片內(nèi)數(shù)據(jù)存儲器的00H,7FH單元又劃分為3塊:00H,1FH塊是工作寄存器所用;20H,2FH塊是位尋址功能的單元區(qū);30H,3FH是普通RAM區(qū)。工作寄存器又分為4組,在當前的運行程序中只有一組是被激活的,誰被激活有程序狀態(tài)寄存器PSW的RS1,RS0兩位決定。
2.5 振蕩電路和時鐘
在AT89C51芯片內(nèi)部,有一個振蕩電路和時鐘發(fā)生器,引腳XTAL1和XTAL2之間接入晶體振蕩器和電容后構(gòu)成內(nèi)部時鐘方式。也可以使用外部振蕩器,由外部振蕩器產(chǎn)生的信號直接加載到振蕩器的輸入端,作為CPU的時鐘源,稱為外部時鐘方式。采用外部時鐘方式時,外部振蕩器的輸出信號接至XTAL1,XTAL2懸空。兩種方式的電路連接如圖2-5所示。大多數(shù)的單片機采用內(nèi)部時鐘方式,本次設(shè)計亦然。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7B96.tmp.pngfile:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BA7.tmp.png
(a)使用片內(nèi)振蕩器接法 (b)使用片外振蕩器接法
圖2-5 AT89C51振蕩器的連接方式
在AT89C51單片機內(nèi)部,引腳XTAL2和引腳XTAL1連接著一個高增益反相放大器,XTAL1引腳是反相放大器的輸入端,XTAL2引腳是反相放大器的輸出端。
f芯片內(nèi)部的時鐘發(fā)生器是一個二分頻觸發(fā)器,振蕩器的輸出為其輸入,輸出為osc
f兩相的時鐘信號(狀態(tài)時鐘信號),頻率為振蕩器輸出信號頻率的1/2。狀態(tài)時鐘osc
9
河南理工大學 2011畢業(yè)設(shè)計說明書
經(jīng)三分頻后為低字節(jié)地址鎖存信號ALE,頻率為振蕩器輸出信號頻率的1/6,經(jīng)六fosc分頻后為機器周期信號,頻率為/12。、一般取20,30pF的陶瓷電容器。 fCCosc12
2.6 AT89C51的中斷系統(tǒng)
為了提高系統(tǒng)的工作效率,AT89C51單片機設(shè)置了中斷系統(tǒng),采用中斷方式與外設(shè)進行數(shù)據(jù)傳送。所謂“中斷”,是指單片機在執(zhí)行某一段程序的過程中,由于某種原因(如異常情況或特殊請求),單片機暫時中止正在執(zhí)行的程序,而去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束后,再返回到被打斷的程序處,繼續(xù)執(zhí)行原程序的過程。 2.6.1 中斷系統(tǒng)結(jié)構(gòu)和中斷控制
AT89C51有六個固定的可屏蔽中斷源,分別是三個片內(nèi)定時器/計數(shù)器溢出中斷TF0、
INT0INT1TF1和TF2,兩個外部中斷(P3.2)和(P3.3),一個片內(nèi)串行口中斷TI或RI。6個中斷源有兩級中斷優(yōu)先級,可形成中斷嵌套。它們在程序存儲器中各有固定的中斷入口地址,由此進入相應(yīng)的中斷服務(wù)程序。
引起6個中斷源的符號、名稱及產(chǎn)生的條件如下:
INT0:外部中斷0,由P3.2端口線引入,低電平或下降沿引起;
INT1:外部中斷1,由P3.3端口線引入,低電平或下降沿引起;
T0:定時器/計數(shù)器0中斷,由T0記滿回零引起;
T1:定時器/計數(shù)器1中斷,由T1記滿回零引起;
TI/RI:串行口I/O中斷,串行端口完成一幀字符發(fā)送/接收后引起中斷;
T2:定時器/計數(shù)器2中斷,由T2記滿回零引起。
在本次設(shè)計中采用了定時器/計數(shù)器0中斷,它的中斷控制寄存器包括定時器/計數(shù)器0、1控制寄存器TCON和中斷允許控制寄存器IE。
? 定時器控制寄存器TCON
TCON是定時器/計數(shù)器和外部中斷兩者合用的一個可位尋址的特殊功能寄存器,它的格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
各控制位定義如下:
10
河南理工大學 2011畢業(yè)設(shè)計說明書
TF1:定時器/計數(shù)器1溢出中斷請求標志位。當定時器/計數(shù)器1計數(shù)產(chǎn)生溢出時,由內(nèi)部硬件置位TF1,向CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時,由硬件內(nèi)部自動TF1清0。
TR1:定時器/計數(shù)器1啟動/停止位。由軟件置位/復位控制定時器/計數(shù)器1的啟動或停止計數(shù)。
TF0:定時器/計數(shù)器0溢出中斷請求標志位。當定時器/計數(shù)器0計數(shù)產(chǎn)生溢出時,由內(nèi)部硬件置位TF0,向CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時,由硬件內(nèi)部自動TF1清0。
TR0:定時器/計數(shù)器0啟動/停止位。由軟件置位/復位控制定時器/計數(shù)器0的啟動或停止計數(shù)。
IE1:外部中斷請求標志位。當CPU檢測到INT0低電平或下降沿且IT1=1時,由內(nèi)部硬件置位IE1標志位(IE1=1)向CPU請求中斷,當CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時,由硬件內(nèi)部將IE1清0。
IE0:外部中斷請求標志位。當CPU檢測到INT0低電平或下降沿且IT0=1時,由內(nèi)部硬件置位IE0標志位(IE0=1)向CPU請求中斷,當CPU響應(yīng)中斷并轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時,由硬件內(nèi)部將IE0清0。
IT1:用軟件置位/復位IT1來選擇外部中斷INT1是下降沿觸發(fā)還是電平觸發(fā)中斷請求。當IT1置1時,則外部中斷INT1為下降沿觸發(fā)中斷請求,即INT1端口由前一個機器周期的高電平跳變?yōu)橄乱粋機器周期的低電平,則觸發(fā)中斷請求;當IT1復位清0,則INT1的低電平觸發(fā)中斷請求。
IT0:由軟件置位/復位IT0來選擇外部中斷INT0是下降沿觸發(fā)還是低電平觸發(fā)中斷請求,其控制原理同IT1。
? 中斷允許控制寄存器
中斷允許控制寄存器IE的格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
EA ET2 ES ET1 EX1 ET0 EX0
各控制位定義如下:
EA:中斷總控制為。EA=1,CPU開中斷,它是CPU是否響應(yīng)中斷的前提,在此前提下,如果某中斷源的中斷允許位置1,才能響應(yīng)該中斷源的中斷請求。如果EA=0,無論哪個中斷源有請求,CPU都不予回應(yīng)。
11
河南理工大學 2011畢業(yè)設(shè)計說明書
ET2:定時器/計數(shù)器T2中斷控制位,ET2=1,允許T2計數(shù)溢出中斷;ET2=0,禁止T2中斷。
ES:串行口中斷控制位,ES=1,允許串行口發(fā)送/接收中斷;ES=0禁止串行口中斷。
ET1:定時器/計數(shù)器T1中斷控制位,ET1=1,允許T1計數(shù)溢出中斷;ET1=0,禁止T1中斷。
EX1:外部中斷1控制位,EX1=1,允許中斷;EX1=0,禁止外部中斷1中斷。
ET0:定時器/計數(shù)器T0中斷控制位,ET0=1,允許T0計數(shù)溢出中斷;ET0=0,禁止T0中斷。
[1]EX0:外部中斷0控制位,EX0=1,允許中斷;EX0=0,禁止外部中斷0中斷。 2.6.2 中斷響應(yīng)過程
CPU中斷處理從響應(yīng)中斷、控制程序轉(zhuǎn)向?qū)?yīng)的中斷矢量地址入口處執(zhí)行中斷服務(wù)程序,到執(zhí)行返回(RETI)指令為止。中斷響應(yīng)可分為以下幾個步驟:
? 保護斷點,即保存下一個將要執(zhí)行的指令的地址,把這個地址送入堆棧。
? 尋找中斷入口,根據(jù)6個不同的中斷源所產(chǎn)生的中斷,中斷系統(tǒng)必須能夠正確地識別中斷源,查找6個不同的入口地址。以上工作是由單片機自動完成的,與編程者無關(guān)。在6個入口地址處存放有中斷處理程序。
?執(zhí)行中斷處理程序。
[2]?中斷返回:執(zhí)行完中斷指令后,從中斷處返回到主程序,繼續(xù)執(zhí)行。 2.7 定時器/計數(shù)器
AT89C51單片機內(nèi)部設(shè)有兩個16位可編程定時器/計數(shù)器,即定時器/計數(shù)器0和定時器/計數(shù)器1。除此之外還有一個可編程定時器/計數(shù)器2。
2.7.1定時器/計數(shù)器0和1簡介
定時器/計數(shù)器0和1內(nèi)部有一個計數(shù)寄存器(和),它實際上是一個累THxTLx
加寄存器進行加1計數(shù)。定時器和計數(shù)器共用這個寄存器,但定時器/計數(shù)器同一時刻只能工作在其中一種方式下,不可能既工作在定時器方式,同時又工作在計數(shù)器方式。這兩個工作方式的根本區(qū)別是在于計數(shù)脈沖的來源不同。工作在定時器方式時,對振蕩源12分頻的脈沖計數(shù),即每過一個機器周期(1個機器周期在時間上和12個振蕩周期
12
河南理工大學 2011畢業(yè)設(shè)計說明書
的時間相等),計數(shù)寄存器中的值就加1。工作在計數(shù)器方式時,計數(shù)脈沖不是來自內(nèi)部的機器周期,而是來自外部輸入。對定時器/計數(shù)器0、定時器/計數(shù)器1,計數(shù)脈沖分別來自T0、T1引腳。當這些引腳上輸入的信號產(chǎn)生高電平至低電平的負跳變時,計數(shù)寄存器的值就加1。單片機每個機器周期都要對對外部輸入進行采樣,如果在第一個周期采得的外部信號為高電平,在下一個周期采得的信號為低電平,則在再下一個機器
[1]周期,即第三個機器周期計數(shù)寄存器的值才增加1。
2.7.2 與定時器/計數(shù)器0和1相關(guān)的特殊功能寄存器
? 計數(shù)寄存器TH0、TL0和TH1、TL1
計數(shù)寄存器是16位的,再啟動定時器時需要對它設(shè)定初始值。是計數(shù)寄存器THx的高8位,是計數(shù)寄存器的低8位。TH0、TL0對應(yīng)T/C0,TH1、TL1對應(yīng)T/C1。 TLx
? 定時器/計數(shù)器控制寄存器TCON
定時器/計數(shù)器控制寄存器TCON的格式如下:
TF1 TR1 TF0 TR1 IE1 IT1 IE0 IT0
TF1為T/C1的溢出標志,溢出時由硬件置1,進入中斷后又由硬件自動清0。
TR1為T/C1的啟動和停止位,由軟件控制。置1時啟動T/C1;清0時停止T/C1。
TF0和TR0的功能和使用方法以TF1、TR1類似,只是它們針對的是T/C0。
? 定時器/計數(shù)器方式控制寄存器TMOD
定時器/計數(shù)器方式控制寄存器TMOD的格式如下所示。它的控制位都是由軟件控制的,其中高4位是針對T/C1的,低4位是針對T/C0的,其功能和使用方法相似。
GATE M1 M0 GATE M1 M0 C/TT/C
現(xiàn)在以T/C0來說明各控制位的使用方法:GATE是一個選通位,當GATE位置1時,
INT0T/C0受到雙重控制,只有為高電平且TR0位置1是T/C0才開始工作,當GATE位
C/T清0時,T/C0僅受到TR0的控制。用來選擇工作在定時器方式還是計數(shù)器方式。當
13
河南理工大學 2011畢業(yè)設(shè)計說明書
該位置1時工作在計數(shù)器方式,清0時工作在定時器方式。M1和M0聯(lián)合起來用于選擇操作模式,一共有四種操作模式,如表2-2所示。
表2-2 操作模式
M1 M0 操作模式 計數(shù)器配置
0 0 模式0 13位計數(shù)器
1 0 模式2 自動重轉(zhuǎn)載的8位計數(shù)器
1 0 模式2 自動重轉(zhuǎn)載的8位計數(shù)器
1 1 模式3 T0分為兩個8位計數(shù)器,T1停止計數(shù)
14
河南理工大學 2011畢業(yè)設(shè)計說明書
3、溫濕度傳感器
傳統(tǒng)的模擬式濕度傳感器需設(shè)計信號調(diào)理電路并要經(jīng)過復雜的校準、標定過程,測量精度難以得到保證,且在線性度、重復性、互換性、一致性等方面往往不盡人意。為解決這些問題,瑞士Sensirion 公司推出了新一代基于CMOSensTM技術(shù)的數(shù)字式溫濕度傳感器。它很好地解決了溫濕度傳感器存在的上述問題,實現(xiàn)了數(shù)字式輸出、免調(diào)試、免標定、
[3]免外圍電路及全互換功能。
3.1 數(shù)字溫濕度傳感器SHT-11
數(shù)字溫濕度傳感器SHT—11采用COMSens專利傳感器技術(shù)將溫度濕度傳感器、A/D
2轉(zhuǎn)換器、數(shù)字接口、校準數(shù)據(jù)存儲器、標準IC總線等電路全部集成在一個芯片內(nèi)(其
[4]內(nèi)部結(jié)構(gòu)如圖3-1所示)。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BB8.tmp.png
圖3-1 數(shù)字溫濕度傳感器SHT—11的內(nèi)部結(jié)構(gòu)圖
由它的內(nèi)部結(jié)構(gòu)可看出SHT-11具有不同保護的“微型結(jié)構(gòu)”檢測電極系統(tǒng)與聚合物覆蓋層組成了傳感器芯片的電容,這樣除保持了電容式濕敏器件的原有特性外還可抵御來自其它方面的影響。將溫度傳感器與濕度傳感器結(jié)合在一起構(gòu)成了一個單一的個體,這就使得測量精度提高并且可以精確得出露點,而不會產(chǎn)生由于溫度與濕度傳感器之間隨溫度梯度變化而引起的誤差。而且將傳感器元件、信號放大器、模/ 數(shù)轉(zhuǎn)換器、OTP 校
2準數(shù)據(jù)存儲器、IC 工業(yè)標準串行總線等,電路功能部件全部采用CMOS 技術(shù)與溫濕度傳感器一起放置在一個芯片內(nèi)。這不僅使信號強度增加,更重要的是長期穩(wěn)定性也得到增強,這對傳感器系統(tǒng)是極為重要的。同時,模/ 數(shù)轉(zhuǎn)換也在一個芯片內(nèi)同時完成,這可使信號對噪聲不敏感,尤其重要的是,在傳感器芯片數(shù)據(jù)存儲器內(nèi)裝載的針對每一只傳感
15
河南理工大學 2011畢業(yè)設(shè)計說明書
器的校準數(shù)據(jù)保證了每一只傳感器都有相同的功能,可以實現(xiàn)100%的互換。此外,。該傳
2感器還具有IC 二線串行總線接口,這可使傳感器方便的與任何類型的微處理器、微控制器接口相連,為溫濕度的微機化測試帶來極大的方便,這不僅能減少溫濕度測試系統(tǒng)的開發(fā)時間,還可節(jié)約數(shù)字化接口的軟硬件成本。
該傳感器還有反應(yīng)迅速、高精度、低功耗等優(yōu)點。
3.2 SHT-11的傳感器輸出
[4]SHT-11的相對濕度絕對精度、溫度精度和25?露點精度如圖3-2(a),(c)所示。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BB9.tmp.png
(a)濕度絕對精度
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BBA.tmp.png
(b)溫度精度
16
河南理工大學 2011畢業(yè)設(shè)計說明書
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BBB.tmp.png
(C)25?露點精度
圖3-2 相對濕度、溫度和露點的精度曲線 3.2.1 濕度值輸出
SHT-11可通過I2C 總線直接輸出數(shù)字量濕度值,其相對濕度輸出特性曲線如圖3-2
所示。從中可以看出,SHT11 的輸出特性呈一定的非線性,為了補償濕度傳感器的非線性
以獲取準確數(shù)據(jù),可按式(3-1)修正濕度值:
2,,RHlinear= ,, 3,1c,cSO,cSO12RH3RH式中,SORH 表示傳感器相對濕度測量值,系數(shù)取值分別如下:
,612位時:; c,,4,c,0.0405,c,,2.8,10123
,48位時: 。 c,,4,c,0.648,c,,7.2,10123
3.2.2 溫度值輸出
溫度傳感器的線性非常好,可用下列公式(3-2)將溫度數(shù)字輸出轉(zhuǎn)換成實際SHT-11
溫度值T :
,,3,2T,d,dSO 12T
SO式中,表示傳感器溫度測量值。當電源電壓為5V,溫度傳感器的分辨率為14位時,T
d,,40d,0.01d,,40d,0.04,;當溫度傳感器的分辨率為12位時,,。 1212
17
河南理工大學 2011畢業(yè)設(shè)計說明書
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BCB.tmp.png
圖3-3 相對濕度輸出特性曲線
3.2.3 露點計算
空氣的露點值可根據(jù)相對濕度和溫度值由下面公式計算:
,,,,,,,,,,3,3lgEW,0.66077,7.5T/237.3,T,lgRH,2
,,,,,,,,,,,,3,4D,0.66077,lgEW,237.3/lgEW,8.16077P
,,EW式中,——飽和水蒸氣壓強(mmHg)
3.2.4 非線性校正及溫度補償
式(3-1)為相對濕度的非線性補償計算公式,對于單片機系統(tǒng)而言,計算量大而過復雜,下面給出簡化的計算方法。
(1)線性 當系統(tǒng)對濕度測量精度要求不高時,可采用以下的線性計算公式。
,,,,3,5RHsimple,c,c,SO 12RH
c,c,0.5式中,。 12
(2)2×線性 當系統(tǒng)對濕度測量精度要求較高時,可采用以下的2×線性計算公式,即用最小的計算復雜性來提高精確度。
,,,,,,3,6RHreal,a,SO,b,256 式中,為8位濕度傳感器輸出濕度值。 SO
b,512b,512當時,,;當時,,。 0,SO,107a,143108,SO,255a,143
(3)溫度補償 上述濕度計算公式是按環(huán)境溫度為25?進行計算的,而實際的測量
,,3,5溫度值則在一定的范圍內(nèi)變化,所以應(yīng)考慮濕度傳感器的溫度系數(shù),可按式對環(huán)境
18
河南理工大學 2011畢業(yè)設(shè)計說明書
溫度進行補償。
,,,,,,,,,,RHture,T,25t,tSO,RHlinear3,712RH
當為12位時,,;當為8位時,,。 SOt,0.01t,0.00008SOt,0.01t,0.00128RH12RH12
3.3 SHT-11的特性
3.3.1 SHT-11的特點
SHT-11傳感器的特點如下:
1)相對濕度和溫度一體測量;
2)精確露點測量;
3)全量程標定,無需重新標定即可互換使用; 4)超快響應(yīng)時間;
5)兩線制數(shù)字接口(最簡單的系統(tǒng)集成,較低的價格);
6)超小尺寸(7.5×5×2.5mm);
7)高可靠性(工業(yè)CMOS工業(yè));
8)優(yōu)化的長期穩(wěn)定性;
9)可完全浸沒水中;
10)基于請求式測量,因此低能耗; 11)具有濕度傳感器元件的自檢測能力; 12)傳感器元件加熱應(yīng)用,亦可獲得極高的精度和穩(wěn)定性。
3.3.2 SHT的詳細規(guī)格
1.相對濕度傳感器(RH)的性能參數(shù)如下: 范圍:0—100%RH;
精度:?3%RH(20—80%RH);
響應(yīng)時間:?4s;
復現(xiàn)性:?0.1%RH;
分辨率:0.03%RH;
工作溫度:,40?—,120?。
2.溫度傳感器(T)的性能參數(shù)如下:
19
河南理工大學 2011畢業(yè)設(shè)計說明書
范圍:,40?—,120?;
精度:?0.5?(在25?時),?0.9?(在0—40?時);
響應(yīng)時間:?20s;
復現(xiàn)性:?0.1?;
分辨率:0.01?。
3.電器數(shù)據(jù)
能耗:典型 30uW(@5V,12-bit,測量周期2秒)
典型 1uW(@2.4V,8-bit,測量周期2分);
供電范圍:2.4V—5.5V;
檢測電流:0.5mA;
待機電流:0.3uV。
3.4 SHT-11的引腳
SHT-11的引腳圖如圖3-4所示。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BCC.tmp.png
圖3-4 SHT-11的引腳圖
引腳簡介
引腳1—GND接地端;SHT-11的供電電壓為0.4,5.5V,傳感器上電后要等待11ms
以越過“休眠”狀態(tài)。在此期間無需發(fā)送任何指令,電源引腳(VDD,GND)之間可增加
一個100uF的電容,用以去耦濾波。
引腳2—DATA雙向串行數(shù)據(jù)線;SHT-11的串行接口,在傳感器的讀取及電源損耗方
面都做了優(yōu)化處理。DATA三態(tài)門用于數(shù)據(jù)的讀取。
20
河南理工大學 2011畢業(yè)設(shè)計說明書
引腳3—SCK串行時鐘輸入;用于微處理器與SHT-11之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK頻率。
引腳4—VDD電源端,0.4—5.5V電源
引腳5—8—NC空管腳
3.5 SHT-11的的內(nèi)部命令與接口時序
3.5.1 SHT-11的內(nèi)部命令
SHT-11 傳感器共有5 條用戶命令,具體命令格式見表3-1。在程序編程時根據(jù)命令編號來設(shè)定SHT-11的工作狀態(tài)。例如:0x03設(shè)置SHT-11為溫度測量,0x05是設(shè)置SHT-11
[5]為濕度測量。
表3-1 SHT-11傳感器命令列表
命令 編號 說明
測量溫度 00011 溫度測量
測量濕度 00101 濕度測量
讀寄存器 00111 “讀”狀態(tài)寄存器
寫寄存器 00110 “寫”狀態(tài)寄存器
重啟芯片,清除狀態(tài)記錄器的錯誤
軟啟動 11110
記錄11 毫秒后進入下一個命令 3.5.2 SHT-11的命令順序及命令時序
1) 傳輸開始
初始化傳輸時,應(yīng)發(fā)出“傳輸開始”命令,具體為SCK是高電平時,DATA 高電平變?yōu)榈碗娖?并在下一個SCK為高時將DATA 升高。接著傳輸開始下一個命令,包含3個地址位(目前只支持“000”) 和5 個命令位,通過DATA 腳的ack 位處于低電位表示SHT11正確收到命令。
2) 連接復位順序
如果與SHT11傳感器的通訊中斷,下列信號順序會使串口復位:當使DATA線處于高電
21
河南理工大學 2011畢業(yè)設(shè)計說明書
平時,觸發(fā)SCK9 次以上(含9 次) ,并發(fā)一個前述的“傳輸開始”命令。
3) 溫濕度測量時序
當發(fā)出了溫(濕) 度測量命令后,控制器就要等到測量完成后才開始動作。使用8/ 12/ 14 位的分辨率測量分別需要大約11/ 55/ 210 ms。為表明測量完成,SHT11會使DATA為低電平,此時控制器必須重新啟動SCK,然后SHT11傳送兩字節(jié)測量數(shù)據(jù)與1字節(jié)CRC校驗和到控制器,控制器必須通過使DATA為低來確認每一字節(jié),通訊在確認CRC數(shù)據(jù)位后停止。如果沒有用CRC28校驗和,則控制器就會在測量數(shù)據(jù)LSB后,保持ack為高時停止通訊,SHT11在測量和通訊完成之后會自動返回睡眠模式。需要注意的是,為使SHT11溫升高低于0.1?,則此時工作頻率不能大15%(如:12 位精確度時,每秒最多進行3 次測量)。測量溫度和測量濕度命令所對應(yīng)的時序如圖3-4所示。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BCD.tmp.png
圖3-4 測量溫濕度時序圖
4) 加熱控制
將傳感器芯片中的加熱開關(guān)接通,傳感器溫度大約增加5 ?,加熱用途如下:其一,通過對啟動加熱器前后的溫、濕度進行比較,可以正確地區(qū)別傳感器的功能;其二,在相對濕度較高的環(huán)境下,傳感器可通過加熱來避免冷凝。
5) 低電壓檢測
SHT11的工作極限功能可以檢測VDD電壓是否低于2.45V,準確度為?0.1V。
3.4.3 SHT-11的狀態(tài)寄存器
SHT-11的狀態(tài)寄存器的類型及其說明見表3-2。
表3-2 SHT-11狀態(tài)寄存器及說明
位 類型 說明 缺省 說明
7 保留 0
6 讀 工檢限 X
5 保留 0
4 保留 0
22
河南理工大學 2011畢業(yè)設(shè)計說明書
續(xù)表
位 類型 說明 缺省 說明
3 只用于試驗,不可以使用 0
2 讀/寫 加熱 0 關(guān)
1 讀/寫 不從OTP重下載 0 重下載
‘1’—8位相對濕度,12位溫度分辨
0 讀/寫 率;‘0’—12位相對濕度,14位溫 0 12位相對濕度,14溫度
分辨率
3.6 硬件接口
SHT-11與單片機接口構(gòu)成的溫濕度測量電路,如圖3-5所示 。因SHT-11內(nèi)部集成
[6]了A/D轉(zhuǎn)換器、數(shù)字接口等,在與單片機連接時就不需要再外接轉(zhuǎn)換部件。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BCE.tmp.pngfile:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BDF.tmp.png
圖3-5 SHT-11與單片機接口 圖3.2 DS1302與單片機連接
3.7 恢復處理
置于極限工作條件下或化學蒸汽中的傳感器,經(jīng)過在80,90?(176,194F)和,5,RH的濕度條件下保持24小時(烘干),隨后在20,30?(70,90F)和,74,RH的濕度條
[7]件下保持48小時以上(重新水和)的處理后可使其恢復到剛校準時的狀態(tài)。
通過上面的論述可見SHT-11數(shù)字式溫濕度傳感器完全符合對土壤溫濕度檢測的要求。
23
河南理工大學 2011畢業(yè)設(shè)計說明書
3.8 SHT-11的相關(guān)程序
? SHT11端口定義
sbit SHT11_DATA=P2^6; sbit SHT11_SCK=P2^5; uchar flag_tempeture=0; //顯示溫度位置的標志 uchar flag_humidity=0; //顯示濕度位置的標志 //uchar dat;
uint i,temp1,temp2,dat=0,count;
float tempeture1;
float RHline,RHtrue; void delay(uint m) {
while(m--);
}
? SHT11內(nèi)部延時
void Delay()
{
;
;
}
? SHT11檢測等待延時:11ms/55ms/210ms 分別對應(yīng)8位/12位/14位 測量結(jié)果,
對應(yīng)的形參為N 則延時Nms
void Delay_Ms(uint ms) {
uint i,j;
for(i=ms;i>0;i--)
for(j=112;j>0;j--); }
? SHT11啟動時序
void SHT11_Start()
24
河南理工大學 2011畢業(yè)設(shè)計說明書
{
SHT11_SCK=1;
SHT11_DATA=1;
Delay();
SHT11_DATA=0;
Delay();
SHT11_SCK=0;
Delay();
SHT11_SCK=1;
Delay();
SHT11_DATA=1; }
? 向SHT11發(fā)送8bite數(shù)據(jù)
void SHT11_Sendbyte(uchar dat)
{
uchar i;
SHT11_SCK=0;
Delay();
for(i=0;i<8;i++)
{
if(dat&0x80)
{
SHT11_DATA=1;
Delay();
}
else
{
SHT11_DATA=0;
Delay();
}
25
河南理工大學 2011畢業(yè)設(shè)計說明書
dat=dat<<1;
SHT11_SCK=1;
Delay();
SHT11_SCK=0;
}
}
? 檢測SHT11的響應(yīng)信號(在第九個時鐘周期)
void SHT11_Answer()
{
SHT11_SCK=1;
Delay();
while(SHT11_DATA==1);
SHT11_SCK=0;
SHT11_DATA=1;
}
? 檢測SHT11溫濕度檢測是否完畢
void SHT11_Test_Finish()
{
while(SHT11_DATA==1);
}
? “寫”程序:向SHT11的狀態(tài)寄存器設(shè)置功能,command為REG_WRITE 0x06寫
寄存器,dat為設(shè)置SHT11的功能,可以設(shè)置檢測的數(shù)據(jù)位數(shù)
void SHT11_Write_Register(uchar command ,uchar dat)
{
SHT11_Start();
SHT11_Sendbyte(command);
SHT11_Answer();
SHT11_Sendbyte(dat);
SHT11_Answer();
}
26
河南理工大學 2011畢業(yè)設(shè)計說明書
? “讀”程序:ommand為REG_READ 0x07//讀寄存器,返回值為狀態(tài)寄存器的值。位6顯示當前檢測完一次數(shù)據(jù)后電源供電情況:當位6為0時表明VDD>2.47V 當位6為1時表明VDD<2.47V即電量不足。位0表明當前的測量分辨率:當位0為1時表明測
濕度 12位溫度,當位0為0時表明測量精度:12位濕度 14位溫度 ,量精度:8位/
默認為0
uchar SHT11_Read_Register(uchar command)
{
uchar dat;
SHT11_Start();
SHT11_Sendbyte(command);
SHT11_Answer();
dat=SHT11_Receivebyte();
SHT11_End();
return(dat);
}
? 設(shè)置SHT11檢測功能,并返回相應(yīng)的檢測結(jié)果:command形參用于設(shè)定溫度檢測還是濕度檢測,time形參用于設(shè)定檢測過程中的等待時間,以確定檢測結(jié)果的位數(shù)11ms/55ms/210ms 分別對應(yīng)8位/12位/14位
uint SHT11_Measure(uchar command,uchar time)
{
uint dat=0;
uchar data_high,data_low;
SHT11_Start();
SHT11_Sendbyte(command);
SHT11_Answer();
Delay_Ms(time);
SHT11_Test_Finish();
data_high=SHT11_Receivebyte();
MCU_Answer();
data_low=SHT11_Receivebyte();
27
河南理工大學 2011畢業(yè)設(shè)計說明書
SHT11_End();
dat=(dat|data_high);
dat=(dat<<8)|data_low;
return(dat);
}
? 將檢測到的數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的溫度數(shù)據(jù):溫度轉(zhuǎn)換公式--T=d1+d2*Sot,公式中
的參數(shù)d1=-40,d2=0.01適用于14位測量精度
float SHT11_Convert_Tempeture14bit(uint dat)
{
float tempeture1;
tempeture1=-40+0.01*dat;
if(tempeture1>100.0)
{
flag_tempeture=1;
}
else if(tempeture1<0.0)
{
flag_tempeture=1;
}
else
{
flag_tempeture=0;
}
return(tempeture1);
}
? 將檢測到的數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的濕度數(shù)據(jù):相對濕度轉(zhuǎn)換公式
RHline=C1+C2*SOrh+C3*SOrh*SOrh,
RHtrue=(tempeture-25)*(t1+t2*SOrh)+RHline
式中參數(shù)C1=-4,C2=0,0405,C3=-0.0000028,t1=0.01,t2=0.00008;適用于12位測
量精度
28
河南理工大學 2011畢業(yè)設(shè)計說明書
float SHT11_Convert_Humidity12bit(uint dat,float temp)
{
// float RHline,RHtrue;
RHline=-4+0.0405*dat-0.0000028*dat*dat;
RHtrue=(temp-25)*(0.01+0.00008*dat)+RHline;
if(RHtrue<10.0)
{
flag_humidity=1;
}
else
{
flag_humidity=0;
}
return(RHtrue);
}
29
河南理工大學 2011畢業(yè)設(shè)計說明書
4、DS1302時鐘芯片
DS1302是Dallas公司推出的高性能低功耗涓流充電時鐘芯片?赏ㄟ^簡單的串行接口與單片機進行通信,光感應(yīng)用于智能儀器、單片機系統(tǒng)和家用時鐘電路等領(lǐng)域。 4.1 DS1302時鐘芯片的簡介
DS1302涓流充電計時芯片包含一個實時時鐘/日歷和31字節(jié)的靜態(tài)RAM。它通過一
[8]個簡單的串行接口與微處理器進行通信。實時時鐘/日歷提供秒,分鐘,小時,周,日期,月份和年的有關(guān)信息。對于少于31天的月份,每月月底的日期是自動調(diào)整的,包括對瑞年進行更正,時鐘運行可采用24小時制或帶AM/PM指示的12小時制。
RST同步串行通信簡化了DS1302與微處理的接口。與時鐘/RAM通信只需三根線:、I/O(數(shù)據(jù)線)及SCLK(串行時鐘)。時鐘/RAM數(shù)據(jù)的讀/寫以每次一個字節(jié)或多達31個字節(jié)的多字節(jié)模式傳輸。DS1302設(shè)計為低功耗工作,保持數(shù)據(jù)和時鐘信息的功耗小于uF。 1
4.2 引腳
DS1302的引腳(引腳圖如圖4-1所示)及功能簡介如下:
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BE0.tmp.png
圖4-1 DS1302引腳圖
第1、2腳:Vcc1、Vcc2電源。
RST第3腳:復位輸入端。
30
河南理工大學 2011畢業(yè)設(shè)計說明書
第4腳:串行時鐘輸入端。
第5腳:數(shù)據(jù)輸入/輸出端。
第6、7腳:X1、X2是32.768kHz晶振輸入/輸出端。
4.3 命令字節(jié)
表4-1所示為命令字節(jié)格式。命令字節(jié)啟動每個字節(jié)的數(shù)據(jù)傳輸。該MSB(第7位)必須為邏輯1.如果是0,寫入DS1302操作將被禁用。第6位是邏輯1時指定RAM數(shù)據(jù)。第1至第5位規(guī)定特定寄存器作為輸入還是輸出。LSB(第0位)如果是邏輯0,指定一個寫操作(輸入);如果是邏輯1,執(zhí)行一個讀操作。命令字節(jié)總是從LSB(第0位)輸入。
表4-1 DS1302命令字節(jié)
7 6 5 4 3 2 1 0
RAM RD
1 A4 A3 A2 A1 A0
SCLK W
RST(1)及時鐘控制
RSTRSTRST驅(qū)動輸入高電平可啟動所有的數(shù)據(jù)傳輸。輸入起到兩種功能:第一,
RST啟動控制邏輯,允許地址/字節(jié)序列訪問移位寄存器。第二,信號提供了一種終止單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā?
一個時鐘周期是一個上升沿序列,緊跟著下降沿。對于數(shù)據(jù)輸入,在時鐘周期的上
RST升沿時間,數(shù)據(jù)必須正確;在時鐘周期的下降沿,數(shù)據(jù)位輸出。如果輸入低電平所
RST有數(shù)據(jù)傳輸中止。I/O引腳變成高阻狀態(tài)。數(shù)據(jù)的傳輸如圖4-2所示。在上電時,
RST必須是邏輯0,直到Vcc>2.0V.此外,當被驅(qū)動到邏輯1狀態(tài)時,SCLK必須為邏輯0。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BE1.tmp.png
a)單字節(jié)傳送
31
河南理工大學 2011畢業(yè)設(shè)計說明書
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BF2.tmp.png
b) 多字節(jié)傳送
圖4-2 數(shù)據(jù)傳送時序
(2)數(shù)據(jù)輸入
繼輸入寫命令字節(jié)的8個SCLK周期后,在接下來的8個SCLK周期的上升沿輸入數(shù)據(jù)字節(jié)。如果有額外的SCLK周期,將被忽略。數(shù)據(jù)輸入從位0開始。
(3)數(shù)據(jù)輸出
繼輸入寫命令的8個SCLK周期后,在接下來的8個SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。請注意,將被傳輸?shù)牡谝粋數(shù)據(jù)位出現(xiàn)在命令字節(jié)最后一位被寫入后的第一個下降
RST沿。只要維持高電平,如有附加的SCLK的周期,將重新轉(zhuǎn)發(fā)數(shù)據(jù)字節(jié)。此操作允許連續(xù)多字節(jié)模式讀取能力。此外,I/O引腳在每個SCLK的上升沿都是三態(tài)的。數(shù)據(jù)輸出開始于第0位。
(4)多字節(jié)模式
時鐘/日歷或由十進制存儲單元31(地址/命令1至5=邏輯1)尋址的RAM寄存器可以為多字節(jié)模式。如上所述,第6位指定時鐘或RAM和第0位指定讀或?qū)。在日歷/時鐘寄存器的地址9至31或RAM寄存器中的地址31不能存儲數(shù)據(jù)。在多字節(jié)模式中,讀或?qū)戦_始于地址0的第0位。
當在多字節(jié)模式下寫時鐘寄存器時,必須按數(shù)據(jù)傳輸?shù)拇涡驅(qū)懭胧装藗寄存器。然而,當在多字節(jié)模式寫入RAM時,為了數(shù)據(jù)的傳輸,沒有必要寫入所有的31個字節(jié)。每個被寫入的字節(jié)都將被傳輸?shù)絉AM,無論31個字節(jié)是否都被寫入。
(5)DS1302內(nèi)部寄存器
DS1302內(nèi)部寄存器地址及數(shù)據(jù)分配情況如表4-2所示。
1)時鐘/日歷:時鐘/日歷包含在7個寫/讀寄存器中。數(shù)據(jù)以BCD碼形式包含在時鐘/日歷寄存器中。
2)時鐘暫停標志:秒寄存器的第7位定義為時鐘暫停標志。當此位置1時,時鐘振蕩器停止,DS1302進入低功耗備用模式,電源消耗小于100nA。當此位置0時,時鐘將啟動。初始上電狀態(tài)未定義。
3)AM-PM/12-24模式:DS1302能運行于12小時制或24小時制模式下。小時寄存器的第7位被定義為12或24小時模式選擇位。當其處于高電平時,選擇12小時模式。
32
河南理工大學 2011畢業(yè)設(shè)計說明書
在12小時模式下,第5位是AM/PM位,其為邏輯高電平表示PM。在24小時模式下,第5位是第二個10小時位元(20-23)小時。當12/24位被改變時,小時數(shù)據(jù)一定要被重新初始化。
表4-2 DS1302的日歷、時鐘寄存器及控制字
寄存器名 命令字格式 位 內(nèi) 容
取值范圍
寫操作 讀操作 7 6 5 4 3 2 1 0
秒寄存器 80H 81H 00-59 CH 10SEC SEC
分寄存器 82H 83H 00-59 0 10MIN MIN
01-12 12/ 10
小時寄存器 84H 85H 0 HR HR
00-23 24 A/P
01-28/
日期寄存器 86H 87H 0 0 10DATE DATE
29/30/31
月份寄存器 88H 89H 01-12 0 0 0 10M MONTH
星期寄存器 8AH 8BH 01-07 0 0 0 0 0 DAY
年份寄存器 8CH 8DH 00-99 10YEAR YEAR
寫保護寄存器 8EH 8FH — WP 0
涓流充電寄存器 90H 91H — TCS DS RS
時鐘多字節(jié)寄存器 BEH BFH — —
RAM多字節(jié)寄存器 FEH FFH — —
4)寫保護位:控制寄存器的第7位是寫保護位。首7位(第0至第6位)必須為0, 讀取時始終讀0。對時鐘或RAM進行任何操作前,第7位必須為0。當寫保護位為高電 平時,該位阻止對任何其他寄存器的寫操作。初始的上電狀態(tài)沒有定義。因此,在寫入 該器件之前,應(yīng)清除WP位。
5)涓流充電寄存器:該寄存器控制DS1302的涓流特性。涓流充電選擇(TCS)位(第 4至第7位)控制涓流充電器的選擇。為了阻止意外使能,只有1010模式使能涓流充電 器。所有其他模式都禁用涓流充電器。DS1302上電時,涓流充電器被禁用。DS為二極 管選擇位,RS為電阻選擇位。
6)時鐘/日歷多字節(jié)模式:該時鐘/日歷命令字節(jié)指定多字節(jié)觸發(fā)模式操作。在此
33
河南理工大學 2011畢業(yè)設(shè)計說明書
模式下,首8個時鐘/日歷寄存器可以從地址0的第0位開始被連續(xù)地讀取或?qū)懭搿.?指定寫時鐘/日歷多字節(jié)模式時,如果寫保護位被設(shè)置為高電平,將沒有數(shù)據(jù)傳送到8 個時鐘/日歷寄存器(包括控制寄存器)的任意一個。在多字節(jié)模式下,涓流充電器不 可用。
7)RAM:靜態(tài)RAM是RAM地址空間中連續(xù)編址的31×8字節(jié)。
8)RAM多字節(jié)模式:RAM命令字節(jié)指定多字節(jié)模式操作。在此模式下,31個RAM寄存器從地址0的第0位開始被連續(xù)讀取或?qū)懭搿?
(6)晶振的選擇
32.768kHz的晶振可通過引腳2和3(X1、X2)直接連接至DS1302。所選定的晶振應(yīng)該加一個6pF的負載電容。
(7)電源控制
Vcc1在單電源與電池供電的系統(tǒng)中提供低電源的電池備份。Vcc2在雙電源系統(tǒng)中提供主電源,此時Vcc1連接到備份電源,以便在沒有主電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。
DS1302由Vcc1 或Vcc2兩者中較大者供電。它與單片機連接后,單片機便可讀出
[9]其實時時間。連接示意圖如圖4-3所示。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7BF3.tmp.png
圖4-3 DS1302與AT89C51連接圖
4.4 DS1302的相關(guān)程序
DS1302的初始化、寫入數(shù)據(jù)及讀出數(shù)據(jù)的程序如下:
? DS1302的頭文件程序
sbit T_CLK=P1^5;
sbit T_IO =P1^6;
sbit T_RST=P1^7;
34
河南理工大學 2011畢業(yè)設(shè)計說明書
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
? DS1302讀寫程序:d 為寫入的數(shù)據(jù),無返回值 void RTInputByte(unsigned char d) {
unsigned char i;
ACC = d;
for(i=8; i>0; i--)
{
T_IO = ACC0; //相當于匯編中的 RRC
T_CLK = 1;
T_CLK = 0;
ACC = ACC >> 1;
}
}
? 從DS1302讀取1Byte數(shù)據(jù) (內(nèi)部函數(shù)):ACC為返回值 unsigned char RTOutputByte(void) {
unsigned char i;
for(i=8; i>0; i--)
{
ACC = ACC >>1; //相當于匯編中的 RRC
ACC7 = T_IO;
T_CLK = 1;
T_CLK = 0;
}
return(ACC);
}
? 往DS1302寫入數(shù)據(jù):ucAddr為 DS1302地址, ucData為 要寫的數(shù)據(jù),無返回
值void Write1302(unsigned char ucAddr, unsigned char ucDa)
35
河南理工大學 2011畢業(yè)設(shè)計說明書
{
T_RST = 0;
T_CLK = 0;
T_RST = 1;
RTInputByte(ucAddr); // 地址,命令
RTInputByte(ucDa); // 寫1Byte數(shù)據(jù)
T_CLK = 1;
T_RST = 0;
}
? 讀取DS1302某地址的數(shù)據(jù):ucAddr為DS1302地址,ucData為讀取的數(shù)據(jù),即
返回值
unsigned char Read1302(unsigned char ucAddr)
{
unsigned char ucData;
T_RST = 0;
T_CLK = 0;
T_RST = 1;
RTInputByte(ucAddr); // 地址,命令
ucData = RTOutputByte(); // 讀1Byte數(shù)據(jù)
T_CLK = 1;
T_RST = 0;
return(ucData);
}
? 設(shè)置初始時間
void Set1302(unsigned char *pClock)
{
unsigned char i;
unsigned char ucAddr = 0x80;
Write1302(0x8e,0x00); // 控制命令,WP=0,寫操作
for(i =7; i>0; i--)
36
河南理工大學 2011畢業(yè)設(shè)計說明書
{
Write1302(ucAddr,*pClock); // 秒 分 時 日 月 星期年
pClock++;
ucAddr +=2;
}
Write1302(0x8e,0x80); // 控制命令,WP=1,寫保護 }
37
河南理工大學 2011畢業(yè)設(shè)計說明書
5、液晶顯示器LCD
液晶顯示器是一種低功耗液晶顯示器件。工作電流小,適合于儀表和低功耗系統(tǒng)。常用的有筆畫型液晶顯示器、點陣字符型液晶顯示器和圖形點陣式液晶顯示器。LCD液晶顯示器的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,。有電就顯示黑色,這樣就顯示出圖形。液晶顯示器適應(yīng)于大規(guī)模電路直接驅(qū)動,易于實現(xiàn)全彩色顯示的特點。目前被廣泛應(yīng)用于計算機,數(shù)字攝像機等眾多領(lǐng)域。
5.1 液晶顯示器的分類
[1]液晶顯示器按顯示圖案的不同可分筆段型LCD、字符型LCD和點陣圖型LCD三種。
(1) 筆段型
筆段型是以長條狀作為基本單位顯示。該類型主要用于數(shù)字顯示,也可用于顯示西文字符或某些字符。這種段型顯示通常有6段、7段、8段、9段、14段和16段等,在形狀上與數(shù)碼管類似,總是圍繞數(shù)字“8”的結(jié)構(gòu)變化。其中以7段顯示器常用,常用于數(shù)字儀表、電子儀器中。
2) 字符型 (
字符型液晶顯示器是專門用來顯示英文和其他拉丁文字母、數(shù)字、符號等點陣型液晶顯示模塊。它一般由若干個5×8或5×11點陣組成,每個點陣顯示一個字符。這類模塊一般應(yīng)用于數(shù)字尋呼機、數(shù)字儀表等電子設(shè)備中。
(3) 點陣圖形型
點陣圖形型是在一平板上排列多行多列的矩陣式的晶格點,點的大小可根據(jù)顯示清晰度來設(shè)計,可顯示數(shù)字、字母、漢字、圖像,甚至動畫。這液晶顯示器廣泛應(yīng)用于手機、筆記本電腦等需要顯示大量信息的設(shè)備中。
5.2 AMPIRE 128×64
帶中文字庫的128×64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面?梢燥@示8×4行16×16點陣的漢字. 也可完成圖形顯示。低電壓低功耗是其又一顯著特點。由該模
38
河南理工大學 2011畢業(yè)設(shè)計說明書
塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯
示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。 在本次設(shè)計中要求顯示溫度值,濕度值的同時顯示起表明作用的“溫度”與“濕度”
兩組漢字。因此選用點陣圖形型的AMPIRE 128×64。它的基本特性如下: • 低電源電壓(VDD:+3.0--+5.5V);
• 顯示分辨率:128×64點;
• 內(nèi)置漢字字庫,提供8192個16×16點陣漢字(簡繁體可選); • 內(nèi)置 128個16×8點陣字符;
• 2MHZ時鐘頻率;
• 顯示方式:STN、半透、正顯;
• 驅(qū)動方式:1/32DUTY,1/5BIAS;
• 視角方向:6點;
• 背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5—1/10; • 通訊方式:串行、并口可選;
• 內(nèi)置DC-DC轉(zhuǎn)換電路,無需外加負壓;
• 無需片選信號,簡化軟件設(shè)計;
• 工作溫度: 0? - +55? ,存儲溫度: -20? - +60?。 5.2.1 LCD 128×64引腳功能
AMPIRE 128×64內(nèi)置KS0108型圖形液晶模塊驅(qū)動,它的引腳功能表如表5-1所示。 邏輯工作電壓:4.5V,5.5V;
電源地(GND):0V;
工作溫度:0,60?(常溫)/-20,70?(寬溫)。
表5-1 LCD 128×64引腳功能表
引腳號 引腳名稱 電平 引腳功能描述 1 CS1/CS2 H/L 片選信號,芯片1/芯片2控制液晶左半屏/右半屏 2 GND 0V 電源地 3 V +5V 電源正 CC
4 V0 — 對比度(亮度)調(diào)整
39
河南理工大學 2011畢業(yè)設(shè)計說明書
續(xù)表
引腳號 引腳名稱 電平 引腳功能描述
RS=“H”,表示DB7,DB0為顯示數(shù)據(jù)
5 RS H/L
RS=“L”,表示DB7,DB0為顯示指令數(shù)據(jù)
R/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7,DB0
6 R/W H/L
R/W=“L”,E=“L”, DB7,DB0的數(shù)據(jù)被寫到IR或DR
7 E H/L 使能信號
8 DB0,DB7 H/L 三態(tài)數(shù)據(jù)線
9 H/L 復位端,低電平有效 RST
10 VOUT — LCD驅(qū)動電壓輸出端 5.2.2 KS0108控制器指令功能
KS0108控制器指令功能如表4-2所示。具體分析如下:
? 讀狀態(tài)字(read status)格式:
BUSY 0 ON/OFF RESET O 0 0 0
BUSY=1:表示KS0108正在處理計算機發(fā)來的指令或數(shù)據(jù)。此時接口電路被封鎖,不能接受除狀態(tài)字以外的任何操作。BUSY=0表示KS0108接口控制電路已處于“準備好”狀態(tài),等待計算機的訪問。
ON/OFF:表示當前的顯示狀態(tài)。ON/OFF=1表示關(guān)顯示狀態(tài);ON/OFF=0表示開顯示狀態(tài)。
RESSET:表示當前KS1008的工作狀態(tài),即反映RET端得電平狀態(tài)。當RST為低電平狀態(tài)時,KS0108處于復位工作狀態(tài),RESET=1;當RST為高電平狀態(tài)時,KS0108為正常工作狀態(tài),RESET=0。
在占領(lǐng)設(shè)置和數(shù)據(jù)讀寫時要注意狀態(tài)字中的BUSY標志。只有在BUSSY=0時,計算機對KS0108的操作才有效。因此計算機在每次對KS0108操作之前,都要讀出狀態(tài)字判斷BUSY是否為“0”。若不為“0”,則計算機需要等待,直至BUSY=0為止。
? 顯示開關(guān)(display on/off)格式:
0 0 1 1 1 1 1 D
40
河南理工大學 2011畢業(yè)設(shè)計說明書
該指令設(shè)置顯示開關(guān)/觸發(fā)器的狀態(tài),由此控制顯示數(shù)據(jù)鎖存器的工作方式,從而控制顯示狀態(tài)。
D位為顯示開/關(guān)的控制位。當D=1為顯示設(shè)置,顯示數(shù)據(jù)鎖存器正常工作,顯示屏上呈現(xiàn)所需的效果。此時在狀態(tài)字中ON/OFF=0。當D=0為關(guān)顯示設(shè)置,顯示數(shù)據(jù)鎖存器被清0,顯示屏呈不顯示狀態(tài),但顯示存儲器并沒有被破壞,在狀態(tài)組中ON/OFF=1。
? 顯示起始行設(shè)置(display start line)格式:
1 1 L5 L4 L3 L2 L1 L0
該指令設(shè)置了顯示起始行寄存器的內(nèi)容。KS0108有64行顯示的管理能力,該指令中L5,L0為顯示起始行的地址,取值在0,3FH(1,64)范圍內(nèi),它規(guī)定了顯示屏上最頂一行所對的顯示存儲器的行地址。如果定時間間隔地,等間距地修改(如加一或減一)顯示起始行寄存器的內(nèi)容,則顯示屏將呈現(xiàn)顯示內(nèi)容向上或向下平滑滾動的顯示效果。
? 頁面地址設(shè)置(set page(X address))格式:
1 0 1 1 1 P2 P1 P0
該指令設(shè)置了頁面地址?X地址寄存器的內(nèi)容。KS0108將顯示存儲器分成了8頁,指令代碼中P2,P0就是要確定當前所要的選擇的頁面地址,取值范圍為0,7H,代表第1,8頁。該指令規(guī)定了以后的讀/寫操作將在哪一個頁面上進行。
? 列地址設(shè)置(set Y address)格式:
0 1 C5 C4 C3 C2 C1 C0
該指令設(shè)置了Y地址計數(shù)器的內(nèi)容,C5,C0=0,3FH(1,64)代表某一頁面上的某一單元地址,隨后的一次讀或?qū)憯?shù)據(jù)將在這個單元上進行。Y地址計數(shù)器具有自動加一功能,在每一次讀/寫數(shù)據(jù)后它將自動加一,所以在連續(xù)進行讀/寫數(shù)據(jù)時,Y地址計數(shù)器不必每次都設(shè)置一次。
頁面地址的設(shè)置和列地址的設(shè)置將顯示存儲器單元唯一確定下來,為后來的顯示數(shù)據(jù)的讀/寫作了地址的選通。
? 寫顯示數(shù)據(jù)(write display data)該操作將8位數(shù)據(jù)寫入先前已經(jīng)確定的顯示存儲器的單元內(nèi),操作完成后列地址計數(shù)器自動加一。
? 讀顯示數(shù)據(jù)(read display data)該操作將KS0108接口部的輸出寄存器內(nèi)容讀出,然后列地址自動加一。
41
河南理工大學 2011畢業(yè)設(shè)計說明書
5.2.3 應(yīng)用說明
用帶中文字庫的128×64顯示模塊時應(yīng)注意以下幾點:
? 欲在某一個位置顯示中文字符時,應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫入中文字符編碼。
? 顯示ASCII字符過程與顯示中文字符過程相同。不過在顯示連續(xù)字符時,只須設(shè)定一次顯示地址,由模塊自動對地址加1指向下一個字符位置,否則,顯示的字符中將會有一個空ASCII字符位置。
? 當字符編碼為2字節(jié)時,應(yīng)先寫入高位字節(jié),再寫入低位字節(jié)。
? 模塊在接收指令前,向處理器必須先確認模塊內(nèi)部處于非忙狀態(tài),即讀取BF標志時BF需為“0”,方可接受新的指令。如果在送出一個指令前不檢查BF標志,則在前一個指令和這個指令中間必須延遲一段較長的時間,即等待前一個指令確定執(zhí)行完成。指令執(zhí)行的時間請參考指令表中的指令執(zhí)行時間說明。?“RE”為基本指令集與擴充指令集的選擇控制位。當變更“RE”后,以后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位,否則使用相同指令集時,無需每次均重設(shè)“RE”位。 5.2.4 LCD相關(guān)程序
? 字庫1
uchar code hzk[4][32]=
{
/*-- 文字: 濕 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 --*/
0x10,0x60,0x02,0xCC,0x00,0x00,0x3E,0x2A,0xAA,0x2A,0xAA,0x2A,0x3E,0x00,0x0
0,0x00,
0x08,0x08,0xFE,0x01,0x40,0x42,0x4C,0x40,0x7F,0x40,0x7F,0x48,0x44,0x42,0x40,0x0
0,
/*-- 文字: 度 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 --*/
0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0
x00,
0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x
00,
42
河南理工大學 2011畢業(yè)設(shè)計說明書
/*-- 文字: 溫 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 --*/
0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,
0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,
/*-- 文字: 度 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 --*/
0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,
0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,
};
? 字庫2
uchar code num[10][16]=
{
/*-- 文字: 0 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
/*-- 文字: 1 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --*/
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*-- 文字: 2 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --*/
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
/*-- 文字: 3 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --*/
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
/*-- 文字: 4 --*/
43
河南理工大學 2011畢業(yè)設(shè)計說明書
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --*/
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x0
0,
/*-- 文字: 5 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --*/
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x0
0,
/*-- 文字: 6 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --*/
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x0
0,
/*-- 文字: 7 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --*/
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x0
0,
/*-- 文字: 8 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --*/
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x0
0,
/*-- 文字: 9 --*/
/*-- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=8x16 --*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x0
0,
};
? 檢查是否忙
void checkstate()
{
uchar dat;
RS=0;
RW=1;
do{
DATA=0x00;
EN=1;
44
河南理工大學 2011畢業(yè)設(shè)計說明書
_nop_();
dat=DATA;
EN=0;
dat=0x80&dat;
}while(!(dat==0x00));
}
? 寫命令
sendcommand(uchar com) {
checkstate();
RS=0;
RW=0;
DATA=com;
EN=1;
_nop_();
_nop_();
EN=0;
}
? 設(shè)置頁(X)地址
void setline(uchar page) {
page=0xb8|page;
sendcommand(page); }
? 設(shè)定顯示開始行
void setstartline(uchar startline)
{
startline=0xc0|startline;
sendcommand(startline); }
? 設(shè)定列(Y)地址
void setcolumn(uchar column) {
45
河南理工大學 2011畢業(yè)設(shè)計說明書
column=column&0x3f;
column=0x40|column;
sendcommand(column);
}
? 開關(guān)顯示
void setonoff(uchar onoff) {
onoff=0x3e|onoff; //onoff=0or1;
sendcommand(onoff);
}
? 寫顯示數(shù)據(jù)
void writebyte(uchar dat) {
checkstate();
RS=1;
RW=0;
DATA=dat;
EN=1;
_nop_();
_nop_();
EN=0;
}
? 選擇屏幕
void selectscreen(uchar screen) {
switch(screen)
{
case 0:cs1=0;_nop_();_nop_();_nop_();cs2=0;_nop_();_nop_();_nop_();break;
case 1:cs1=0;_nop_();_nop_();_nop_();cs2=1;_nop_();_nop_();_nop_();break;
case 2:cs1=1;_nop_();_nop_();_nop_();cs2=0;_nop_();_nop_();_nop_();break;
}
}
? 清屏
void clearscreen(uchar screen)
46
河南理工大學 2011畢業(yè)設(shè)計說明書
{
uchar i,j;
selectscreen(screen);
for(i=0;i<8;i++)
{
setline(i);
setcolumn(0);
for(j=0;j<64;j++)
{
writebyte(0x00);
}
}
}
? 初始化
void initlcd()
{
checkstate();
selectscreen(0);
setonoff(0);
selectscreen(0);
setonoff(1);
selectscreen(0);
clearscreen(0);
setstartline(0); }
? 顯示全角漢字
void display(uchar x,uchar y,uchar j) //在(x,y)位置顯示第J個字
{
uint i;
setline(x);
setcolumn(y);
for(i=0;i<16;i++)
{
47
河南理工大學 2011畢業(yè)設(shè)計說明書
writebyte(hzk[j]);
}
setline(x+1);
setcolumn(y);
for(i=0;i<16;i++)
{
writebyte(hzk[j][i+16]);
}
}
? 顯示數(shù)字
void displaynum(uchar x,uchar y,uchar j) //在(x,y)位置顯示第J個字
{
uint i;
setline(x);
setcolumn(y);
for(i=0;i<8;i++)
{
writebyte(num[j]);
}
setline(x+1);
setcolumn(y);
for(i=0;i<8;i++)
{
writebyte(num[j][i+8]);
}
}
48
河南理工大學 2011畢業(yè)設(shè)計說明書
6、盆花自動澆水系統(tǒng)的設(shè)計
該系統(tǒng)包括土壤溫濕度檢測與控制系統(tǒng)和蓄水箱自動上水系統(tǒng)兩個系統(tǒng)。 6.1 土壤溫濕度檢測與控制
土壤溫濕度檢測與控制系統(tǒng)以單片機AT89C51為控制核心,通過軟件設(shè)置達到具體動作實現(xiàn)。土壤的溫濕度是由SHT-11數(shù)字溫濕度傳感器檢測并送入單片機,通過單片機的I/O口把檢測到的土壤溫濕度值用LCD顯示出來。同時,如果系統(tǒng)在智能澆水設(shè)置情況下,則該值與設(shè)定的澆水上下限值相比較,若低于下限值,則單片機發(fā)出一個控制信號控制電磁閥打開,開始澆水。若高于上限值時,單片機再發(fā)出一個控制信號控制電磁閥關(guān)閉,停止?jié)菜。若果系統(tǒng)設(shè)置在手動澆水情況下,則按照設(shè)定好的定時澆水時間以及澆水的量進行澆水,SHT-11把檢測到的土壤溫濕度值顯示在LCD上,以達到對土壤溫濕度實時監(jiān)測的目的。具體系統(tǒng)設(shè)計框圖如圖6-1所示。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C03.tmp.png
圖6-1 自動澆水系統(tǒng)設(shè)計框圖
6.1.1 硬件電路設(shè)計
土壤溫濕度檢測與控制系統(tǒng)由AT89C51單片機、SHT-11數(shù)字溫濕度傳感器、LCD顯示屏、輸入按鍵、二極管、三極管與電磁閥等組成。
在第三章中已經(jīng)介紹過數(shù)字溫濕度傳感器SHT—11采用COMSens專利傳感器技術(shù)將
2溫度濕度傳感器、A/D轉(zhuǎn)換器、數(shù)字接口、校準數(shù)據(jù)存儲器、標準IC總線等電路全部
49
河南理工大學 2011畢業(yè)設(shè)計說明書
集成在一個芯片內(nèi),因此在與單片機連接時不需要模/數(shù)轉(zhuǎn)換器,只需要將DATA與SCK兩個引腳連接到單片機的I/O口上即可。
對于LCD顯示屏將DB0,DB7通過排阻RESPACK8連接到單片機的P0.0,P0.7上,E、R/W、RS與P2.0、P2.1、P2.2,片選CS1、CS2與P2.3、P2.4連接。
(1) 鍵盤
在單片機控制系統(tǒng)中可以通過鍵盤輸入數(shù)據(jù)或命令。鍵盤是由一組常開的按鍵組成,每個按鍵都被賦予一個代碼,稱為鍵碼。鍵碼分為編碼鍵盤和非編碼鍵盤。編碼鍵盤是通過一個編碼電路識別閉合鍵的鍵碼,非編碼鍵盤是通過軟件來識別鍵碼。由于非編碼鍵盤的硬件電路簡單,用戶可以方便的改變鍵的數(shù)量,因此在單片機系統(tǒng)中應(yīng)用廣泛。
非編碼鍵盤可以分為獨立式鍵盤和行列式鍵盤兩種結(jié)構(gòu)形式。行列式鍵盤是將I/O線的一部分作為行線,另一部分作為列線,按鍵設(shè)置在行線和列線的交叉點上,這種結(jié)構(gòu)形式的鍵盤適用于鍵數(shù)較多的場合,但硬件電路結(jié)構(gòu)較復雜。獨立式非編碼鍵盤中每一按鍵都獨立地占用一條數(shù)據(jù)線,當一按鍵閉合時,相應(yīng)的I/O線變?yōu)榈碗娖。如圖6-2所示為處于常開狀態(tài)的獨立式鍵盤,當按鍵閉合時I/O線為低電平,當按鍵為常態(tài)時I/O線為高電平。由于機械觸點的彈性作用,觸點在閉合和彈開瞬間的電接觸情況不穩(wěn)定,造成電壓信號的抖動,如圖6-3所示。鍵的抖動時間一般為5,10ms。為了避免一次閉合引起的CPU多次處理,就要采用措施消除抖動。去抖動的方法有硬件去抖和軟件去抖兩種方法。硬件去抖一般采用雙穩(wěn)態(tài)去抖電路(如圖6-4所示)。軟件消抖方法是在CPU檢測到有鍵按下是,延時10,20ms,再次檢測該鍵電平是否仍保持閉合狀態(tài),如果保持閉合狀態(tài),則確認有鍵按下,否則從頭檢測。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C14.tmp.pngfile:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C15.tmp.png
圖6-2 按鍵輸入電路 圖6-3 電壓抖動
50
河南理工大學 2011畢業(yè)設(shè)計說明書
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C25.tmp.png
圖6-4 單穩(wěn)態(tài)去抖電路
在本次設(shè)計中用到的鍵數(shù)較少,為了簡化硬件電路,選用獨立式非編碼鍵盤,并采用軟件消抖的方法來消除按鍵抖動。
(2) 電磁閥
電磁閥(solenoid valve)使用電磁鐵操縱閥芯移動的閥,用在工業(yè)控制系統(tǒng)中調(diào)整介子的方向、流向、速度和其他的參數(shù)。電磁閥是用電磁效應(yīng)進行控制的,主要的控制方式由繼電器控制。這樣,電磁閥可以配合不同的電路來實現(xiàn)預期的控制?刂频木群挽`活性都能夠保證。它的工作原理是:電磁閥里有密閉的腔,在不同的位置開有通孔,每個通孔都可以通向介質(zhì)流通的通道,腔中間是閥,兩面是兩塊電磁鐵,哪面的磁鐵線圈通電閥體就會被吸到哪邊,通過控制閥體的移動來擋住或漏出不同的介質(zhì)流通通道。
電磁閥從原理上分為三大類:
)直動式電磁閥 1
直動式電磁閥在通電時,電磁線圈產(chǎn)生電磁力把關(guān)閉件從閥座上提起,閥門打開;斷電時,電磁力消失,彈簧把關(guān)閉件壓在閥座上,閥門關(guān)閉。它的特點是在真空、負壓、零壓是能正常工作,通徑一般不超過25mm。
2)先導式電磁閥
先導式電磁閥在通電時,電磁力把先導孔打開,上腔室壓力迅速下降,在關(guān)閉件周
51
河南理工大學 2011畢業(yè)設(shè)計說明書
圍形成上低下高的壓差,流體壓力推動關(guān)閉件向上移動,閥門打開;斷電時,彈簧力把先導孔關(guān)閉,入口壓力通過旁通孔迅速在腔室關(guān)閉件周圍形成下地上高的壓差,流體壓力推動關(guān)閉件向下移動,關(guān)閉閥門。它的特點是流體壓力范圍上限較高,可任意安裝(需定制)但必須滿足流體壓差條件。
3)分布直動式電磁閥
分布直動式電磁閥是一種直動和先導式相結(jié)合的原理結(jié)構(gòu),當入口與出口沒有壓差時,通電后,電磁力直接把先導小閥和主閥關(guān)閉件依次向上提起,閥門打開。當入口與出口達到啟動壓差時,通電后,電磁力先導小閥,主閥下腔壓力上升,上腔壓力下降,從而利用壓差把主閥向上推開;斷電時,先導閥利用彈簧力或介質(zhì)壓力推動關(guān)閉件向下移動,使閥門關(guān)閉。它的特點是在零壓差、真空或高壓時亦能動作,只是功率較大,要求必須水平安裝。
本次設(shè)計的是盆花的自動澆水系統(tǒng),根據(jù)盆花每次的需水量并不大,通徑選取20mm左右就能滿足要求,而且澆水的時間遠比不交水的時間長,所以應(yīng)選用常閉型,即通電打開,斷電關(guān)閉。綜上所述,在本次設(shè)計中采用常閉型的直動式電磁閥,不僅控制電路簡單而且經(jīng)濟適用。
(4) 電路連接
5所示。具體的土壤溫濕度檢測控制系統(tǒng)硬件電路連接如圖6-
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C26.tmp.png
(a)土壤溫濕度檢測顯示電路
52
河南理工大學 2011畢業(yè)設(shè)計說明書
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C27.tmp.png
(b) 澆水驅(qū)動電路
圖6-5 土壤溫濕度檢測控制電路
在澆水控制電路中,當P1.0口輸出高電平時,三極管的發(fā)射結(jié)正偏,集電結(jié)反偏,處于放大狀態(tài)。由單片機輸出的電壓經(jīng)三極管放大后驅(qū)動電磁閥動作。在電路中二極管作保護,用以防止過電壓。
6.1.2 系統(tǒng)軟件設(shè)計
土壤溫濕度檢測與控制系統(tǒng)有自動和手動兩種澆水方法。通過設(shè)置鍵來選擇澆水方式,若設(shè)置鍵按下則為手動澆水方式,否則為智能澆水方式。手動澆水時,由單片機向時鐘芯片DS1302讀取實時時間,若與設(shè)定的定時澆水的時間相符,則單片機執(zhí)行定時器/計數(shù)器0中斷程序,完成定量澆水。智能澆水時,傳感器起感應(yīng)作用,當傳感器把感應(yīng)到的土壤溫濕度信號傳給單片機,由控制程序判斷是否需要進行澆水,若需要澆水,單片機輸出高電平打開電磁閥,給植物澆水。當澆了足量的水,傳感器感應(yīng)到后,把信號傳給單片機判斷,單片機再發(fā)出信號讓電磁閥閉合。由此,實現(xiàn)了智能澆水,澆水的上下限由程序編程時設(shè)定。
土壤溫濕度的檢測后在LCD液晶屏上顯示由定時器/計數(shù)器1中斷實現(xiàn)。
在本次設(shè)計中定時器/計數(shù)器0、1均工作在計數(shù)器方式的模式1。為方便時間計算設(shè)定中斷一次為50ms,這樣計數(shù)20次就是一秒?梢砸源祟愅朴嬎愠鏊O(shè)定的時間。
53
河南理工大學 2011畢業(yè)設(shè)計說明書
計數(shù)初值為;。 ,,,,TH,65536,50000/256,61TL,65536,50000%256,176XX
主程序和智能澆水與手動澆水子程序如下:
main()
{
int i,j;
if (button==0) //檢測P3^0口按鍵是否按下
{
for(i=5;i>0;i--)
for(j=248;j>0;j--);
if(button==0)
{
hand_out();
else(button==1)
auto();
}
}
}
(1) 智能澆水子程序
對于一般花卉來講,四季的供水量是:每年開春后氣溫逐漸升高,花卉進入生長旺期,澆水量是逐漸加多。早春澆水宜在午前進行。夏季氣溫高,花卉生長旺盛,蒸騰作用強,澆水量應(yīng)充足。夏季澆水宜在晨、夕進行。立秋后氣溫漸低,花卉生長緩慢,適當少澆水。冬季氣溫低,許多花卉進入休眠或半休眠期,要控制澆水,盆土不太干就不要澆水,以免因澆水過多而爛根、落葉,影響明年生長開花。冬季澆水宜在午后1,2時進行。
void auto()
{
dat=SHT11_Measure(TEM_TEST,210);//14位
tempeture1=SHT11_Convert_Tempeture14bit(dat);
dat=SHT11_Measure(HUM_TEST,55);//12位
RHtrue=SHT11_Convert_Humidity12bit(dat,tempeture1);
temp1=tempeture1;
54
河南理工大學 2011畢業(yè)設(shè)計說明書
temp2=RHtrue;
TMOD=0x10;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET1=1;
TR1=1;
selectscreen(2);
display(0,0,2);
display(0,16,3);
display(2,0,0);
display(2,16,1);
while(1)
{
temp1=tempeture1;
temp2=RHtrue;
displaynum(0,40,temp1%10);
displaynum(0,32,temp1/10);
displaynum(2,40,temp2%10);
displaynum(2,32,temp2/10);
if(temp2<=60)
{
b=1;
P10=b;
}
else if(temp2>=95)
55
河南理工大學 2011畢業(yè)設(shè)計說明書
{
b=0;
P10=b;
}
}
}
void time1() interrupt 1 {
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
count++;
if(count==20) //1s檢測一次
{
count=0;
dat=SHT11_Measure(TEM_TEST,210);//14位
tempeture1=SHT11_Convert_Tempeture14bit(dat);
dat=SHT11_Measure(HUM_TEST,55);//12位
RHtrue=SHT11_Convert_Humidity12bit(dat,tempeture1);
}
}
) 手動澆水子程序 (2
在于單片機中,定時中斷0的優(yōu)先級高于定時中斷1的優(yōu)先級。當這兩個中斷同時
發(fā)出中斷請求時,單片機先響應(yīng)定時中斷0,當ET0=0后再開始執(zhí)行定時中斷1服務(wù)子
程序。手動澆水就是由這兩個中斷程序嵌套完成的。 void hand_out(void)
{
int n;
void WATER1(void);
56
河南理工大學 2011畢業(yè)設(shè)計說明書
void WATER2(void);
void WATER3(void);
void WATER4(void);
dat=SHT11_Measure(TEM_TEST,210);//14位
tempeture1=SHT11_Convert_Tempeture14bit(dat);
dat=SHT11_Measure(HUM_TEST,55);//12位
RHtrue=SHT11_Convert_Humidity12bit(dat,tempeture1);
temp1=tempeture1;
temp2=RHtrue;
TMOD=0x01;
TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1;
ET1=1;
TR1=1;
selectscreen(2);
display(0,0,2);
display(0,16,3);
display(2,0,0);
display(2,16,1);
while(1)
{
temp1=tempeture1;
temp2=RHtrue;
displaynum(0,40,temp1%10);
displaynum(0,32,temp1/10);
displaynum(2,40,temp2%10);
57
河南理工大學 2011畢業(yè)設(shè)計說明書
displaynum(2,32,temp2/10);
n=read(0x89); //讀取DS1302的月份數(shù)據(jù)
if(3<=n<=5)
WATER1();
else if(6<=n<=8)
WATER2();
else if(9<=n<=11)
WATER3();
else if(n==1||n==2||n==12)
WATER4();
}
}
}
void WATER1(void)
{
int h,m,s,c;
unsigned icount;
h=read(0x85); //讀取DS1302小時數(shù)據(jù)
m=read(0x83); //讀取DS1302分鐘數(shù)據(jù)
s=read(0x85); //讀取DS1302秒數(shù)據(jù)
if (c==8&&m==0&&s==0)
{
b=1;
P10=b;
icount=0; //T/C0溢出初始值
TMOD=0x01;
TH0=(65536-50000)/256; //T/C0裝載計數(shù)初值
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
While(1)
58
河南理工大學 2011畢業(yè)設(shè)計說明書
Void timeo(void) interrupter0
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
icount++;
if (icount==12000)
{
icount=0;
b=0;
P10=b;
ET0=0;
}
}
}
else if (c==11&&m==0&&s==0)
{
b=1;
P10=b;
icount=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
While(1)
Void timeo(void) interrupter0
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
icount++;
if (icount==18000)
{
icount=0;
59
河南理工大學 2011畢業(yè)設(shè)計說明書
b=0;
P10=b;
ET0=0;
}
}
}
}
void WATER2(void)
{
int h,m,s,c;
unsigned icount;
h=read(0x85); //讀取DS1302小時數(shù)據(jù)
m=read(0x83); //讀取DS1302分鐘數(shù)據(jù)
s=read(0x85); //讀取DS1302秒數(shù)據(jù)
if (c==8&&m==0&&s==0)
{
b=1;
P10=b;
icount=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
While(1)
Void timeo(void) interrupter0
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
icount++;
if (icount==12000)
{
icount=0;
60
河南理工大學 2011畢業(yè)設(shè)計說明書
b=0;
P10=b;
ET0=0;
}
}
}
else if (c==18&&m==0&&s==0)
{
b=1;
P10=b;
icount=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
While(1)
Void timeo(void) interrupter0
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
icount++;
if (icount==24000)
{
icount=0;
b=0;
P10=b;
ET0=0;
}
}
}
}
void WATER3(void)
61
河南理工大學 2011畢業(yè)設(shè)計說明書
{
int h,m,s,c;
unsigned icount;
h=read(0x85); //讀取DS1302小時數(shù)據(jù)
m=read(0x83); //讀取DS1302分鐘數(shù)據(jù)
s=read(0x85); //讀取DS1302秒數(shù)據(jù)
if (c==8&&m==0&&s==0)
{
b=1;
P10=b;
icount=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
=1; ET0
TR0=1;
While(1)
Void timeo(void) interrupter0
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
icount++;
if (icount==3000)
{
icount=0;
b=0;
P10=b;
Et0=0;
}
}
}
if (c==11&&m==0&&s==0)
{
62
河南理工大學 2011畢業(yè)設(shè)計說明書
b=1;
P10=b;
icount=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
While(1)
Void timeo(void) interrupter0
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
icount++;
if (icount==6000)
{
icount=0;
b=0;
P10=b;
ET0=0;
}
}
}
}
void WATER4(void)
{
int h,m,s,c;
unsigned icount;
h=read(0x85); //讀取DS1302小時數(shù)據(jù)
m=read(0x83); //讀取DS1302分鐘數(shù)據(jù)
s=read(0x85); //讀取DS1302秒數(shù)據(jù)
if (c==13&&m==0&&s==0)
{
63
河南理工大學 2011畢業(yè)設(shè)計說明書
b=1;
P10=b;
icount=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
While(1)
Void timeo(void) interrupter0
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
icount++;
if (icount==6000)
{
icount=0;
b=0;
P10=b;
ET0=0;
}
}
}
else if (c==15&&m==0&&s==0)
{
b=1;
P10=b;
icount=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
64
河南理工大學 2011畢業(yè)設(shè)計說明書
TR0=1;
While(1)
Void timeo(void) interrupter0
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
icount++;
if (icount==12000)
{
icount=0;
b=0;
P10=b;
ET0=0;
}
}
}
}
6.2 蓄水箱自動供水系統(tǒng)
蓄水箱自動供水系統(tǒng)的控制對象為水泵,容器為蓄水箱。水位高度正常情況下控制在C、D之間,如圖6-6a所示;當水位低于C點時,水泵開始進水,如圖6-6b所示;當水位高于D點時,水泵停止進水,如圖6-6c所示;當水位低于C點并達到B點時就報警,采取手動啟動水泵,如圖6-6d所示;當水位高于D點并達到E點時上限報警,采取強制停止水泵進水,如圖6-6e所示。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C38.tmp.pngfile:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C39.tmp.pngfile:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C3A.tmp.png
(a) (b) (c)
65
河南理工大學 2011畢業(yè)設(shè)計說明書
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C3B.tmp.pngfile:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C3C.tmp.png
(d) (e)
圖6-6 設(shè)計分析示意圖
6.2.1基本的導電理論
電子流動的方式可運用于液體上。液體流過管道與電子流過一個電阻類似(如圖6-7所示)。引起電流流動的力被稱為電動勢EMF。電池、發(fā)動機或電站可提供電動勢。電池有正負極,如果在兩極之間連接導線則有電流流動。水系統(tǒng)的泵作為壓力源類似于電池。在電動勢(EMP)源的兩極測量電動勢差為電壓,電壓高(壓力)則電流(流量)大。上水系統(tǒng)中管道和閥門產(chǎn)生的阻力類似于電流流過電路的電阻。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C4D.tmp.pngfile:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C4E.tmp.png
電壓(V)=泵壓(m揚程)
電流(A)=流率(L/s)
電阻(Ω)=閥門流阻(kPa)
圖6-7 水循環(huán)和電路的類比
66
河南理工大學 2011畢業(yè)設(shè)計說明書
6.2.2系統(tǒng)工作原理
在本次設(shè)計中采用純硬件控制電路,利用555定時器的定時與驅(qū)動功能制作一個性能可靠、成本低的蓄水箱自動供水系統(tǒng)。該系統(tǒng)主要分為模擬檢測和邏輯判斷兩大塊,如圖6-8所示。模擬檢測實際上測量的是B、C、D、E四個探頭相對于A點(即地)電位的到底,在水箱里的四個探頭B、C、D、E各點和A點之間實際上就相當于一個可變的電阻。當電阻值發(fā)生變化時,各點的位值不同,再通過邏輯判斷及可以得到不同的輸出,以達到操作控制不同的動作。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C4F.tmp.png
圖6-8 系統(tǒng)框圖
6.2.3 系統(tǒng)硬件組成
該系統(tǒng)由導電率探頭,555定時器、蜂鳴器、放大器和與非門電路等組成。
(1)導電率探頭
對于一個盛水的開式水箱,一個探頭(金屬棒)懸吊在水箱上(如圖6-9所示),如果加載電壓而且電路上串聯(lián)電流表,可以看到:探頭浸入水中,電路有電流通過;探頭脫離水面,電流消失。
這是導電率探頭的基本原理,當水位接觸了探頭尖部,就通過相連的控制器觸發(fā)一個動作。如啟動或停止水泵,打開或關(guān)閉閥門,觸發(fā)報警警鈴與打開或關(guān)閉繼電器等。但是一個探頭僅能提供一個單一的作用點,因此,為了在預設(shè)的水位開關(guān)水閥和發(fā)出報警信號等就需要選擇多個長短不一的導電率探頭組合在一起。不過這一點對于導電率探頭是相當易于實現(xiàn)的,因為其在安裝時可截斷到需要的長度。
67
河南理工大學 2011畢業(yè)設(shè)計說明書
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C50.tmp.png
圖6-9 單導電探頭工作原理
(2)555定時器
555定時器是一種模擬和數(shù)字功能相結(jié)合的中規(guī)模集成器件,電源電壓范圍寬,可在4.5V,16V工作。它的成本低,性能可靠,只需要外接幾個電阻、電容就可以實現(xiàn)多
[16]謝振蕩器、單穩(wěn)態(tài)觸發(fā)器及施密特觸發(fā)器等脈沖產(chǎn)生與變換電路。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C60.tmp.png
圖6-10 555定時器的內(nèi)部電路框圖
555定時器的內(nèi)部電路框圖如圖6-10所示。它內(nèi)部包含兩個電壓比較器、三個等值串聯(lián)電阻、一個RS觸發(fā)器、一個放電管T及功率輸出級,并提供兩個基準電壓VCC/3和2VCC/3。其引腳排列如圖6-11所示,各引腳功能如下:
引腳1—外接電源負端VSS或接地,一般情況下接地;
引腳2—低觸發(fā)端;
68
河南理工大學 2011畢業(yè)設(shè)計說明書
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C71.tmp.png
圖6-11 555定時器引腳圖
引腳3—輸出端V;
引腳4—直接清零端。當該端接低電平,則時基電路不工作,此時不論、TH處于何電平,時基電路輸出為“0”,該端不用時應(yīng)接高電平。
引腳5—VC為控制電壓端。若此端外接電壓,則可改變內(nèi)部兩個比較器的基準電壓,當此端不用時,應(yīng)將該端串入一只0.01uF電容接地,以防引入干擾;
引腳6—TH高觸發(fā)端;
引腳7—放電端。該端與放電管集電極相連;
引腳8—外接電源VCC,一般用5V。
555 定時器的功能主要由兩個比較器決定。兩個比較器的輸出電壓控制 RS 觸發(fā)器和放電管的狀態(tài)。在電源與地之間加上電壓,當5腳懸空時,則電壓比較器 C1的同相輸入端的電壓為 2VCC/3,C2的反相輸入端的電壓為VCC/3。若觸發(fā)輸入端TR的電壓小于VCC/3,則比較器C2的輸出為 0,可使 RS 觸發(fā)器置1,使輸出端 OUT=1。如果閾值輸入端 TH的電壓大于2VCC/3,同時TR端的電壓大于VCC/3,則C1的輸出為0,C2的輸出為1,可將RS觸發(fā)器置0,使輸出為0電平。根據(jù)555定時器的控制功能,可以制成各種不同的脈沖信號與處理電路,例如:施密特觸發(fā)器、單穩(wěn)態(tài)觸發(fā)器、自激多諧振蕩器等。其控制功能說明見表6-1。
69
河南理工大學 2011畢業(yè)設(shè)計說明書
表6-1 555定時器控制功能表
輸入 輸出
TH TR R V DdOis
× × L L 導通
,2V/3 ,V/3 H H 截止 CCCC
,2V/3 ,V/3 H 不變 不變 CCCC
,2V/3 × H L 導通 CC
(3)蜂鳴報警器
蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,它主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。
電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場,振動膜片在電磁線圈和磁鐵的相互作用下,周期性的振動發(fā)聲。
壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。多諧振蕩器由晶體管或集成電路構(gòu)成,當接通電源后(1.5,15V 直流工作電壓),多諧振蕩器起振,輸出1.5,2.5KHZ的音頻信號,阻抗匹配器推動壓電蜂鳴片發(fā)聲。
本次系統(tǒng)設(shè)計中采用的是電磁式蜂鳴器。蜂鳴片與555定時器通過一個三極管連接,通過555定時器的控制功能,使三極管周期性的導通從而使蜂鳴器振動發(fā)聲。
6.2.4 系統(tǒng)電路連接
蓄水箱供水系統(tǒng)的硬件連接圖如圖6-12所示,包括水位監(jiān)測電路,誤動作判斷電路,水位控制電路,電機開啟或關(guān)閉和報警電路。
從圖中可以看出,水位正常情況下應(yīng)該保持在C、D范圍之間,此時,B、C、D、E 4個探頭的邏輯電平為0011,水箱水位處于保持狀態(tài);當水位低于C點,處于B、C之間時,B、C、D、E 4個探頭的邏輯電平為0111,水箱水位處于進水狀態(tài);當水位高于D點,處于D、E之間時,B、C、D、E 4個探頭的邏輯電平為0001,
70
河南理工大學 2011畢業(yè)設(shè)計說明書
水箱水位處于停進狀態(tài);當水位低于B點或高于E點,B、C、D、E 4 個探頭的邏輯電平為1111或0000時,表明控制水位變化的電路出現(xiàn)了故障,水箱水位報警電路開始工作,產(chǎn)生下限報警或上限報警,即低報或高報,此時,需要人工手動關(guān)閉報警設(shè)備并啟動或閉合控制電機。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C72.tmp.png
圖6-12 蓄水箱供水系統(tǒng)的硬件連接圖
6.2.5 參數(shù)計算
水位指示燈部分令流過三極管T1、T2、T3、T4集電極的電流I為10mA,由: C
,,I,V,1.5/R,10mA, CCCC
RI,I/,,10mA/100,0.1mAR,V/I,10得=350Ω;取β=100,則因此KΩ。CBCBCCB
R但是在實際調(diào)試中,電阻值過小,所以選擇=15KΩ。 B
6.2.6 水箱水位控制系統(tǒng)檢測
水箱水位控制系統(tǒng)的測試,圖6-13是水箱水位控制系統(tǒng)的外觀正視圖,由電源指示燈、報警確認燈、水位指示燈及報經(jīng)確認開關(guān)組成。接通電源時,電源指示燈亮,當水箱中水深處于不同位置時,水位指示燈B、C、D、E狀態(tài)不同,各狀態(tài)如下:
71
河南理工大學 2011畢業(yè)設(shè)計說明書
(1)當水位處于B點之下,指示燈B、C、D、E全亮,報警電路開始報警,即下限 報警;
(2)當水位處于B、C之間,指示燈B滅,C、D、E亮,水泵開始進水;
(3)當水位處于C、D之間,指示燈B、C滅,D、E亮,保持狀態(tài),即保持進水;
(4)當水位處于D、E之間,指示燈B、C、D滅,E亮,停進狀態(tài),即水泵不工作;
(5)當水位處于E點之上,指示燈B、C、D、E全滅,水泵不工作,報警電路開始 溢出報警,集上限報警。
報警電路可以手動關(guān)閉,只要按下報經(jīng)確認開關(guān),就可以解除報警的蜂鳴聲。此時,報經(jīng)確認燈亮起。處理完故障時,必須關(guān)閉報警確認燈,報警電路復位,恢復其檢測故障的功能。經(jīng)過檢測,水箱水位控制器符合設(shè)計的預定要求。
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C73.tmp.png
圖6-13 水箱水位控制系統(tǒng)的外觀正視圖
此方案采用純硬件電路設(shè)計,避免了軟件程序設(shè)計中的不穩(wěn)定因素,提高了實際運用中的可靠性。
72
河南理工大學 2011畢業(yè)設(shè)計說明書
7、總結(jié)
本次設(shè)計的盆花自動澆水系統(tǒng)以電子類的自動澆花器的工作原理為參考,運用現(xiàn)代傳感器技術(shù)及單片機控制技術(shù)構(gòu)成一個土壤溫濕度采集與控制系統(tǒng)。再用數(shù)字電路控制自動給水系統(tǒng)及時的給澆水系統(tǒng)供水。整個盆花自動澆水系統(tǒng)包括土壤溫濕度的檢測和顯示、自動澆水和蓄水箱自動上水及水位報警三個部分。土壤溫濕度的檢測和顯示以溫濕度傳感器SHT-11為感應(yīng)部件,將檢測到的土壤溫濕度值送入AT89C51單片機,再由單片機的I/O口輸出到LCD液晶顯示屏進行顯。同時此濕度值也是是否給盆花澆水的參考值。自動澆水部分與土壤溫濕度的檢測和顯示部分共同構(gòu)成土壤溫濕度的檢測與控制系統(tǒng)。它設(shè)計為智能和手動兩個部分:智能澆水部分是通過單片機程序設(shè)定澆水的上下限值并與SHT-11送入單片機的土壤濕度值相比較,當傳感器檢測到的濕度值低于設(shè)定的下限值時,單片機輸出一個信號控制電磁閥打開,開始澆水,高于設(shè)定的上限值時再由單片機輸出一個信號控制電磁閥關(guān)閉,停止?jié)菜?手動部分是由單片機從時鐘芯片DS1302讀入月份與每天的實時時刻,通過軟件程序設(shè)定定時澆水的時間與澆水的量。蓄水箱自動上水及水位報警采用純硬件電路控制,實現(xiàn)水箱水位實時監(jiān)測、自動上水以及水位上下限報警的功能。
通過本次畢業(yè)設(shè)計,讓我進一步了解了微電腦控制的智能系統(tǒng)。也使我真正接觸到了檢測控制系統(tǒng)的設(shè)計,雖然是一個人們?nèi)粘I钪械男∠到y(tǒng),但也讓我明白了很多設(shè)計上應(yīng)該注意的問題。比如實用性、經(jīng)濟性以及安裝條件等。
73
河南理工大學 2011畢業(yè)設(shè)計說明書
8、致謝
經(jīng)過近三個月的時間,本次畢業(yè)設(shè)計已接近尾聲。在這個過程中我遇到了許多的困難,有專業(yè)知識的不連貫,也有硬件選擇時的實踐經(jīng)驗不足等。不過,在老師和同學的幫助下,這些問題都得到了很好的解決。在這里,我要感謝指導老師趙彥如副教授在我做畢業(yè)設(shè)計的每個階段,從查閱資料到設(shè)計草案的確定和修改,中期檢查,后期詳細設(shè)計等整個過程中所給予我悉心指導。感謝測控教研室的每一位老師對我的幫助。同時也要感謝我的同學將收集到的有關(guān)盆花自動澆水系統(tǒng)的資料給我,讓我的設(shè)計有了更多的參考。
74
河南理工大學 2011畢業(yè)設(shè)計說明書
參考文獻
[1] 李泉溪.單片機原理與應(yīng)用實例仿真[M].北京:北京航空航天大學出版社,2009.8. [2] 曾光宇等.現(xiàn)代傳感器技術(shù)與應(yīng)用基礎(chǔ)[M].北京:北京理工大學出版社,2006.3. [3] 李敏,孟臣.數(shù)字式溫/濕度傳感器及其應(yīng)用技術(shù)[J].電子元器件應(yīng)用,2004,(11). [4] 楊永杰,馮軍.數(shù)字式溫濕度傳感器SHT11在塵埃檢測儀中的應(yīng)用[J].電子工程師,2005,(08). [5] 孫榮高,孫德超.數(shù)字溫濕度數(shù)據(jù)記錄儀的設(shè)計[J].現(xiàn)代電技術(shù),2005,(7). [6] 黃鴻,吳石增.傳感器及其應(yīng)用技術(shù)[M].北京:北京理工大學出版社,2008.7. [7] 劉燦軍.實用傳感器[M].北京:國防工業(yè)出版社,2004.6.
[8] 王煜東.傳感器應(yīng)用電路400例[M].北京:中國電力出版社,2008.
[9] 孫惠芹.單片機項目設(shè)計教程[M].北京:電子工業(yè)出版社,2009.6. [10]賈宗璞,許合利.C語言程序設(shè)計[M].徐州:中國礦業(yè)大學出版社,20007.1. [11]唐文彥.傳感器[M].北京:機械工業(yè)出版社,2006.7.
[12]宗光華,李大寨.多單片機系統(tǒng)應(yīng)用技術(shù)[M].北京:國防工業(yè)出版社,2003.10. [13]王芳琴.單片機控制的節(jié)水灌溉系統(tǒng)的研究[J].華中農(nóng)業(yè)大學.
單片機原理及實驗/實訓[M].西安:西安電子科技大學出版社,2009. [14]趙振德.
[15]頂軻軻.自動測量技術(shù)[M].北京:中國電力出版社,2004.
[16]艾永樂,付子儀.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:中國電力出版社,2008. [17]孫榮高,呂昂.微控制器溫室環(huán)境溫濕度程序控制系統(tǒng)的研究與設(shè)計[J].微計算機信息,2005,(10).
序號 名稱 規(guī)格型號 單位 數(shù)量 備注 一 制冷系統(tǒng) 1 壓縮機組 4AV10 臺 4 2 冷凝器 LN-70 臺 1 3 貯氨器 ZA-1.5 臺 1 4 桶泵組合 ZWB-1.5 臺 1 5 氨液分離器 AF-65 臺 1 6 集油器 JY-219 臺 1 7 空氣分離器 KF-32 臺 1 8 緊急泄氨器 JX-108 臺 1 9 冷風機 KLL-250 臺 8 10 冷風機 KLD-150 臺 4 11 冷風機 KLD-100 臺 2 12 閥門 套 86 13 電磁閥 套 6
75
河南理工大學 2011畢業(yè)設(shè)計說明書
14 管道及支架 噸 18.6 3 15 管道及設(shè)備保溫 m22 16 管道保溫包扎 鍍鋅板 噸 1.6 17 附件 套 1 二 氣調(diào)系統(tǒng) 1 中空纖維制氮機 CA-30B 臺 1 2 二氧化碳洗滌器 GA-15 臺 1 3 氣動電磁閥 D100 臺 14 4 電腦控制系統(tǒng) CNJK-406 臺 1 5 信號轉(zhuǎn)換器 8線 臺 1 6 果心溫度探頭 臺 7 37 庫氣平衡袋 5 m 個 7 8 庫氣安全閥 液封式 個 7 9 小活塞空壓機 0.05/7 臺 1 10 PVC管 套 1 11 附件 套 1 三 水冷系統(tǒng) 1 冷卻塔 DBNL-100 臺 2 3
2 水泵 SBL80-160I 臺 2 3 水泵 SBL50-160I 臺 2 4 閥門 套 30 5 管道及支架 噸 2.8 6 附件 套 1 四 電儀控系統(tǒng) 1 電器控制柜 套 1 2 照明系統(tǒng) 套 1 3 電線電纜 套 1 4 橋架管線 套 1 5 附件 套 1
76
河南理工大學 2011畢業(yè)設(shè)計說明書
file:///C:\Users\abc\AppData\Local\Temp\ksohtml\wps7C84.tmp.png
|