畢業(yè)設計論文基于單片機的大棚溫濕度檢測警報系統(tǒng)1_第1頁
畢業(yè)設計論文基于單片機的大棚溫濕度檢測警報系統(tǒng)1_第2頁
畢業(yè)設計論文基于單片機的大棚溫濕度檢測警報系統(tǒng)1_第3頁
畢業(yè)設計論文基于單片機的大棚溫濕度檢測警報系統(tǒng)1_第4頁
畢業(yè)設計論文基于單片機的大棚溫濕度檢測警報系統(tǒng)1_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 摘 要系統(tǒng)是一個專門為溫室大棚溫濕度控制而設計的智能系統(tǒng)。通過對系統(tǒng)的硬件部分和軟件部分設計來達到監(jiān)控要求。硬件部分實現(xiàn)了對溫濕度傳感器模塊、A/D轉換模塊、顯示模塊、控制模塊的設計;軟件部分主要根據系統(tǒng)的設計思想設計出了主程序和子程序流程圖,并通過匯編語言和C語言實現(xiàn)。通過實踐證明,系統(tǒng)具有性能好、操作方便等優(yōu)點,實現(xiàn)了對溫濕度的顯示、調節(jié)、自動控制和手動控制。關鍵詞: A/D轉換;傳感器;LED ABSTRACTThe work of this dissertation is about an intelligent syste

2、m designed for controlling the temperature and humidity of a greenhouse. It can meet the demand of monitoring through the design of hardware and that of software in details, The former is more important in this dissertation, including the introduction of sensor of measuring temperature and humidity,

3、 changing of A/D,demonstrating mode of data, the mode of control and the connecting part of the changing column. And according to the design thoughts the latter shows the flow chart of the main program and the subprogram, realized by assembly language and C language. The system adopts quite a new in

4、tegrated circuit,which makes it function better and run more conveniently when put into practice. Furthermore, not only can it achieve the goals of manifesting and regulating the temperature. But also it can be controlled automatically and manually.Key words:changing of A/D ; sensor ; LED目

5、 錄1 緒論11.1課題背景11.2預期目標12 系統(tǒng)總體設計方案與工作原理22.1系統(tǒng)總體設計方案簡述22.1.1基本功能22.1.2主要技術參數(shù)22.2系統(tǒng)的工作原理23 系統(tǒng)的硬件設計43.1 單片機的確定43.2傳感器的確定73.2.1溫度傳感器73.2.2濕度傳感器83.3采集電路的設計93.3.1溫度采集電路93.3.2濕度采集電路93.4 A/D轉換113.4.1 模數(shù)轉換器的確定113.4.2 ADC0809與8031的連接123.5鍵盤與顯示133.5.1鍵盤部分133.5.2顯示部分143.6報警電路設計153.7單片機與PC機的通信接口163.8系統(tǒng)總體電路174 軟件設

6、計194.1 設計思想194.2 初始化程序與主程序框圖204.3 子程序框圖214.4系統(tǒng)的主要程序22總結27參考文獻28致2926 / 281 緒論1.1課題背景溫濕度是衡量溫室大棚的重要指標,它直接影響到栽培作物的的生長和產量,為了能給作物提供一個合適的生長環(huán)境,首要問題是加強溫室的溫濕度的檢測, 但傳統(tǒng)的方法是用與濕度表、毛發(fā)濕度表、雙金屬式測量計和濕度試紙等測試器材,通過人工進行檢測,對不符合溫度和濕度要求的庫房進行通風、去濕和降溫等工作。這種人工測試方法費時費力、效率低,且測試的溫度與濕度誤差大,隨機性大。因此我們需要一種造價低廉、使用方便且測量準確的溫濕度測量儀。該設計即是針對

7、這一問題,設計出了能夠實現(xiàn)溫濕度自動檢測,顯示,上下限報警等多功能的溫濕度監(jiān)測控制系統(tǒng)。1.2預期目標系統(tǒng)完成后可以通過溫度傳感器DS18B20和濕度傳感器HS1101對大棚溫室的溫濕度進行測量,通過單片機AT89C51對采集到的數(shù)據進行處理,用LED顯示出當前環(huán)境的溫濕度狀況,其中溫度可以有操作人員根據不同作物所需的最適宜溫度進行調節(jié),當環(huán)境溫度和設置的最適宜溫度之差大于4時,報警裝置即會啟動。2 系統(tǒng)總體設計方案與工作原理2.1系統(tǒng)總體設計方案簡述該溫濕度測控系統(tǒng)是由數(shù)據采集和處理系統(tǒng)和報警系統(tǒng)組成,由溫度、濕度傳感器,模擬量輸入通道、A/D轉換、顯示器與報警電路等組成。通過對信號的采集、

8、分析、處理,然后輸出信號來使執(zhí)行部件進行動作,使溫室大棚達到所要求指標。2.1.1基本功能1 檢測溫度,濕度2 顯示溫度,濕度3 過限報警2.1.2主要技術參數(shù)溫度檢測圍:0-50測量精度:±0.5濕度檢測圍:0%-100%RH檢測精度:±2.5% RH控制方式:手動/自動可切換參數(shù)調整:手動設定/程序控制2.2系統(tǒng)的工作原理溫濕度監(jiān)控系統(tǒng)能完成數(shù)據采集和處理、顯示、串行通信、輸出控制信號等多種功能。由數(shù)據采集、數(shù)據調理、單片機、控制等4個大的部分組成。該測控系統(tǒng)具有實時采集(檢測溫室大棚的溫濕度)、實時處理(對監(jiān)測到的溫濕度值進行比較分析,決定下一步控制進程)、實時控制(

9、根據處理的結果發(fā)出控制指令,指揮被控對象動作)的功能。主要硬件包括溫度傳感器,濕度傳感器,AT89C51單片機、數(shù)據采集電路、LED顯示器、A/D轉換器等。其原理結構圖如下圖2-1所示。首先充分考慮氣候、環(huán)境因素對植物的影響,并根據溫室大棚植物保持正常狀態(tài)所需的溫度和濕度,設計出溫濕度參考值預先存儲于單片機中。系統(tǒng)的數(shù)據采集部分是將溫濕度傳感器置于溫室部,測出室的溫濕度值,經過放大、A/D轉換為數(shù)字量之后送入AT89C51單片機中,然后LED顯示出溫濕度測量值。單片機將預設的參考值與測量值進行比較,根據比較結果做出判斷。圖2-1 原理結構圖當溫濕度值超過允許的誤差圍,系統(tǒng)將發(fā)出報警,如果有必要

10、,工作人員還可以根據實際的情況通過鍵盤或按鈕來人工修改片存儲的預設值。通過對整個系統(tǒng)的核心單片機部分的設計,達到優(yōu)化控制溫濕度的目標。3 系統(tǒng)的硬件設計3.1 單片機的確定單片機的全稱是單片微型計算機(Single Chip Microcomputer)。為了使用方便,它把組成計算機的主要功能部件:中央處理器(CPU)、數(shù)據存儲器(RAM)、程序存儲器(ROM、EPROM、E2PROM或FLASH)、定時/計數(shù)器和各種輸入/輸出接口電路等都集成在一塊半導體芯片上,構成了一個完整的計算機系統(tǒng)。與通用的計算機不同,單片機的指令功能是按照工業(yè)控制的要求設計,因此它又被稱為微控制器(Microcont

11、roller)。8031片不帶程序存儲器ROM,使用時用戶需外接程序存儲器和一片邏輯電路373,外接的程序存儲器多為EPROM的2764系列。用戶若想對寫入到EPROM中的程序進行修改,必須先用一種特殊的紫外線燈將其照射擦除,之后再可寫入。寫入到外接程序存儲器的程序代碼沒有什么性可言。 8051片有4K的ROM,無須外接外存儲器和373,更能體現(xiàn)“單片”的簡練。但是你編的程序你無法燒寫到其ROM中,只有將程序交芯片廠代你燒寫,并是一次性的,今后你和芯片廠都不能改寫其容。 8751與8051基本一樣,但8751片有4k的EPROM,用戶可以將自己編寫的程序寫入單片機的EPRO

12、M中進行現(xiàn)場實驗與應用,EPROM的改寫同樣需要用紫外線燈照射一定時間擦除后再燒寫。 由于上述類型的單片機應用的早,影響很大,已成為事實上的工業(yè)標準。后來很多芯片廠商以各種方式與Intel公司合作,也推出了同類型的單片機,如同一種單片機的多個版本一樣,雖都在不斷的改變制造工藝,但核卻一樣,也就是說這類單片機指令系統(tǒng)完全兼容,絕大多數(shù)管腳也兼容;在使用上基本可以直接互換。我們統(tǒng)稱這些與8051核一樣的單片機為“51系列單片機”。 在眾多的51系列單片機中,要算 ATMEL 公司的AT89C51更實用,因他不但和8051指令、管腳完全兼容,而且其片的4K程序存儲器是FLASH工藝的,這種

13、工藝的存儲器用戶可以用電的方式瞬間擦除、改寫,一般專為 ATMEL AT89Cx 做的編程器均帶有這些功能。顯而易見,這種單片機對開發(fā)設備的要求很低,開發(fā)時間也大大縮短。寫入單片機的程序還可以進行加密,這又很好地保護了你的勞動成果。重要的一點AT89C51目前的售價比8031還低,市場供應也很充足。   AT89C51是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機。片含4K bytes的可反復擦寫的只讀程序存儲器(PEROM)和128 bytes的隨機存取數(shù)據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51

14、指令系統(tǒng),片置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。AT89C51的管腳圖如圖3-1下:圖3-1 AT89C51管腳圖各引腳功能簡單介紹如下:VCC:供電電壓;GND:接地;P0口:P0口為一個8位漏級開路雙向I/O口,每個管腳可吸收8TTL門電流。當P1口的管腳寫“1”時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據存儲器,它可以被定義為數(shù)據/地址的第八位。在FLASH編程時,P0口作為原碼輸入口,當FLASH進行校驗時,P0輸出原碼,此時P0外部電位必須被拉高;P1口:P1口是一個部提供上拉電

15、阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入“1”后,電位被部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收;P2口:P2口為一個部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳電位被部上拉電阻拉高,且作為輸入。作為輸入時,P2口的管腳電位被外部拉低,將輸出電流,這是由于部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用部上拉的優(yōu)勢,當對外部八位地址

16、數(shù)據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號;P3口:P3口管腳是8個帶部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被部上拉為高電平,并用作輸入。作為輸入時,由于外部下拉為低電平,P3口將輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INT0(外部中斷0)P3.3 INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 WR (外部數(shù)據存儲

17、器寫選通)P3.7 RD (外部數(shù)據存儲器讀選通)同時P3口同時為閃爍編程和編程校驗接收一些控制信號;RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高平時間;ALE / PROG :當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令時ALE

18、才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效;PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取址期間,每個機器周期PSEN兩次有效。但在訪問部部數(shù)據存儲器時,這兩次有效的PSEN信號將不出現(xiàn);EA/VPP:當EA保持低電平時,訪問外部ROM;注意加密方式1時,EA將部鎖定為RESET;當EA端保持高電平時,訪問部ROM。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP);XTAL1:反向振蕩放大器的輸入與部時鐘工作電路的輸入;XTAL2:來自反向振蕩器的輸出。3.2傳感器的確定3.2.1溫度傳感器常用的溫度傳感器有熱敏電阻、熱電偶、PN結

19、溫度傳感器、集成溫度傳感器、熱電阻等。對于溫室部溫度的檢測,溫度傳感器選擇DALLAS公司生產的一線制數(shù)字溫度傳感器DS18B20,它具有3引腳TO92小體積封裝形式;溫度測量圍為55125,可編程為9位12位A/D轉換精度,測溫分辨率可達0.0625,被測溫度用符號擴展的16位數(shù)字量方式串行輸出。DS18B20有三個引腳,GND接地;DQ數(shù)字信號的輸出/輸入;Vdd為外接電源輸入端。 圖3-2 DS18B20的引腳圖3.2.2濕度傳感器本系統(tǒng)需要檢測溫室大棚的濕度,目前已有許多濕敏器件,按感濕材料來分,大致有四類:電解質,半導體瓷,高分子和其它型式。溫室的相對濕度大,變化速度慢,不需要高的響

20、應時間,但是對線性度和穩(wěn)定性要求高,所以經過選擇采用電容式集成濕度傳感器HS1101來檢測溫室大棚部的濕度。濕度傳感器HS1101是法國Humirel生產的電容式濕度傳感器。HS1101是一種在高分子薄膜上形成的電容。高分子薄膜上的電極是很薄的金屬微孔蒸發(fā)膜,水分子可通過兩端的電極被高分子薄膜吸附或釋放,隨著這種水分子的吸附或釋放,高分子的介電系數(shù)將發(fā)生相應的變化。由于介電系數(shù)隨空氣的相對濕度變化而變化,所以只要測定電容C值就可得到相對濕度。HS1101是基于獨特工藝設計的固態(tài)聚合物結構,在電路中等效于一個電容器,其電容隨所測空氣的相對濕度增大而增大。HS1101具有極好的線性輸出,在相對濕度

21、為0100RH的圍,電容的容量由163 pF變化到202 pF,其誤差不大于±2RH;濕度量程為199RH,工作溫度圍為-40100;濕度輸出受溫度影響極小(溫度系數(shù)僅為0.04 pF);常溫下使用無需溫度補償,無需校準。該器件具有不需校準的完全互換性、高度可靠性、長期穩(wěn)定性、快速響應的固態(tài)聚合物結構,適用于線性電壓輸出和頻率輸出兩種電路。 圖3-3 濕敏電容工作的濕、溫度圍 圖3-4 電容濕度響應曲線圖3-3為濕敏電容工作的溫、濕度圍。圖3-4為濕度-電容響應曲線。相對濕度在1%-100%RH圍;電容量由16pF變到200pF,其誤差不大于±2%RH;響應時間小于5S;溫

22、度系數(shù)為0.04 pF/??梢娋仁禽^高的。3.3采集電路的設計3.3.1溫度采集電路 圖3-5 溫度檢測電路由于DS18B20只有一個串行通信接口,與單片機的連接電路非常簡單,只需和單片機的一個I/O端口連接即可,本系統(tǒng)選擇了接口接的是P2.0端口,其連接電路圖如圖3-5所示。DS18B20的I/O口屬于漏極開路輸出,外接上拉電阻后常態(tài)下呈高電平。該器件含寄生電源,其供電方式可以選擇寄生電源方式,也可以選用外部電源。為方便起見,采用外部電源供電。3.3.2濕度采集電路HS1101電容傳感器,在電路構成中等效于一個電容器件,其電容量隨著所測空氣濕度的增大而增大。如何將電容的變化量準確地轉變?yōu)橛?/p>

23、算機易于接受的信號,常有兩種方法:一是將該濕敏電容置于運放與阻容組成的橋式振蕩電路中,所產生的正弦波電壓信號經整流、直流放大、再A/D轉換為數(shù)字信號;另一種是將該濕敏電容置于555振蕩電路中,將電容值的變化轉為與之成反比的電壓頻率信號,可直接被計算機所采集本系統(tǒng)采用的是將HS1101接入555定時器組成的震蕩電路中,輸出一定頻率的方波信號,這種方法結構簡單,使用方便,因此被廣泛采用,具體電路圖如3-6下:圖3-6 HS1101和NE556構成的濕度采集電路集成定時器NE555一方面可以形成單穩(wěn)態(tài)電路,另一方面可以形成多諧振蕩電路,本系統(tǒng)選用的是NE556,它部含有兩個NE555定時器,其中R1

24、,R2,C1,C2和NE556構成多諧振蕩器,外接電阻R1,R2和濕敏電容C1構成了對濕敏電容C1的充電回路,7端通過芯片部的晶體管對地短路又構成了對C1的放電回路,并將2,6端相連引入到片比較器。該振蕩電路的兩個暫穩(wěn)態(tài)過程交替如下:首先是電源Ucc通過R1,R2向C2充電,經T1充電時后,Uc2充至比較器的高觸發(fā)電平,約2/3Ucc,此時輸入引腳3端由高電平突降為低電平,然后通過R2放電,經T2放電時間后,Uc2下降到比較器的低觸發(fā)電平,約1/3Ucc,此時輸入引腳3端又由低電平躍升為高電平,如此反復,形成方波輸出,其中充放電時間為:T1=C1(R1+R2)ln2T2=C1R2ln2因而輸出

25、的方波頻率為:f=1/(t1+t2)=1/C1(R1+2R2)ln2=50HZ只要改變定時元件R1和R2就可以改變脈沖的頻率,從多諧振蕩器出來的信號又接入到單穩(wěn)態(tài)觸發(fā)器,單穩(wěn)態(tài)觸發(fā)器它有兩個觸發(fā)狀態(tài),一個穩(wěn)定狀態(tài),一個暫穩(wěn)定狀態(tài),在外來觸發(fā)脈沖作用下,能夠由穩(wěn)定狀態(tài)翻轉到暫穩(wěn)定狀態(tài),而暫穩(wěn)定狀態(tài)維持一段時間后,再自動的返回到穩(wěn)定狀態(tài),且暫穩(wěn)定狀態(tài)持續(xù)時間長短取決與電路本身參數(shù),圖中,R3,C3和傳感器HS1101是外接地定時元件,觸發(fā)脈沖Ui由5端輸出,由8端輸入,下降沿有效,從9端輸出一個幅度,寬度都一定的矩形波信號,輸出的脈沖寬度Tp為:Tp=R3(C2+Cx)ln3。3.4 A/D轉換模

26、數(shù)轉換器(ADC),簡稱AD,是實現(xiàn)模擬量向數(shù)字量的轉變的設備。3.4.1 模數(shù)轉換器的確定A/D轉換器位數(shù)的確定和系統(tǒng)所需測量控制的圍、精度有關。其一:實際選取的位數(shù)與其它環(huán)節(jié)所能獲得的精度相適應,只要不低于它們就可以,不必太高。其二:如果微處理機是51系列單片機,采用8位以下的A/D轉換器時,接口電路最簡單。其三:由于溫室大棚濕度變化相對于控制運行的速度來說是緩慢的,因此,在A/D轉換的時候,也不要求有很快的轉換速率。ADC0809是采樣分辨率為8位的、以逐次逼近原理進行模數(shù)轉換的器件。其部有一個8通道多路開關,它可以根據地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉換

27、。 主要特性1)8路輸入通道,8位A/D轉換器,即分辨率為8位;2)具有轉換起??刂贫?;3)轉換時間為100s;4)單個5V電源供電;5)模擬輸入電壓圍05V,不需零點和滿刻度校準;6)工作溫度圍為-4085攝氏度;7)低功耗,約15mW。部結構ADC0809是CMOS單片型逐次逼近式A/D轉換器,它由8路模擬開關、地址鎖存與譯碼器、比較器、8位開關樹型D/A轉換器、逐次逼近。外部特性(引腳功能)ADC0809芯片有28條引腳,采用雙列直插式封裝:IN0IN7:8路模擬量輸入端;2-12-8:8位數(shù)字量輸出端;ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路;ALE:

28、地址鎖存允許信號,輸入高電平有效;START: A/D轉換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復位,下降沿啟動A/D轉換);EOC: A/D轉換結束信號,輸出,當A/D轉換結束時,此端輸出一個高電平(轉換期間一直為低電平);OE:數(shù)據輸出允許信號,輸入高電平有效。當A/D轉換結束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量;CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ;REF(+)、REF(-):基準電壓;Vcc:電源,單一5V;GND:地。首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經譯碼選通8路模擬輸入之一

29、到比較器。START上升沿將逐次逼近寄存器復位。下降沿啟動 A/D轉換,之后EOC輸出信號變低,指示轉換正在進行。直到A/D轉換完成,EOC變?yōu)楦唠娖剑甘続/D轉換結束,結果數(shù)據已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平 時,輸出三態(tài)門打開,轉換結果的數(shù)字量輸出到數(shù)據總線上。3.4.2 ADC0809與8031的連接單片機控制ADC可采用查詢法和中斷控制法。本系統(tǒng)采用中斷方式,中斷控制是指啟動信號送到ADC后,單片機執(zhí)行別的程序。當ADC轉換完成時向單片機發(fā)出中斷請求信號,單片機響應中斷請求,讀出轉換數(shù)據,然后返回源程序。ADC0809與單片機的接口如圖3-10所示。圖3-7 A

30、DC0809與單片機的接口將A/D0809作為一的外擴展的并行I/O口,直接由單片機的P2.0和脈沖進行啟動。模擬量輸入通道選擇端A、B、C分與單片機的P0.0、P0.1、P0.2直接相連,數(shù)據由A/D0809轉換器的2-1 2-8輸出。為了提高系統(tǒng)的效率,A/D轉換器D采用中斷的方法,將ADC0809的轉換信號EOC經反相器連接到單片機的INT1。當A/D轉換結束,向單片機申請中斷,單片機響應后,即可讀出A/D轉換的結果數(shù)據。ADC0809的時鐘信號由單片機的ALE提供(為1MHZ),轉換器的啟動信號START和8位模擬量輸入地址鎖存允許信號ALE由單片機的WR和P2.0口來控制。轉換的輸出

31、允許信號OE由單片機的RD和P2.0口控制。3.5鍵盤與顯示3.5.1鍵盤部分根據該系統(tǒng)的實際情況,我選用了獨立式鍵盤。獨立式鍵盤是個按鍵相互獨立地連通一條輸入數(shù)據線如圖3-8所示。這種鍵盤結構的優(yōu)點是電路簡單,缺點是當鍵的數(shù)量較多時占用的I/O線的數(shù)量較多。圖3-8 鍵盤連接利用P1口實現(xiàn),當開關全部打開時,均為高電平,經過與門仍為高電平,因此不會產生中斷。當其中一鍵被按下時,端變?yōu)榈忘c平,向CPU申請中斷,CPU響應后,用查詢方法找到申請中斷的功能鍵,并按程序設定執(zhí)行相應的功能。3.5.2顯示部分本系統(tǒng)的顯示部分我選用了帶有高速串行接口的8位LED控制驅動器MAX7219芯片,本設計采用1

32、片MAX7219,在每輪溫濕度檢測完成以后,顯示新值。MAX7219是MAXIM公司生產的一種串行接口方式7段共陰極LED顯示驅動器,其片包含有一個BCD碼到B碼的譯碼器、多路復用掃描電路、字段和字位驅動器以與存儲每個數(shù)字的8×8 RAM,每位數(shù)字都可以被尋址和更新,允許對每一位數(shù)字選擇B碼譯碼或不譯碼。采用三線串行方式與單片機接口,電路十分簡單,只需要一個10k左右的外接電阻來設置所有LED的段電流MAX7219為24引腳芯片,引腳排列如3-8圖所示,各引腳功能如下:DIN:串行數(shù)據輸入端;DIG0DIG7:LED位線;LOAD:數(shù)據信號輸入端;SEGASEGG,SEGDp:段碼輸

33、出端; ISET:硬件亮度調節(jié)端;DOUT:串行數(shù)據輸出端;CLK:移位脈沖輸入端;V+:正電源;GND:地。圖3-9 MAX7219引腳圖 圖3-10 顯示連接圖MAX7219采用串行數(shù)據傳輸方式,由16位數(shù)據包發(fā)送到DIN引腳的串行數(shù)據在每個CLK的上升沿被移入到部16位移位寄存器中,然后在LOAD的上升沿將數(shù)據鎖存到數(shù)字或控制寄存器中。LOAD信號必須在第16個時鐘上升沿同時或之后,但在下一個時鐘上升沿之前變高,否則將會丟失數(shù)據。DIN端的數(shù)據通過移位寄存器傳送,并在16.5個時鐘周期后出現(xiàn)在DOUT端。DOUT端的數(shù)據在CLK的下降沿輸出。串行數(shù)據以16位為一幀,其中D15D12可以任

34、意,D11D8為部寄存器地址,D7D0為寄存器數(shù)據,工作時序如下:圖3-11工作時序圖3.6報警電路設計在微型計算機控制系統(tǒng)中,為了安全生產,對于一些重要的參數(shù)或系統(tǒng)部位,都設有緊急狀態(tài)報警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。其方法就是把計算機采集的數(shù)據或記過計算機進行數(shù)據處理、數(shù)字濾波,標度變換之后,與該參數(shù)上下限給定值進行比較,如果高于上限值(或低于下限值)則進行報警,否則就作為采樣的正常值,進行顯示和控制。本設計采用峰鳴音報警電路。峰鳴音報警接口電路的設計只需購買市售的壓電式蜂鳴器,然后通過AT89C51的1根口線經驅動器驅動蜂鳴音發(fā)聲。壓電式蜂鳴器約需10mA的驅動電流,可以使

35、用TTL系列集成電路7406或7407低電平驅動,也可以用一個晶體三極管驅動。在圖中,當輸出高電平“1”時,晶體管導通,壓電蜂鳴器兩端獲得約+5V電壓而鳴叫;當輸出低電平“0”時,三極管截止,蜂鳴器停止發(fā)聲。 圖3-12是一個簡單的使用三極管驅動的峰鳴音報警電路 圖3-12 三極管驅動的峰鳴音報警電路3.7單片機與PC機的通信接口利用AT89C51單片機的標準串行接口,通過簡單的外圍接口電路,可以方便地實現(xiàn)單片機與PC機之間的數(shù)據通訊。本文對數(shù)據通訊無特殊要求,因此選擇RS-232串行通訊。在接口電路和計算機接口芯片都為TTL或CMOS電平,所以在通信時,必須進行電平轉換,以便與RS-232C

36、標準的電平匹配 MAX232芯片可以完成電平轉換這一工作。MAX232芯片是MAXIN公司生產的低功耗、單電源雙RS232發(fā)送/接收器 適用于各種EIA-232E和V.28/V.24的通信接口MAX232芯片部有一個電源電壓變換器,可以把輸入的+5V電源變換成RS-232C輸出電平所需±10V電壓,所以采用此芯片接口的串行通信系統(tǒng)只要單一的+5V電源就可以 。MAX232的管腳說明: C1+,C1-,C2+,C2-:外接電容端;R1IN,R2IN:2路RS-232電平信號接收輸入端;R1OUT,R2OUT:2路轉換后的TTL電平接收信號輸出端,送單片機的RXD接收端;T1I

37、N,T2IN :2路TTL電平發(fā)送輸入端,接單片機的TXD發(fā)送端;T1OUT,T2OUT:2路轉換后的發(fā)送RS-232電平信號輸出端,接傳輸線;V+:經電容接+5V電源;V-:經電容接地。MAX232的芯片引腳如3-13圖所示。接線圖如3-14所示圖3-13MAX232引腳圖 圖3-14 接線圖3.8系統(tǒng)總體電路系統(tǒng)的總體電路如圖3-15所示,由DS18B20溫度傳感器和HS1101濕度傳感器采集信號并處理,傳輸給ADC0809進行模數(shù)轉換,然后傳輸給AT89C51單片機,在LED顯示器上顯示數(shù)值,如果超過所設定溫度濕度,蜂鳴報警器將工作。系統(tǒng)再由RS-232進行串口通信。圖3-15

38、 系統(tǒng)總電路圖4 軟件設計4.1 設計思想根據實際需要,單片機軟件主程序由若干模塊組成:初始化模塊、LED顯示模塊、數(shù)據發(fā)送/接受中斷服務程序模塊、數(shù)據采集模塊、數(shù)據處理模塊。其中有些模塊還包含有子模塊,使用時下一級模塊被高一級模塊調用,各部分既相互獨立又相互聯(lián)系。中斷允許寄存器IE中的ES位置1,采用串口中斷來進行中斷請求,然后通過對串行口控制寄存器SCON的設置來確定串行口的接收方式,確定中斷服務程序入口地址,最后用EA命令開放中斷系統(tǒng),等待串口中斷的到來。當中斷到來之后,即進入下面的接收中斷服務程序模塊。本系統(tǒng)的程序按其功能可以分為三部分:主程序MIAN程序,INT1中斷程序(采集程序)

39、,INT0中斷(輸入鍵值)程序3部分組成。MIAN程序進行必須的初始化操作;INT1響應中斷后,會進行模擬量的采集,并進行一系列的處理操作,包括:采集,轉換,執(zhí)行相應的操作等;INT0中斷為按鍵程序,以中斷的方式對按鍵做出反映。AT89C51片RAM資源地址分配:00H07H: 主程序中工作寄存器R0R7;08H0FH:外部中斷0服務程序中工作寄存器R0R7;10H1FH:定時中斷T0服務程序中工作寄存器R0R7;20H2FH:位尋址區(qū);30H:存放設定溫度值;31H: 存放設定濕值;32H:存放溫度允許偏差;33H:存放濕度允許偏差;34H:存放溫度A/D轉換結果;35H:存放濕度A/D轉換

40、結果;36H43H:存放計算比較數(shù)據區(qū);46H4FH:顯示緩沖區(qū)。4.2 初始化程序與主程序框圖(1) 初始化程序:ORG 0100H MOV TMOD,#20H ;T1位方式2MOV TH1,#0FAH ;波特率為4800MOV TL1,#0FAHMOV PCON,#80HMOV SCON,#0F0H ;串口方式為3SETB TR1 ;啟動T1SETB PS ;串口中斷優(yōu)先級位高級SETB EA ;開所有中斷SETB ES ;開串口中斷SETB IT0 ;INT0為邊沿觸發(fā)SETB EXO ;開INT0(2) 主程序框圖 (圖4-1) 圖4-1 主程序框圖4.3 子程序框圖(1) 串口中斷(

41、2) 數(shù)據采集圖4-2 串口中斷 圖4-3數(shù)據采集4.4系統(tǒng)的主要程序1溫度采集程序#include<reg52.h>#include<math.h>#include<INTRINS.H>#define uchar unsigned char#define uint unsigned intsbit DQ=P13; /ds18b20 端口uchar Temp_Integer=0;uchar Temp_Decimal=0;uchar fg=0;void delay2(uint us)while(us-);uchar Init_DS18B20(void) uch

42、ar x=0;DQ = 1; /DQ復位delay2(8); /稍做延時DQ = 0; /單片機將DQ拉低delay2(80); /精確延時 大于480usDQ = 1; /拉高總線delay2(10);x=DQ; /稍做延時后 如果x=0則初始化成功 x=1則初始化失敗delay2(5);return x;uchar ReadOneChar(void) /讀一個字節(jié),"LSB" uchar i=0; uchar dat = 0; for (i=8;i>0;i-) DQ = 0; / 給脈沖信號 dat>>=1; DQ = 1; / 給脈沖信號 if(DQ

43、) dat|=0x80; delay2(5); return(dat);void WriteOneChar(unsigned char dat) /寫一個字節(jié) uchar i=0; for (i=8; i>0; i-) DQ = 0; DQ = dat&0x01; delay2(5); DQ = 1; dat>>=1; delay2(5);/*DS18b20讀取主函數(shù),整個流程5ms左右*/uchar ReadTemperature(void) /讀取溫度 uchar L_18B20=0; uchar H_18B20=0; Init_DS18B20(); WriteO

44、neChar(0xCC); / skip:跳過讀序號列號的操作 WriteOneChar(0x44); / convert:啟動溫度轉換 delay2(200); Init_DS18B20(); WriteOneChar(0xCC); /skip:跳過讀序號列號的操作 WriteOneChar(0xBE); /read:讀取溫度寄存器,前兩個就是溫度 L_18B20=ReadOneChar(); /讀取溫度低八位數(shù)據 H_18B20=ReadOneChar(); /讀取溫度高八位數(shù)據 if(H_18B20>0x7f) /最高位為1時溫度是負 L_18B20=L_18B20+1; /補碼轉換,取反加一 H_18B20=H_18B20; fg=1; /讀取溫度為負時fg=1 Temp_Decimal=L_18B20&0x0f; /取溫度小數(shù)部分二進制 L_18B20=L_18B20>>4; /取溫度整數(shù)部分二進制 H_18B20=H_18B20<<4; Temp_Integer=H_18B20|L_18B20;2濕度采集SAMPLE: SETB 00H ;設置標志位 MOV DPTR,#0F00H ;設置通道初值 MOV R6,#02H ;設置通道數(shù)為2 MOV R7,#08H ;設置采樣次數(shù)為8MOV R0,#40H ;設置數(shù)據

溫馨提示

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

評論

0/150

提交評論