




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 題目:基于單片機的溫室大棚環境參數監控系統設計與研究基于單片機的溫室大棚環境參數監控系統設計與研究摘 要現如今,我國的經濟水平和社會地位都在不斷的進步和提高,人們對生活質量的要求也越來越高。因而,很多人希望在一年四季內都能品嘗到優質新鮮的蔬菜,這一需求促進了溫室大棚的發展和進步。良好的溫室大棚需要有一套科學和先進的管理方法才能更好的運用好溫室栽培這一高效技術,更需要有一個能夠對溫室大棚環境參數進行實時檢測的監控系統。這種系統可以檢測溫室大棚內的溫度和濕度,確保大棚內的蔬菜生活在優良舒適的環境內。本課題就是運用AT89C51單片機設計和實現了這種監控系統,它將單片機的相關應用具體化和實際化了,
2、體現了單片機的一種實際意義。此系統是溫室大棚環境參數監控系統,它的功能是將溫室大棚內的溫度和濕度進行檢測并顯示出來。AM2301是系統中的溫濕度傳感器,它是通過AT89C51單片機進行檢測溫度和濕度的數值,并經過一系列的運算處理將數值在1602液晶屏上顯示出來。檢測的數值會和之前設置的標準溫濕度范圍進行比較,判斷是否在這范圍內,倘若不在這個標準的范圍內,系統就會對此結果執行相應的報警程序。關鍵詞:AT89C51;AM2301;1602液晶顯示屏;溫濕度控制系統;報警Design and Research of Greenhouse Environmental Monitoring System
3、 Based on Single Chip MicrocomputerAbstractNowadays, our country's economic level and social status are continuous progressed and improved, people has higher requirement for the quality of life. Therefore, more and more people wish can enjoy high quality fresh vegetables at all seasons, so green
4、houses have make great development and progress. Good greenhouses needs a set of scientific and advanced management methods that can manage using efficient technology of good greenhouse cultivation better, and we need a monitoring system that can test greenhouse environmental's parameters in rea
5、l time. This system can detect the temperature and wetness inside the greenhouse greenhouses and ensure the vegetables have a comfortable environment.This topic is designed and implemented the monitoring system by AT89C51, it will be to embody and pragmatize the function of MCU, and it showed the me
6、aning in our life. The system is the greenhouse's environmental parameters monitoring system, it's function is to detect the temperature and humidity inside the greenhouse and show it. AM2301 is a sensor to detect temperature and wetness in the system, it is test temperature and value of wet
7、ness by AT89C51, and show the data by a series of processing on the LCD screen in 1602.Comparing the data with Standard temperature and humidity range that set before, and make a judgement. The system will execute corresponding program of alarm if the data is unnormal.Key Words:AT89C51;AM2301;LCD160
8、2;Temperature and Humidity Control System;Alarm目 錄1 緒 論11.1 課題研究的背景11.2 課題研究的目的和意義11.3 課題研究的主要內容22 系統總體設計32.1 系統功能設計32.2 系統設計原則32.2.1 可靠性32.2.2 操作維護方便32.2.3 性價比42.3 系統的組成和工作原理42.3.1 系統的組成42.3.2 系統的工作原理53 系統硬件設計63.1 單片機系統設計63.1.1 AT89C51單片機簡介63.1.2 AT89C51單片機的引腳介紹73.1.3 時鐘電路設計83.1.4 復位電路設計83.2 溫濕度采集電
9、路設計93.2.1 AM2301簡介93.2.2 AM2301接口電路設計113.3 液晶顯示電路設計113.4 光聲報警電路設計123.5 按鍵設置電路設計134 系統軟件設計144.1 初始化模塊144.2 溫濕度檢測模塊154.3 溫度和濕度控制模塊154.4 1602液晶顯示模塊164.5 報警模塊165 結 論17致 謝18參考文獻19附 錄20附錄1 整體電路圖20附錄2 程序代碼211 緒 論1.1 課題研究的背景改革開放以后,我國的經濟水平在快速的發展,我國的社會地位在不斷的進步,生活質量水平的好壞相對很多人來說也變得至關重要。如何在一年四季都能種植和培養出優質新鮮的蔬菜,一直
10、是人們研究的課題方向。而基于單片機的溫室大棚環境參數監控系統對解決這些問題有著非常重大的意義1。溫室大棚一直都用于植物種植和培育中,但這需要有一套科學的和先進的管理方法才能更好的運用好溫室栽培這一高效技術,這樣就可用它來監控植物在各個時間段所需要的溫度和濕度等一系列環境參數。把溫濕度監控系統用在溫室大棚中,是將單片機的相關應用具體化和實際化了,體現了單片機的一種實際意義,這種應用隨著溫室大棚的發展將會十分廣泛,它代表了一種智能監控的方法。1.2 課題研究的目的和意義在工業設計、農業生產、國防安全等行業,環境參數的監測都有著非常廣泛的實際應用。因為使用的環境不同、采集的參數不同,其系統設計也有著
11、很大不同2。在現代實際生活和發展中這一系統的應用十分廣泛,溫度和濕度是室溫大棚環境檢測系統中兩個舉足輕重的顯示和判斷指標,需要對溫度和濕度進行定期的抽樣檢測和分析,從而采用合理的方法進行應對?,F如今,國內外的溫濕度檢測器件種類五花八門,而且擁有比較廣泛的應用,再加上現代科技不斷發展的單片機和大規模集成電路技術,隨之產生了可行性比較高、穩定性比較高的單片環境參數采集體系。隨著國內外社會的不斷發展和進步,很多人對現有所處的生活環境要求變得越來越嚴格。為了讓人們在一年四季都能吃到優質的蔬菜,在培育蔬菜的溫室大棚中,對這一點要求尤其嚴格。運用單片機的溫室大棚監控系統的設計,將對大棚中環境的溫濕度監控進
12、行具體的設計與實現3。在智能測試器件、工業生產操控、機械統一控制等方面,AT89C51單片機是很好的控制芯片,在很多溫濕度監控系統的實際應用也比較常見。用AT89C51單片機實現溫濕度實時的自動監控和顯示不僅性能良好,而且價格也非常便宜。同時,在學習和應用中,AT89C51單片機也易于掌握。使用這一監控系統,可以對溫室大棚內的溫濕度變化及時、精確的監控和顯示以及更重要的報警功能。在溫室大棚當中采用此系統對植物的生活環境進行了時刻的監控,以便能對植物提供更加適宜的環境。1.3 課題研究的主要內容本課題設計的系統是采用高性價比的AT89C51單片機和高準確度AM2301數字溫濕度傳感器設計,并朝著
13、智能化、低廉化、模塊化、迅速化的單片機數據采集系統逼近。本系統要滿足以下要求:(1) 能夠準確的采集溫室大棚中的溫度值與濕度值。(2) 根據采集的數據實時的把結果顯示出來。(3) 通過之前采集的溫濕度參數值,運用合理的方法準確的比較設定值與測出值之間的差別,超出范圍時進行報警提示。2 系統總體設計2.1 系統功能設計本系統應具有以下功能:(1) 采集溫室大棚里的溫度和濕度,用數字顯示出溫室大棚中的溫度和濕度。(2) 運用單片機的功能對采集的溫濕度值進行不斷檢察、數值比較,然后顯示所采集的數值。(3) 實現超越正常溫濕度參數范圍內的及時報警。設定達到的溫濕度參數指標如下:(1) 所設溫度范圍:1
14、030攝氏度,溫度檢測精度:+0.5攝氏度;(2) 所設濕度范圍:20到60%RH,濕度檢測精度:+2.5%RH4。2.2 系統設計原則在系統設計當中要遵循一定的設計原則,本次基于單片機的溫室大棚監控系統要求在可靠性、操作方法、維修體系、價格與性能等方面具有良好的體現,能夠對現實中所遇到的問題簡單合理地解決。 可靠性在高可靠性的單片機系統的前提下,系統設計的各個環節,可靠性設計準則應該是首要的。為了提高系統的可靠性,通常是從下面幾點來研究:高可靠性元件的使用;合理可靠地設計電路板布線以及眾多的接地;用一系列措施使供電電源具有抗干擾能力;IN和OUT通道也要具有抗干擾性;軟件和硬件的濾波及判斷系
15、統的診斷功能。 操作維護方便為了減少對運行者相關知識的要求,在軟件和硬件系統的設計中,我們要借助運行者的角度考慮操作和維護方便,從而便于系統的不斷發展。所以在系統設計中,要增加非人機交換界面,內部植入或簡化相應的操作方法。而且系統應對現場故障進行自動診斷和配備,以便可以有效地保證故障定位,最終進行合理的修復5。 性價比單片機最大的優勢是較高的性價比,此外它還具有小尺寸、低功耗等的特點。性價比是一個單片機應用系統是否被廣泛地應用的重要條件。所以我們在設計中,要盡可能地降低設計成本,但這是在保持高性能的基礎上。而且要對外圍的硬件電路進行合理地簡化,并盡可能地用相同性能和運行速度的軟件進行替換,使電
16、路更簡單,性價比更高。2.3 系統的組成和工作原理 系統的組成AT89C51單片機數據顯示電路(LCD1602)報警電路(LED發光二極管,蜂鳴器)溫濕度檢測電路(溫濕度傳感器AM2301)判斷此溫室大棚智能監控系統是以AT89C51單片機為控制中心,采用控制系統、通信系統、溫濕度檢測系統等相關技術,測量元件為AM2301溫濕度傳感器。在此基礎上設計了溫濕度檢測電路、數據顯示電路以及報警電路。圖2.1為系統的組成框圖,主要電子元器件為:AT89C51單片機,溫濕度傳感器AM2301,LCD1602顯示屏,紅色發光二極管LED,蜂鳴器等6。圖2.1 系統的組成 系統的工作原理本系統在參數采集、數
17、據傳輸、數據顯示、判斷報警過程中都要通過AT89C51單片機進行運算,因為AT89C51單片機是此系統的核心。通過數字溫濕度傳感器AM2301單總線數據采集,通過AT89C51單片機在LCD1602上顯示收集的數據。如果采集的參數結果超出設定的標準范圍,蜂鳴器就會經行實時的報警,紅色LED將會顯示提示。此監控系統中的單片機編寫是運用C語言,編寫相對簡單,而且運用了AM2301單總線技術7。溫室大棚監控系統是基于AT89C51單片機為中央控制單元,該中心負責系統的操作和控制,從而達到各模塊之間的協調工作。單片機把所采集的值合理地處理,并在液晶屏上顯示相應的數據8。報警功能是通過LED發光二極管和
18、報警模塊進行實現,倘若超過之前設定的范圍,系統便會自動報警,這會體現在LED和蜂鳴器上,以此來通知用戶采取相對應的措施。系統初始化LCD顯示數據溫濕度檢測報警判斷不報警符合不符合系統的工作流程圖如圖2.2所示。圖2.2 系統的工作原理圖3 系統硬件設計3.1 單片機系統設計在討論了總體方案和實施措施后,上述硬件系統設計便可開始,無論是應用系統還是軟件系統,它們的基礎都是硬件系統,可見硬件系統設計的重要性。在主機的選擇中應考慮很多因素,對總體功能、性價比及其運行速度等方面考慮后,選擇了51單片機系列中的AT89C51,它不必進行存儲擴展,而且符合所有的要求,同時設計上也相對簡便。3.1.1 AT
19、89C51單片機簡介MCS-51系列單片機最基礎的成果是8031/8051/8751(8031/8051/8751是對應的低功耗單片機以及其增強產品8032/8052/8752)。它們具有品種全、兼容性強、性價比高等特點,然而它們卻是8位的單片機,同時具有足夠齊全豐富的軟硬件應用設計內容,在國內外設計人員中都有所認識。在1980年到1990年期間,MCS-51系列單片機是中國設計運用非常普遍的單片機機型9。中央微處理機AT89C51:它是一個消耗功率低、運行性能高的CMOS 8位單片計算機。擁有4K字節的ISP(在一些系統中可以編程成片狀)的Flash程序存儲器只讀反復1000次。使用Atme
20、l高密度不容易丟失的存儲器設備、匹配準則、制造技術、一系列MCS-51指令系統和80C51引腳的基本結構,通用8位CPU和ISP閃存存儲單元,AT89C51強大的計算機可以為許多嵌入式控制應用系統提供高可比性的解決方案。AT89C51具有以下特點:看門狗(WDT)電路,片內時鐘振蕩器,2個16位可編程定時計數器,40個引腳,2層中斷嵌套中斷,32個外部雙向輸入/輸出(I/O)口,2個全雙工串行通信口,128字節的RAM,4000字節Bytes Flash片內程序存儲器,5個中斷優先級10。此外,振蕩頻率在AT89C51中,也相應地進行了設計和配置。而且運用軟件設置合理的省電模式。在掉電模式下,
21、振蕩器停止工作來保護RAM的數據,阻止其他芯片功能,直到外部中斷或硬件復位被激活。空閑模式下,RAM定時器/計數器、串行端口和中斷系統可繼續工作。但是中央處理器就會結束工作。而且,該芯片包含三種封裝:PDIP,TQFP和PLCC。根據現實的選擇需求,并且也考慮到了整個系統的設計和精致的成本,因此在本系統的設計中采用AT89C51單片機作為整個系統的控制器,因為它的價格便宜、運行也比較可靠11。圖3.1 AT89C51單片機實物圖圖3.2 AT89C51單片機的片內硬件組成結構3.1.2 AT89C51單片機的引腳介紹AT89C51的引腳封裝如圖3.3所示。AT89C51共40個引腳,可劃分為以
22、下3種:電源及時鐘引腳:VCC、VSS;XTAL1、XTAL2??刂埔_:PSEN、ALE/PROG、EA/VPP、RST。I/O口引腳:P0、P1、P2、P3,為4個8位I/O口的外部引腳。圖3.3 AT89C51的引腳封裝3.1.3 時鐘電路設計AT89C51單片機的每個模塊的運作均是依靠時鐘信號為統一標準,按先后順序、一定規則地操作。所以單片機的運行速度會被時鐘頻率非間接影響,單片機系統的穩定性也會被時鐘電路的質量非間接影響。在AT89C51單片機中,高增益反相放大器是為了產生內部震蕩的,XTAL1是它的輸入端,XTAL2是它的輸出端12。二者之間接有12M的石英晶體和30pF的電容,以
23、此來形成一個相對穩定的振蕩器。而外部時鐘方式時,XTAL2端懸空,它的外部時鐘電源將會接到XTAL1端。時鐘電路如圖3.4所示。圖3.4 時鐘電路3.1.4 復位電路設計單片機的初始化運作是復位,在RST復位端上外加兩個機器周期可使單片機復位。復位電路通常采用兩種方式自動復位和復位按鈕。電源由電容C添加到復位端短的高電平信號,信號逐漸下降與VCC電容C充電時間RST充電過程,在這一高度的持續時間取決于電容C。因此,為了保證系統能夠可靠地復位,在EST引腳高水平必須保持足夠長的時間。有兩種類型的復位方式,手動按鈕和水平脈沖復位13。復位電路如圖3.5所示。圖3.5 復位電路3.2 溫濕度采集電路
24、設計本設計采用AM2301數字溫濕度傳感器來采集數據,它可以同時采集溫度和濕度,并通過一條數據線對單片機進行數據輸出。 AM2301簡介AM2301數字溫濕度傳感器是一種溫度和濕度信號可以同時輸出的傳感器。它是應用特定程序的數字模塊采集技術和溫濕度傳感技術,確保產品具有高可靠性和良好的長期穩定性。該傳感器包括一個電容式濕度傳感元件和溫度傳感器,并連接一個高性能的8位單片機。因此,產品品質優良,響應速度快,抗干擾能力強,性價比很高。AM2301傳感器事先是要經過準確地校準再進行封裝,校準的系數通過程序的方式存儲在OTP內部存儲器中,傳感器內部調用校準系數進行處理檢測信號。它是一個快速簡易的單線串
25、行接口集成系統,且體積小,消耗也比較低。即使在最苛刻的環境下應用,也可以很好地傳輸,因此成為各種應用的最佳選擇。AM2301傳感器為4引腳單列引腳封裝產品,連接方便,特殊的包裝也可根據客戶的需求提供14。AM2301的引腳如圖3.6所示。其中,1腳VDD:供電;2腳DATA:串行數據傳輸,單總線形式;3腳NC:空腳,懸空(不要接VCC或GND);4腳GND:接地,電源負極。圖3.6 AM2301引腳AM2301的額定工作電壓在3.5-5.5V范圍區間內,而一般供電電壓設定是5V。數據線DATA當作讀/寫傳感器,而且它的數據引腳為三態結構。AM2301的技術參數如表3-1所示。表3-1 AM23
26、01技術參數參數條件MinTypMax單位濕度分辨率0.1%RH16Bit重復性1%RH精度253%RH0505%RH互換性可完全互換采樣周期12S響應時間2S遲滯%RH長期穩定性典型值溫度分辨率0.116重復性精度量程范圍-4080響應時間610S3.2.2 AM2301接口電路設計AM2301與AT89C51連接電路如圖3.7所示。圖3.7中1腳接VCC,2腳接單片機的P1.5腳,上拉電阻是10K。串行數據線的作用是使單片機和AM2301能夠正常傳輸聯系,傳輸過程中是用總線的方式進行,每次傳輸在5ms上下,其傳輸長度是40個二進制位,先輸出高位后輸出低位。圖3.7 AM2301與AT89C
27、51接口電路3.3 液晶顯示電路設計LCD1602液晶是一類特定用來顯示符號、字母、數字等的點陣型液晶模塊,是由很多點陣字符位組成,但是只能顯示字符不能顯示圖像,而且只能顯示兩行。1602實物圖如圖3.8所示。圖3.8 LCD1602實物圖LCD1602主要技術參數如下:(1) 顯示容量:16×2個字符;(2) 芯片工作電壓:4.55.5V;(3) 工作電流:2.0mA(5.0V);(4) 模塊最佳工作電壓:5.0V;(5) 字符尺寸:2.95×4.35(W×H)mm;(6) LCD1602采用標準的16腳(帶背光)或14腳(無背光)接口。以下是每個引腳端情況:第
28、1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,當對比度比較高的時候會出現“鬼影”,調整對比度時便可調節一個10000的變阻器。第4腳:RS是寄存器選擇端口,高電平是數據寄存器的選擇,低電平是指令寄存器的選擇。第5腳:R/W為讀寫數據線,高電平為讀操作,低電平為寫操作。假如RS和R/W同一時間均是低電平,便可以寫入指令或者顯示地址。第6腳:E端為使能端口,如果E端從高電平變為低電平的時候,此液晶模塊執行相應的命令。第714腳:這八個腳為八位雙向通信的數據線。第15腳:背光源正極。第16腳:背光源負極15。LCD16
29、02與AT89C51的電路連接方式如圖3.9所示。圖3.9 LCD1602與AT89C51連接圖3.4 光聲報警電路設計該系統采用紅色的LED燈作為光報警,當系統檢測到的數據符合給定的要求時,現場紅燈不顯示;當系統檢測到的數據不符合要求時,現場為紅燈報警。本系統采用蜂鳴器作為報警聲,當系統檢測數據符合給定的要求時,現場沒有蜂鳴器報警;當系統檢測到的數據不符合要求時,蜂鳴器報警。連接電路如圖3.10所示。圖3.10 光聲報警系統電路圖3.5 按鍵設置電路設計在實際運用中,我們需要對系統設置一個適合植物生長的溫濕度范圍。在此,系統設置了三個按鍵,通過這三個按鍵來設置溫濕度的上下限數值。三個按鍵中分
30、為設置鍵、數值加和數值減鍵。第一次按下設置鍵是設置溫度的最大值,第二次按下設置鍵是設置溫度的最小值,第三次按下設置鍵是設置濕度的最大值,第四次按下設置鍵是設置濕度的最小值,按數值加和數值減鍵可以設置當前的數值大小。4 系統軟件設計此次系統設計包括:初始化設計模塊,溫濕度檢測模塊,LCD1602顯示模塊,溫濕度判斷模塊,報警模塊。系統軟件設計的整體流程圖如圖4.1所示。否初始化溫濕度檢測單片機處理LCD顯示報警判斷開始結束是圖4.1 系統流程圖4.1 初始化模塊系統的初始化模塊的主要功能是完成系統的初始化和系統工作狀態的設置,初始化部分包括以下幾個方面:(1) 單芯片的初始化和各種引腳定義;(2
31、) 1602液晶初始化和運行模式;(3) 系統處于正常工作狀態。4.2 溫濕度檢測模塊溫度和濕度檢測模塊是系統的核心模塊,溫度和濕度都是經過它的檢測,并將檢測內容進行數字轉換,直接與單片機進行通信,因此此模塊非常重要。數字式溫濕度傳感器AM2301是直接模擬試驗為數字量的單芯片微控制器,處理后,在1602液晶屏上顯示溫度和濕度值。因為溫度和濕度傳感器值的精確度直接影響整個系統的檢測控制,所以本系統采用AM2301這個高性能、高精確度的數字溫濕度傳感器。4.3 溫度和濕度控制模塊溫度和濕度控制模塊是判斷系統的核心模塊,控制模塊可比作為法官,它的職責是進行判斷,倘若溫室大棚內的溫度和濕度在設定的溫
32、度和濕度范圍內,判斷為“是”;倘若溫室大棚內的溫度和濕度超過設定的溫度和濕度范圍,判斷為“否”??刂颇K以此來確定系統將做什么工作,“是”執行不報警,“否”執行報警。溫濕度控制模塊的程序判斷步驟如圖4.2所示。實際值與給定范圍比較調用控制報警是否在給定范圍不報警返回否是圖4.2 溫濕度控制模塊判斷步驟4.4 1602液晶顯示模塊該系統運用1602液晶顯示器顯示溫度和濕度值,當系統初始化時,1602液晶不顯示任何數據;當AM2301監測的數據通過單片機進行傳輸時,1602液晶顯示器顯示雙行字符。第1行的顯示方式為:“Temperature:-”,第2行的顯示方式為:“Humidity:-%”。4
33、.5 報警模塊報警模塊有兩個功能,即聲報警和光報警。LED光報警是為了吸引用戶的視覺注意,它是由單片機進行控制,其點亮條件為:(1) 系統的溫度和濕度值在原先設定的范圍內,紅色LED燈不亮;(2) 系統的溫度和濕度值超過原先設定的范圍時,紅色LED燈亮。在LED燈點亮的同時,聲報警也將在同一時間跟隨。LED燈為紅色,因此共有一條數據線通過單片機實現紅色LED燈功能點亮。如果當前系統檢測的溫濕度值經過比較,不在原先設定的標準范圍內時,紅色LED燈點亮,且聲報警也隨之啟動,蜂鳴器鳴聲。相反,如果當前系統檢測的溫濕度值經過比較,在原先設定的標準范圍內時,紅色LED燈不亮,聲報警不啟動,蜂鳴器不發聲1
34、6。5 結 論以上為畢業課題所設計的溫室大棚控制控制系統,在通過不斷地設計與調試后,基本要求還是設計出來了。系統是采用AT89C51單片機、AM2301數字溫濕度傳感器、LCD1602液晶顯示模塊和蜂鳴器、LED發光二極管等器件實現的溫室大棚監控系統,實現了溫濕度采集、數據顯示、報警的功能。本次設計基本實現了前期設定的要求,系統能夠隨時對溫室大棚內的溫濕度進行采集和顯示,以及超越正常溫濕度參數范圍內的及時報警??傮w來說相對比較成功,只是在后期的調試中遇到了一點小麻煩,但就是這一點使整個系統不能正常運行,得不出想要的結果,更拖累了設計的進程。千里之堤毀于蟻穴,因此在設計中每一步驟每一過程都應做到
35、百分之百的正確,只有這樣最終的成果才能成功體現。致 謝在這次畢業設計中,最應該感謝的是我的指導老師孫雁南老師,本次溫室大棚環境參數監控系統的成功設計與孫老師的幫助是息息相關的。還有就是應該感謝我校安徽新華學院圖書館的相關圖書及文獻,以及網上前輩們的優秀研究成果,通過對這些資料的學習與借鑒,完成和豐富了本次畢業設計的內容。再加上自己的思考和領悟才能預期成功地完成的本次目標。孫老師在論文前期、中期、后期都對我的想法及設計經行了獨特地分析,這深深的影響了我對學習的態度,也大大促進了本次設計的順利進行。參考文獻1 林國漢基于單片機的溫度控制系統設計J微計算機信息,2009(25):21-242 易順明
36、基于單片機的大棚溫濕度控制系統設計J現代電子技術,2011 (7):7-153 張毅剛單片機原理及應用M北京:高等教育出版社,2008,12-1064 夏曉南基于單片機的溫箱溫度和濕度的控制J現代電子技術,2008 (5):6-125 陳桂友,柴遠斌單片機應用技術M北京:機械工業出版社,2008,10-886 張新榮基于單片機的多路溫度監測系統設計J工業控制計算機,2010(7):13-217 李俊基于單片機的溫濕度檢測與控制系統J微計算機信息,2008(17):5-18.8 熊詩波機械工程測試技術基礎(第4版)M北京:機械工業出版社,2008,60-102 9 AtmelAtmel 89C5
37、1 Microcontrollers Hardware Manual,2010,35-9810 孫育才MCS-51系列單片微型計算機及其應用(第四版)M南京:東南大學出版社,2004,56-5811 秦曾煌電工學電子技術(第7版)M北京:高等教育出版社,2008,34-8012 譚浩強C程序設計(第4版)M北京:清華大學出版社,2007,21-9513 康華光電子技術基礎-模擬部分(第五版)M北京:高等教育出版社,2005,5-1814 徐愛鈞智能化測量控制儀表原理與設計M北京:北京航空航天大學出版社,2004,34-3615 馬靖善,秦玉平C語言程序設計M北京:清華大學出版社,2005,11
38、-1516 賴麒文8051單片機C語言開發環境實務與設計M北京:科學出版社,2002,78-80附 錄附錄1 整體電路圖附錄2 程序代碼本系統采用C語言編程,程序代碼如下:#include <reg52.h> /調用單片機頭文件#define uchar unsigned char /無符號字符型 宏定義變量范圍0255#define uint unsigned int /無符號整型 宏定義變量范圍065535#include<intrins.h>#include "eeprom52.h"sbit beep = P14; /蜂鳴器IO口定義uchar
39、 a_a;bit flag_300ms ;/ 按鍵的IO變量的定義uchar key_can; /按鍵值的變量uchar menu_shudu = 20; /用來控制連加的速度uchar menu_1; /菜單設計的變量uint t_high = 30,t_low = 10;/溫度報警參數uint s_high = 30,s_low = 10;/濕度報警參數uchar flag_w_bj_en,flag_s_bj_en;bit flag_lj_en; /按鍵連加使能bit flag_lj_3_en; /按鍵連3次連加后使能 加的數就越大了 uchar key_time,flag_value;
40、/用做連加的中間變量bit key_500ms ;uchar flag_clock; /溫度報警變量uchar flag_fuzi; /用做菜單內的初始化的/* 名稱 : delay_1ms()* 功能 : 延時1ms函數* 輸入 : q* 輸出 : 無*/void delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<120;j+);sbit dht11=P15; /溫度傳感器IO口定義uchar table_dht115=1,2,3,4,5;/*把數據保存到單片機內部eeprom中*/void write_eeprom()/保存數
41、據SectorErase(0x2000);byte_write(0x2000, t_high);byte_write(0x2001, t_low);byte_write(0x2002, s_high);byte_write(0x2003, s_low);byte_write(0x2055, a_a); /*把數據從單片機內部eeprom中讀出來*/void read_eeprom() /讀出保存數據t_high = byte_read(0x2000);t_low = byte_read(0x2001); s_high = byte_read(0x2002);s_low = byte_read(
42、0x2003);a_a = byte_read(0x2055);/*開機自檢eeprom初始化*/void init_eeprom() /開始初始化保存的數據read_eeprom(); /讀出保存數據if(a_a != 2)/新的單片機初始單片機內問eepromt_high = 40,t_low = 10;s_high = 95,s_low = 10;a_a = 2;write_eeprom();/保存數據#include "lcd1602.h"/#include "menu.h"/*定時器0初始化程序*/void time_init() EA = 1
43、; /開總中斷TMOD = 0X01; /定時器0、定時器1工作方式1ET0 = 1; /開定時器0中斷 TR0 = 1; /允許定時器0定時/*獨立按鍵程序*/uchar key_can; /按鍵值void key() /獨立按鍵程序static uchar key_new;key_can = 20; /按鍵值還原P3 |= 0xf0;if(P3 & 0xf0) != 0xf0)/按鍵按下delay_1ms(1); /按鍵消抖動if(P3 & 0xf0) != 0xf0) && (key_new = 1)/確認是按鍵按下key_new = 0;switch(P
44、3 & 0xf0)case 0xd0: key_can = 3; break; /得到k1鍵值case 0xb0: key_can = 2; break; /得到K2鍵值case 0x70: key_can = 1; break; /得到k3鍵值else key_new = 1;/*按鍵顯示函數*/void key_with()if(key_can = 1) /設置鍵menu_1 +;if(menu_1 > 4)menu_1 = 0;init_1602(); /lcd1602初始化if(menu_1 = 1) /初始化顯示write_string(1,0," WH: W
45、L: ");write_string(2,0," SH: % SL: % ");write_zifu(1,6,0xdf); /顯示度write_zifu(1,13,0xdf); /顯示度write_sfm2(1,4,t_high); /顯示溫度write_sfm2(1,11,t_low); /顯示溫度write_sfm2(2,4,s_high); /顯示濕度write_sfm2(2,11,s_low); /顯示濕度if(menu_1 = 1)/設置高溫報警if(key_can = 2)t_high + ;/設置高溫值加1 if(t_high > 99)t_h
46、igh = 99;if(key_can = 3)t_high - ;/設置高溫值減1 if(t_high <= t_low)t_high = t_low + 1;write_sfm2(1,4,t_high); /顯示溫度write_com(0x80+3); /將光標移動到秒個位write_com(0x0f); /顯示光標并且閃爍write_eeprom();/保存數據if(menu_1 = 2)/設置低溫報警if(key_can = 2)t_low + ;/設置低溫值加1 if(t_low >= t_high)t_low = t_high - 1;if(key_can = 3) /
47、設置高溫值減1 t_low - ;if(t_low <= 1)t_low = 1;write_sfm2(1,11,t_low); /顯示濕度write_com(0x80+10); /將光標移動到秒個位write_com(0x0f); /顯示光標并且閃爍write_eeprom();/保存數據if(menu_1 = 3)/設置高濕報警if(key_can = 2)s_high + ;/設置高濕值加1 if(s_high > 99)s_high = 99;if(key_can = 3)s_high - ;/設置高濕值減1 if(s_high <= s_low)s_high = s
48、_low + 1;write_sfm2(2,4,s_high); /顯示濕度write_com(0x80+0x40+3); /將光標移動到秒個位write_com(0x0f); /顯示光標并且閃爍write_eeprom();/保存數據if(menu_1 = 4)/設置低濕報警if(key_can = 2)s_low + ;/設置低濕值加1 if(s_low >= s_high)s_low = s_high - 1;if(key_can = 3) /設置低濕值減1 s_low - ;if(s_low <= 1)s_low = 1;write_sfm2(2,11,s_low); /顯
49、示濕度write_com(0x80+0x40+10); /將光標移動到秒個位write_com(0x0f); /顯示光標并且閃爍write_eeprom();/保存數據 /*讀溫濕度傳感器程序*/void dst11()uchar i,j; /讀溫濕度時不能打開中斷dht11 = 0;delay_1ms(18);dht11 = 1;delay_uint(4); /50usif(dht11 = 0) /判斷是否響應 0 為響應while(dht11 = 0);while(dht11 = 1); /等待響應時間過完for(i=0;i<5;i+)for(j=0;j<8;j+)table_dht11i <<= 1;while(dht11 = 0);delay_uint(4); /50us 數據1的高電平時間為110us 低為27usif(dht11 = 1)table_dht11i |= 0x01;while(dht11 = 1);dht11 = 1;/*報警函數*/void clock_h_l()static uchar value,value1,value2;if(table_dht11
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版歷史八上第13課 紅軍不怕遠征難教學設計
- 腸梗阻病人護理查房
- 兒童歌曲鋼琴簡易伴奏編配 課件 第4、5章 和聲基礎與健盤和聲;前奏、間奏和尾奏
- Brand KPIs for ready-made-food Kitano Brazil-外文版培訓課件(2025.2)
- 人教部編版五年級上冊第三單元9 獵人海力布教案
- 語文8 小書包教案設計
- 合同文件集錦
- 租車服務合同
- 八年級上冊14 白楊禮贊教案
- 2025員工違反合同解除勞動合同的時效是多久
- 《廣州市城市樹木保護專章編制指引》解讀(分享版)
- 醫療設備采購 投標技術方案 (技術方案)
- 國開《Windows網絡操作系統管理》形考任務2-配置本地帳戶與活動目錄域服務實訓
- 星級酒店MOD值班管理規定
- 產品外觀檢驗標準(通用)
- 同濟大學信紙
- 印章封存登記表
- 社會工作者之初級社會工作實務模擬試題及答案A4打印
- 工作交接表excel模板
- 滾筒式柑橘分選機的設計
- 孟母三遷成語故事
評論
0/150
提交評論