版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 摘 要系統(tǒng)是一個(gè)專門為溫室大棚溫濕度控制而設(shè)計(jì)的智能系統(tǒng)。通過對系統(tǒng)的硬件部分和軟件部分設(shè)計(jì)來達(dá)到監(jiān)控要求。硬件部分實(shí)現(xiàn)了對溫濕度傳感器模塊、A/D轉(zhuǎn)換模塊、顯示模塊、控制模塊的設(shè)計(jì);軟件部分主要根據(jù)系統(tǒng)的設(shè)計(jì)思想設(shè)計(jì)出了主程序和子程序流程圖,并通過匯編語言和C語言實(shí)現(xiàn)。通過實(shí)踐證明,系統(tǒng)具有性能好、操作方便等優(yōu)點(diǎn),實(shí)現(xiàn)了對溫濕度的顯示、調(diào)節(jié)、自動(dòng)控制和手動(dòng)控制。關(guān)鍵詞: A/D轉(zhuǎn)換;傳感器;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預(yù)期目標(biāo)12 系統(tǒng)總體設(shè)計(jì)方案與工作原理22.1系統(tǒng)總體設(shè)計(jì)方案簡述22.1.1基本功能22.1.2主要技術(shù)參數(shù)22.2系統(tǒng)的工作原理23 系統(tǒng)的硬件設(shè)計(jì)43.1 單片機(jī)的確定43.2傳感器的確定73.2.1溫度傳感器73.2.2濕度傳感器83.3采集電路的設(shè)計(jì)93.3.1溫度采集電路93.3.2濕度采集電路93.4 A/D轉(zhuǎn)換113.4.1 模數(shù)轉(zhuǎn)換器的確定113.4.2 ADC0809與8031的連接123.5鍵盤與顯示133.5.1鍵盤部分133.5.2顯示部分143.6報(bào)警電路設(shè)計(jì)153.7單片機(jī)與PC機(jī)的通信接口163.8系統(tǒng)總體電路174 軟件設(shè)
6、計(jì)194.1 設(shè)計(jì)思想194.2 初始化程序與主程序框圖204.3 子程序框圖214.4系統(tǒng)的主要程序22總結(jié)27參考文獻(xiàn)28致2926 / 281 緒論1.1課題背景溫濕度是衡量溫室大棚的重要指標(biāo),它直接影響到栽培作物的的生長和產(chǎn)量,為了能給作物提供一個(gè)合適的生長環(huán)境,首要問題是加強(qiáng)溫室的溫濕度的檢測, 但傳統(tǒng)的方法是用與濕度表、毛發(fā)濕度表、雙金屬式測量計(jì)和濕度試紙等測試器材,通過人工進(jìn)行檢測,對不符合溫度和濕度要求的庫房進(jìn)行通風(fēng)、去濕和降溫等工作。這種人工測試方法費(fèi)時(shí)費(fèi)力、效率低,且測試的溫度與濕度誤差大,隨機(jī)性大。因此我們需要一種造價(jià)低廉、使用方便且測量準(zhǔn)確的溫濕度測量儀。該設(shè)計(jì)即是針對
7、這一問題,設(shè)計(jì)出了能夠?qū)崿F(xiàn)溫濕度自動(dòng)檢測,顯示,上下限報(bào)警等多功能的溫濕度監(jiān)測控制系統(tǒng)。1.2預(yù)期目標(biāo)系統(tǒng)完成后可以通過溫度傳感器DS18B20和濕度傳感器HS1101對大棚溫室的溫濕度進(jìn)行測量,通過單片機(jī)AT89C51對采集到的數(shù)據(jù)進(jìn)行處理,用LED顯示出當(dāng)前環(huán)境的溫濕度狀況,其中溫度可以有操作人員根據(jù)不同作物所需的最適宜溫度進(jìn)行調(diào)節(jié),當(dāng)環(huán)境溫度和設(shè)置的最適宜溫度之差大于4時(shí),報(bào)警裝置即會(huì)啟動(dòng)。2 系統(tǒng)總體設(shè)計(jì)方案與工作原理2.1系統(tǒng)總體設(shè)計(jì)方案簡述該溫濕度測控系統(tǒng)是由數(shù)據(jù)采集和處理系統(tǒng)和報(bào)警系統(tǒng)組成,由溫度、濕度傳感器,模擬量輸入通道、A/D轉(zhuǎn)換、顯示器與報(bào)警電路等組成。通過對信號的采集、
8、分析、處理,然后輸出信號來使執(zhí)行部件進(jìn)行動(dòng)作,使溫室大棚達(dá)到所要求指標(biāo)。2.1.1基本功能1 檢測溫度,濕度2 顯示溫度,濕度3 過限報(bào)警2.1.2主要技術(shù)參數(shù)溫度檢測圍:0-50測量精度:±0.5濕度檢測圍:0%-100%RH檢測精度:±2.5% RH控制方式:手動(dòng)/自動(dòng)可切換參數(shù)調(diào)整:手動(dòng)設(shè)定/程序控制2.2系統(tǒng)的工作原理溫濕度監(jiān)控系統(tǒng)能完成數(shù)據(jù)采集和處理、顯示、串行通信、輸出控制信號等多種功能。由數(shù)據(jù)采集、數(shù)據(jù)調(diào)理、單片機(jī)、控制等4個(gè)大的部分組成。該測控系統(tǒng)具有實(shí)時(shí)采集(檢測溫室大棚的溫濕度)、實(shí)時(shí)處理(對監(jiān)測到的溫濕度值進(jìn)行比較分析,決定下一步控制進(jìn)程)、實(shí)時(shí)控制(
9、根據(jù)處理的結(jié)果發(fā)出控制指令,指揮被控對象動(dòng)作)的功能。主要硬件包括溫度傳感器,濕度傳感器,AT89C51單片機(jī)、數(shù)據(jù)采集電路、LED顯示器、A/D轉(zhuǎn)換器等。其原理結(jié)構(gòu)圖如下圖2-1所示。首先充分考慮氣候、環(huán)境因素對植物的影響,并根據(jù)溫室大棚植物保持正常狀態(tài)所需的溫度和濕度,設(shè)計(jì)出溫濕度參考值預(yù)先存儲(chǔ)于單片機(jī)中。系統(tǒng)的數(shù)據(jù)采集部分是將溫濕度傳感器置于溫室部,測出室的溫濕度值,經(jīng)過放大、A/D轉(zhuǎn)換為數(shù)字量之后送入AT89C51單片機(jī)中,然后LED顯示出溫濕度測量值。單片機(jī)將預(yù)設(shè)的參考值與測量值進(jìn)行比較,根據(jù)比較結(jié)果做出判斷。圖2-1 原理結(jié)構(gòu)圖當(dāng)溫濕度值超過允許的誤差圍,系統(tǒng)將發(fā)出報(bào)警,如果有必要
10、,工作人員還可以根據(jù)實(shí)際的情況通過鍵盤或按鈕來人工修改片存儲(chǔ)的預(yù)設(shè)值。通過對整個(gè)系統(tǒng)的核心單片機(jī)部分的設(shè)計(jì),達(dá)到優(yōu)化控制溫濕度的目標(biāo)。3 系統(tǒng)的硬件設(shè)計(jì)3.1 單片機(jī)的確定單片機(jī)的全稱是單片微型計(jì)算機(jī)(Single Chip Microcomputer)。為了使用方便,它把組成計(jì)算機(jī)的主要功能部件:中央處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM、EPROM、E2PROM或FLASH)、定時(shí)/計(jì)數(shù)器和各種輸入/輸出接口電路等都集成在一塊半導(dǎo)體芯片上,構(gòu)成了一個(gè)完整的計(jì)算機(jī)系統(tǒng)。與通用的計(jì)算機(jī)不同,單片機(jī)的指令功能是按照工業(yè)控制的要求設(shè)計(jì),因此它又被稱為微控制器(Microcont
11、roller)。8031片不帶程序存儲(chǔ)器ROM,使用時(shí)用戶需外接程序存儲(chǔ)器和一片邏輯電路373,外接的程序存儲(chǔ)器多為EPROM的2764系列。用戶若想對寫入到EPROM中的程序進(jìn)行修改,必須先用一種特殊的紫外線燈將其照射擦除,之后再可寫入。寫入到外接程序存儲(chǔ)器的程序代碼沒有什么性可言。 8051片有4K的ROM,無須外接外存儲(chǔ)器和373,更能體現(xiàn)“單片”的簡練。但是你編的程序你無法燒寫到其ROM中,只有將程序交芯片廠代你燒寫,并是一次性的,今后你和芯片廠都不能改寫其容。 8751與8051基本一樣,但8751片有4k的EPROM,用戶可以將自己編寫的程序?qū)懭雴纹瑱C(jī)的EPRO
12、M中進(jìn)行現(xiàn)場實(shí)驗(yàn)與應(yīng)用,EPROM的改寫同樣需要用紫外線燈照射一定時(shí)間擦除后再燒寫。 由于上述類型的單片機(jī)應(yīng)用的早,影響很大,已成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。后來很多芯片廠商以各種方式與Intel公司合作,也推出了同類型的單片機(jī),如同一種單片機(jī)的多個(gè)版本一樣,雖都在不斷的改變制造工藝,但核卻一樣,也就是說這類單片機(jī)指令系統(tǒng)完全兼容,絕大多數(shù)管腳也兼容;在使用上基本可以直接互換。我們統(tǒng)稱這些與8051核一樣的單片機(jī)為“51系列單片機(jī)”。 在眾多的51系列單片機(jī)中,要算 ATMEL 公司的AT89C51更實(shí)用,因他不但和8051指令、管腳完全兼容,而且其片的4K程序存儲(chǔ)器是FLASH工藝的,這種
13、工藝的存儲(chǔ)器用戶可以用電的方式瞬間擦除、改寫,一般專為 ATMEL AT89Cx 做的編程器均帶有這些功能。顯而易見,這種單片機(jī)對開發(fā)設(shè)備的要求很低,開發(fā)時(shí)間也大大縮短。寫入單片機(jī)的程序還可以進(jìn)行加密,這又很好地保護(hù)了你的勞動(dòng)成果。重要的一點(diǎn)AT89C51目前的售價(jià)比8031還低,市場供應(yīng)也很充足。 AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī)。片含4K bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51
14、指令系統(tǒng),片置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。AT89C51的管腳圖如圖3-1下:圖3-1 AT89C51管腳圖各引腳功能簡單介紹如下:VCC:供電電壓;GND:接地;P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每個(gè)管腳可吸收8TTL門電流。當(dāng)P1口的管腳寫“1”時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時(shí),P0口作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部電位必須被拉高;P1口:P1口是一個(gè)部提供上拉電
15、阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入“1”后,電位被部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收;P2口:P2口為一個(gè)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳電位被部上拉電阻拉高,且作為輸入。作為輸入時(shí),P2口的管腳電位被外部拉低,將輸出電流,這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用部上拉的優(yōu)勢,當(dāng)對外部八位地址
16、數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號;P3口:P3口管腳是8個(gè)帶部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被部上拉為高電平,并用作輸入。作為輸入時(shí),由于外部下拉為低電平,P3口將輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INT0(外部中斷0)P3.3 INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 WR (外部數(shù)據(jù)存儲(chǔ)
17、器寫選通)P3.7 RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)同時(shí)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號;RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高平時(shí)間;ALE / PROG :當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令時(shí)ALE
18、才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效;PSEN:外部程序存儲(chǔ)器的選通信號。在由外部程序存儲(chǔ)器取址期間,每個(gè)機(jī)器周期PSEN兩次有效。但在訪問部部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號將不出現(xiàn);EA/VPP:當(dāng)EA保持低電平時(shí),訪問外部ROM;注意加密方式1時(shí),EA將部鎖定為RESET;當(dāng)EA端保持高電平時(shí),訪問部ROM。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP);XTAL1:反向振蕩放大器的輸入與部時(shí)鐘工作電路的輸入;XTAL2:來自反向振蕩器的輸出。3.2傳感器的確定3.2.1溫度傳感器常用的溫度傳感器有熱敏電阻、熱電偶、PN結(jié)
19、溫度傳感器、集成溫度傳感器、熱電阻等。對于溫室部溫度的檢測,溫度傳感器選擇DALLAS公司生產(chǎn)的一線制數(shù)字溫度傳感器DS18B20,它具有3引腳TO92小體積封裝形式;溫度測量圍為55125,可編程為9位12位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625,被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出。DS18B20有三個(gè)引腳,GND接地;DQ數(shù)字信號的輸出/輸入;Vdd為外接電源輸入端。 圖3-2 DS18B20的引腳圖3.2.2濕度傳感器本系統(tǒng)需要檢測溫室大棚的濕度,目前已有許多濕敏器件,按感濕材料來分,大致有四類:電解質(zhì),半導(dǎo)體瓷,高分子和其它型式。溫室的相對濕度大,變化速度慢,不需要高的響
20、應(yīng)時(shí)間,但是對線性度和穩(wěn)定性要求高,所以經(jīng)過選擇采用電容式集成濕度傳感器HS1101來檢測溫室大棚部的濕度。濕度傳感器HS1101是法國Humirel生產(chǎn)的電容式濕度傳感器。HS1101是一種在高分子薄膜上形成的電容。高分子薄膜上的電極是很薄的金屬微孔蒸發(fā)膜,水分子可通過兩端的電極被高分子薄膜吸附或釋放,隨著這種水分子的吸附或釋放,高分子的介電系數(shù)將發(fā)生相應(yīng)的變化。由于介電系數(shù)隨空氣的相對濕度變化而變化,所以只要測定電容C值就可得到相對濕度。HS1101是基于獨(dú)特工藝設(shè)計(jì)的固態(tài)聚合物結(jié)構(gòu),在電路中等效于一個(gè)電容器,其電容隨所測空氣的相對濕度增大而增大。HS1101具有極好的線性輸出,在相對濕度
21、為0100RH的圍,電容的容量由163 pF變化到202 pF,其誤差不大于±2RH;濕度量程為199RH,工作溫度圍為-40100;濕度輸出受溫度影響極小(溫度系數(shù)僅為0.04 pF);常溫下使用無需溫度補(bǔ)償,無需校準(zhǔn)。該器件具有不需校準(zhǔn)的完全互換性、高度可靠性、長期穩(wěn)定性、快速響應(yīng)的固態(tài)聚合物結(jié)構(gòu),適用于線性電壓輸出和頻率輸出兩種電路。 圖3-3 濕敏電容工作的濕、溫度圍 圖3-4 電容濕度響應(yīng)曲線圖3-3為濕敏電容工作的溫、濕度圍。圖3-4為濕度-電容響應(yīng)曲線。相對濕度在1%-100%RH圍;電容量由16pF變到200pF,其誤差不大于±2%RH;響應(yīng)時(shí)間小于5S;溫
22、度系數(shù)為0.04 pF/??梢娋仁禽^高的。3.3采集電路的設(shè)計(jì)3.3.1溫度采集電路 圖3-5 溫度檢測電路由于DS18B20只有一個(gè)串行通信接口,與單片機(jī)的連接電路非常簡單,只需和單片機(jī)的一個(gè)I/O端口連接即可,本系統(tǒng)選擇了接口接的是P2.0端口,其連接電路圖如圖3-5所示。DS18B20的I/O口屬于漏極開路輸出,外接上拉電阻后常態(tài)下呈高電平。該器件含寄生電源,其供電方式可以選擇寄生電源方式,也可以選用外部電源。為方便起見,采用外部電源供電。3.3.2濕度采集電路HS1101電容傳感器,在電路構(gòu)成中等效于一個(gè)電容器件,其電容量隨著所測空氣濕度的增大而增大。如何將電容的變化量準(zhǔn)確地轉(zhuǎn)變?yōu)橛?jì)
23、算機(jī)易于接受的信號,常有兩種方法:一是將該濕敏電容置于運(yùn)放與阻容組成的橋式振蕩電路中,所產(chǎn)生的正弦波電壓信號經(jīng)整流、直流放大、再A/D轉(zhuǎn)換為數(shù)字信號;另一種是將該濕敏電容置于555振蕩電路中,將電容值的變化轉(zhuǎn)為與之成反比的電壓頻率信號,可直接被計(jì)算機(jī)所采集本系統(tǒng)采用的是將HS1101接入555定時(shí)器組成的震蕩電路中,輸出一定頻率的方波信號,這種方法結(jié)構(gòu)簡單,使用方便,因此被廣泛采用,具體電路圖如3-6下:圖3-6 HS1101和NE556構(gòu)成的濕度采集電路集成定時(shí)器NE555一方面可以形成單穩(wěn)態(tài)電路,另一方面可以形成多諧振蕩電路,本系統(tǒng)選用的是NE556,它部含有兩個(gè)NE555定時(shí)器,其中R1
24、,R2,C1,C2和NE556構(gòu)成多諧振蕩器,外接電阻R1,R2和濕敏電容C1構(gòu)成了對濕敏電容C1的充電回路,7端通過芯片部的晶體管對地短路又構(gòu)成了對C1的放電回路,并將2,6端相連引入到片比較器。該振蕩電路的兩個(gè)暫穩(wěn)態(tài)過程交替如下:首先是電源Ucc通過R1,R2向C2充電,經(jīng)T1充電時(shí)后,Uc2充至比較器的高觸發(fā)電平,約2/3Ucc,此時(shí)輸入引腳3端由高電平突降為低電平,然后通過R2放電,經(jīng)T2放電時(shí)間后,Uc2下降到比較器的低觸發(fā)電平,約1/3Ucc,此時(shí)輸入引腳3端又由低電平躍升為高電平,如此反復(fù),形成方波輸出,其中充放電時(shí)間為:T1=C1(R1+R2)ln2T2=C1R2ln2因而輸出
25、的方波頻率為:f=1/(t1+t2)=1/C1(R1+2R2)ln2=50HZ只要改變定時(shí)元件R1和R2就可以改變脈沖的頻率,從多諧振蕩器出來的信號又接入到單穩(wěn)態(tài)觸發(fā)器,單穩(wěn)態(tài)觸發(fā)器它有兩個(gè)觸發(fā)狀態(tài),一個(gè)穩(wěn)定狀態(tài),一個(gè)暫穩(wěn)定狀態(tài),在外來觸發(fā)脈沖作用下,能夠由穩(wěn)定狀態(tài)翻轉(zhuǎn)到暫穩(wěn)定狀態(tài),而暫穩(wěn)定狀態(tài)維持一段時(shí)間后,再自動(dòng)的返回到穩(wěn)定狀態(tài),且暫穩(wěn)定狀態(tài)持續(xù)時(shí)間長短取決與電路本身參數(shù),圖中,R3,C3和傳感器HS1101是外接地定時(shí)元件,觸發(fā)脈沖Ui由5端輸出,由8端輸入,下降沿有效,從9端輸出一個(gè)幅度,寬度都一定的矩形波信號,輸出的脈沖寬度Tp為:Tp=R3(C2+Cx)ln3。3.4 A/D轉(zhuǎn)換模
26、數(shù)轉(zhuǎn)換器(ADC),簡稱AD,是實(shí)現(xiàn)模擬量向數(shù)字量的轉(zhuǎn)變的設(shè)備。3.4.1 模數(shù)轉(zhuǎn)換器的確定A/D轉(zhuǎn)換器位數(shù)的確定和系統(tǒng)所需測量控制的圍、精度有關(guān)。其一:實(shí)際選取的位數(shù)與其它環(huán)節(jié)所能獲得的精度相適應(yīng),只要不低于它們就可以,不必太高。其二:如果微處理機(jī)是51系列單片機(jī),采用8位以下的A/D轉(zhuǎn)換器時(shí),接口電路最簡單。其三:由于溫室大棚濕度變化相對于控制運(yùn)行的速度來說是緩慢的,因此,在A/D轉(zhuǎn)換的時(shí)候,也不要求有很快的轉(zhuǎn)換速率。ADC0809是采樣分辨率為8位的、以逐次逼近原理進(jìn)行模數(shù)轉(zhuǎn)換的器件。其部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個(gè)進(jìn)行A/D轉(zhuǎn)換
27、。 主要特性1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位;2)具有轉(zhuǎn)換起??刂贫?;3)轉(zhuǎn)換時(shí)間為100s;4)單個(gè)5V電源供電;5)模擬輸入電壓圍05V,不需零點(diǎn)和滿刻度校準(zhǔn);6)工作溫度圍為-4085攝氏度;7)低功耗,約15mW。部結(jié)構(gòu)ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型D/A轉(zhuǎn)換器、逐次逼近。外部特性(引腳功能)ADC0809芯片有28條引腳,采用雙列直插式封裝:IN0IN7:8路模擬量輸入端;2-12-8:8位數(shù)字量輸出端;ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路;ALE:
28、地址鎖存允許信號,輸入高電平有效;START: A/D轉(zhuǎn)換啟動(dòng)脈沖輸入端,輸入一個(gè)正脈沖(至少100ns寬)使其啟動(dòng)(脈沖上升沿使0809復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換);EOC: A/D轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平);OE:數(shù)據(jù)輸出允許信號,輸入高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量;CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ;REF(+)、REF(-):基準(zhǔn)電壓;Vcc:電源,單一5V;GND:地。首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一
29、到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號可用作中斷申請。當(dāng)OE輸入高電平 時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。3.4.2 ADC0809與8031的連接單片機(jī)控制ADC可采用查詢法和中斷控制法。本系統(tǒng)采用中斷方式,中斷控制是指啟動(dòng)信號送到ADC后,單片機(jī)執(zhí)行別的程序。當(dāng)ADC轉(zhuǎn)換完成時(shí)向單片機(jī)發(fā)出中斷請求信號,單片機(jī)響應(yīng)中斷請求,讀出轉(zhuǎn)換數(shù)據(jù),然后返回源程序。ADC0809與單片機(jī)的接口如圖3-10所示。圖3-7 A
30、DC0809與單片機(jī)的接口將A/D0809作為一的外擴(kuò)展的并行I/O口,直接由單片機(jī)的P2.0和脈沖進(jìn)行啟動(dòng)。模擬量輸入通道選擇端A、B、C分與單片機(jī)的P0.0、P0.1、P0.2直接相連,數(shù)據(jù)由A/D0809轉(zhuǎn)換器的2-1 2-8輸出。為了提高系統(tǒng)的效率,A/D轉(zhuǎn)換器D采用中斷的方法,將ADC0809的轉(zhuǎn)換信號EOC經(jīng)反相器連接到單片機(jī)的INT1。當(dāng)A/D轉(zhuǎn)換結(jié)束,向單片機(jī)申請中斷,單片機(jī)響應(yīng)后,即可讀出A/D轉(zhuǎn)換的結(jié)果數(shù)據(jù)。ADC0809的時(shí)鐘信號由單片機(jī)的ALE提供(為1MHZ),轉(zhuǎn)換器的啟動(dòng)信號START和8位模擬量輸入地址鎖存允許信號ALE由單片機(jī)的WR和P2.0口來控制。轉(zhuǎn)換的輸出
31、允許信號OE由單片機(jī)的RD和P2.0口控制。3.5鍵盤與顯示3.5.1鍵盤部分根據(jù)該系統(tǒng)的實(shí)際情況,我選用了獨(dú)立式鍵盤。獨(dú)立式鍵盤是個(gè)按鍵相互獨(dú)立地連通一條輸入數(shù)據(jù)線如圖3-8所示。這種鍵盤結(jié)構(gòu)的優(yōu)點(diǎn)是電路簡單,缺點(diǎn)是當(dāng)鍵的數(shù)量較多時(shí)占用的I/O線的數(shù)量較多。圖3-8 鍵盤連接利用P1口實(shí)現(xiàn),當(dāng)開關(guān)全部打開時(shí),均為高電平,經(jīng)過與門仍為高電平,因此不會(huì)產(chǎn)生中斷。當(dāng)其中一鍵被按下時(shí),端變?yōu)榈忘c(diǎn)平,向CPU申請中斷,CPU響應(yīng)后,用查詢方法找到申請中斷的功能鍵,并按程序設(shè)定執(zhí)行相應(yīng)的功能。3.5.2顯示部分本系統(tǒng)的顯示部分我選用了帶有高速串行接口的8位LED控制驅(qū)動(dòng)器MAX7219芯片,本設(shè)計(jì)采用1
32、片MAX7219,在每輪溫濕度檢測完成以后,顯示新值。MAX7219是MAXIM公司生產(chǎn)的一種串行接口方式7段共陰極LED顯示驅(qū)動(dòng)器,其片包含有一個(gè)BCD碼到B碼的譯碼器、多路復(fù)用掃描電路、字段和字位驅(qū)動(dòng)器以與存儲(chǔ)每個(gè)數(shù)字的8×8 RAM,每位數(shù)字都可以被尋址和更新,允許對每一位數(shù)字選擇B碼譯碼或不譯碼。采用三線串行方式與單片機(jī)接口,電路十分簡單,只需要一個(gè)10k左右的外接電阻來設(shè)置所有LED的段電流MAX7219為24引腳芯片,引腳排列如3-8圖所示,各引腳功能如下:DIN:串行數(shù)據(jù)輸入端;DIG0DIG7:LED位線;LOAD:數(shù)據(jù)信號輸入端;SEGASEGG,SEGDp:段碼輸
33、出端; ISET:硬件亮度調(diào)節(jié)端;DOUT:串行數(shù)據(jù)輸出端;CLK:移位脈沖輸入端;V+:正電源;GND:地。圖3-9 MAX7219引腳圖 圖3-10 顯示連接圖MAX7219采用串行數(shù)據(jù)傳輸方式,由16位數(shù)據(jù)包發(fā)送到DIN引腳的串行數(shù)據(jù)在每個(gè)CLK的上升沿被移入到部16位移位寄存器中,然后在LOAD的上升沿將數(shù)據(jù)鎖存到數(shù)字或控制寄存器中。LOAD信號必須在第16個(gè)時(shí)鐘上升沿同時(shí)或之后,但在下一個(gè)時(shí)鐘上升沿之前變高,否則將會(huì)丟失數(shù)據(jù)。DIN端的數(shù)據(jù)通過移位寄存器傳送,并在16.5個(gè)時(shí)鐘周期后出現(xiàn)在DOUT端。DOUT端的數(shù)據(jù)在CLK的下降沿輸出。串行數(shù)據(jù)以16位為一幀,其中D15D12可以任
34、意,D11D8為部寄存器地址,D7D0為寄存器數(shù)據(jù),工作時(shí)序如下:圖3-11工作時(shí)序圖3.6報(bào)警電路設(shè)計(jì)在微型計(jì)算機(jī)控制系統(tǒng)中,為了安全生產(chǎn),對于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報(bào)警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。其方法就是把計(jì)算機(jī)采集的數(shù)據(jù)或記過計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理、數(shù)字濾波,標(biāo)度變換之后,與該參數(shù)上下限給定值進(jìn)行比較,如果高于上限值(或低于下限值)則進(jìn)行報(bào)警,否則就作為采樣的正常值,進(jìn)行顯示和控制。本設(shè)計(jì)采用峰鳴音報(bào)警電路。峰鳴音報(bào)警接口電路的設(shè)計(jì)只需購買市售的壓電式蜂鳴器,然后通過AT89C51的1根口線經(jīng)驅(qū)動(dòng)器驅(qū)動(dòng)蜂鳴音發(fā)聲。壓電式蜂鳴器約需10mA的驅(qū)動(dòng)電流,可以使
35、用TTL系列集成電路7406或7407低電平驅(qū)動(dòng),也可以用一個(gè)晶體三極管驅(qū)動(dòng)。在圖中,當(dāng)輸出高電平“1”時(shí),晶體管導(dǎo)通,壓電蜂鳴器兩端獲得約+5V電壓而鳴叫;當(dāng)輸出低電平“0”時(shí),三極管截止,蜂鳴器停止發(fā)聲。 圖3-12是一個(gè)簡單的使用三極管驅(qū)動(dòng)的峰鳴音報(bào)警電路 圖3-12 三極管驅(qū)動(dòng)的峰鳴音報(bào)警電路3.7單片機(jī)與PC機(jī)的通信接口利用AT89C51單片機(jī)的標(biāo)準(zhǔn)串行接口,通過簡單的外圍接口電路,可以方便地實(shí)現(xiàn)單片機(jī)與PC機(jī)之間的數(shù)據(jù)通訊。本文對數(shù)據(jù)通訊無特殊要求,因此選擇RS-232串行通訊。在接口電路和計(jì)算機(jī)接口芯片都為TTL或CMOS電平,所以在通信時(shí),必須進(jìn)行電平轉(zhuǎn)換,以便與RS-232C
36、標(biāo)準(zhǔn)的電平匹配 MAX232芯片可以完成電平轉(zhuǎn)換這一工作。MAX232芯片是MAXIN公司生產(chǎn)的低功耗、單電源雙RS232發(fā)送/接收器 適用于各種EIA-232E和V.28/V.24的通信接口MAX232芯片部有一個(gè)電源電壓變換器,可以把輸入的+5V電源變換成RS-232C輸出電平所需±10V電壓,所以采用此芯片接口的串行通信系統(tǒng)只要單一的+5V電源就可以 。MAX232的管腳說明: C1+,C1-,C2+,C2-:外接電容端;R1IN,R2IN:2路RS-232電平信號接收輸入端;R1OUT,R2OUT:2路轉(zhuǎn)換后的TTL電平接收信號輸出端,送單片機(jī)的RXD接收端;T1I
37、N,T2IN :2路TTL電平發(fā)送輸入端,接單片機(jī)的TXD發(fā)送端;T1OUT,T2OUT:2路轉(zhuǎn)換后的發(fā)送RS-232電平信號輸出端,接傳輸線;V+:經(jīng)電容接+5V電源;V-:經(jīng)電容接地。MAX232的芯片引腳如3-13圖所示。接線圖如3-14所示圖3-13MAX232引腳圖 圖3-14 接線圖3.8系統(tǒng)總體電路系統(tǒng)的總體電路如圖3-15所示,由DS18B20溫度傳感器和HS1101濕度傳感器采集信號并處理,傳輸給ADC0809進(jìn)行模數(shù)轉(zhuǎn)換,然后傳輸給AT89C51單片機(jī),在LED顯示器上顯示數(shù)值,如果超過所設(shè)定溫度濕度,蜂鳴報(bào)警器將工作。系統(tǒng)再由RS-232進(jìn)行串口通信。圖3-15
38、 系統(tǒng)總電路圖4 軟件設(shè)計(jì)4.1 設(shè)計(jì)思想根據(jù)實(shí)際需要,單片機(jī)軟件主程序由若干模塊組成:初始化模塊、LED顯示模塊、數(shù)據(jù)發(fā)送/接受中斷服務(wù)程序模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊。其中有些模塊還包含有子模塊,使用時(shí)下一級模塊被高一級模塊調(diào)用,各部分既相互獨(dú)立又相互聯(lián)系。中斷允許寄存器IE中的ES位置1,采用串口中斷來進(jìn)行中斷請求,然后通過對串行口控制寄存器SCON的設(shè)置來確定串行口的接收方式,確定中斷服務(wù)程序入口地址,最后用EA命令開放中斷系統(tǒng),等待串口中斷的到來。當(dāng)中斷到來之后,即進(jìn)入下面的接收中斷服務(wù)程序模塊。本系統(tǒng)的程序按其功能可以分為三部分:主程序MIAN程序,INT1中斷程序(采集程序)
39、,INT0中斷(輸入鍵值)程序3部分組成。MIAN程序進(jìn)行必須的初始化操作;INT1響應(yīng)中斷后,會(huì)進(jìn)行模擬量的采集,并進(jìn)行一系列的處理操作,包括:采集,轉(zhuǎn)換,執(zhí)行相應(yīng)的操作等;INT0中斷為按鍵程序,以中斷的方式對按鍵做出反映。AT89C51片RAM資源地址分配:00H07H: 主程序中工作寄存器R0R7;08H0FH:外部中斷0服務(wù)程序中工作寄存器R0R7;10H1FH:定時(shí)中斷T0服務(wù)程序中工作寄存器R0R7;20H2FH:位尋址區(qū);30H:存放設(shè)定溫度值;31H: 存放設(shè)定濕值;32H:存放溫度允許偏差;33H:存放濕度允許偏差;34H:存放溫度A/D轉(zhuǎn)換結(jié)果;35H:存放濕度A/D轉(zhuǎn)換
40、結(jié)果;36H43H:存放計(jì)算比較數(shù)據(jù)區(qū);46H4FH:顯示緩沖區(qū)。4.2 初始化程序與主程序框圖(1) 初始化程序:ORG 0100H MOV TMOD,#20H ;T1位方式2MOV TH1,#0FAH ;波特率為4800MOV TL1,#0FAHMOV PCON,#80HMOV SCON,#0F0H ;串口方式為3SETB TR1 ;啟動(dòng)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ù)據(jù)采集圖4-2 串口中斷 圖4-3數(shù)據(jù)采集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復(fù)位delay2(8); /稍做延時(shí)DQ = 0; /單片機(jī)將DQ拉低delay2(80); /精確延時(shí) 大于480usDQ = 1; /拉高總線delay2(10);x=DQ; /稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗delay2(5);return x;uchar ReadOneChar(void) /讀一個(gè)字節(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) /寫一個(gè)字節(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ù),整個(gè)流程5ms左右*/uchar ReadTemperature(void) /讀取溫度 uchar L_18B20=0; uchar H_18B20=0; Init_DS18B20(); WriteO
44、neChar(0xCC); / skip:跳過讀序號列號的操作 WriteOneChar(0x44); / convert:啟動(dòng)溫度轉(zhuǎn)換 delay2(200); Init_DS18B20(); WriteOneChar(0xCC); /skip:跳過讀序號列號的操作 WriteOneChar(0xBE); /read:讀取溫度寄存器,前兩個(gè)就是溫度 L_18B20=ReadOneChar(); /讀取溫度低八位數(shù)據(jù) H_18B20=ReadOneChar(); /讀取溫度高八位數(shù)據(jù) if(H_18B20>0x7f) /最高位為1時(shí)溫度是負(fù) L_18B20=L_18B20+1; /補(bǔ)碼轉(zhuǎn)換,取反加一 H_18B20=H_18B20; fg=1; /讀取溫度為負(fù)時(shí)fg=1 Temp_Decimal=L_18B20&0x0f; /取溫度小數(shù)部分二進(jìn)制 L_18B20=L_18B20>>4; /取溫度整數(shù)部分二進(jìn)制 H_18B20=H_18B20<<4; Temp_Integer=H_18B20|L_18B20;2濕度采集SAMPLE: SETB 00H ;設(shè)置標(biāo)志位 MOV DPTR,#0F00H ;設(shè)置通道初值 MOV R6,#02H ;設(shè)置通道數(shù)為2 MOV R7,#08H ;設(shè)置采樣次數(shù)為8MOV R0,#40H ;設(shè)置數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2019-2025年中國葡萄籽行業(yè)市場調(diào)查研究及投資前景預(yù)測報(bào)告
- 巴彥淖爾精密塑料制品項(xiàng)目可行性研究報(bào)告
- 土木工程專業(yè)實(shí)習(xí)報(bào)告5000字范文
- 中國手機(jī)外屏玻璃行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略研究報(bào)告
- 濕地飛禽公園建設(shè)項(xiàng)目可行性研究報(bào)告
- 叉接機(jī)行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報(bào)告
- 垃圾分類行業(yè)市場調(diào)查研究及投資前景預(yù)測報(bào)告
- 2025年中國醫(yī)療診斷儀行業(yè)市場監(jiān)測及投資環(huán)境評估預(yù)測報(bào)告
- 四川碳中和碳達(dá)峰項(xiàng)目評估報(bào)告
- 陜西某鍍鋅帶鋼及制管項(xiàng)目可行性研究報(bào)告
- GB/T 11352-2009一般工程用鑄造碳鋼件
- 2022年新媒體編輯實(shí)戰(zhàn)教程測試題及答案(題庫)
- 崗位現(xiàn)場應(yīng)急處置方案卡全套(全套20頁)
- 清華大學(xué)寶玉石鑒賞標(biāo)準(zhǔn)答案
- 涼席竹片銑槽機(jī)(課程設(shè)計(jì))
- 高壓線防護(hù)搭設(shè)方案
- 中西醫(yī)結(jié)合科工作制度、規(guī)章制度、崗位制度與說明書
- 綜合機(jī)械化固體充填采煤技術(shù)要求-編制說明
- 十人聯(lián)名推薦表
- 七、分蛋糕博弈
- 斷橋隔熱鋁門窗計(jì)算書
評論
0/150
提交評論