版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、存檔編號 贛南師范學院學士學位論文簡易水質(zhì)監(jiān)測系統(tǒng)的設(shè)計教學學院 物理與電子信息學院 屆 別 2013屆專 業(yè) 電氣技術(shù)教育學 號 姓 名 楊艷萍指導教師 許糧完成日期 2013.5目錄內(nèi)容摘要1關(guān)鍵詞1Abstract:1Key words:11 引言22 系統(tǒng)設(shè)計任務和性能要求33 系統(tǒng)設(shè)計方案33.1系統(tǒng)框圖33.2 硬件設(shè)計與選擇44系統(tǒng)軟件設(shè)計104.1程序設(shè)計164.2系統(tǒng)主程序流程圖174.3 溫度主程序流程圖174.4 PH值測量流程圖184.5 渾濁度程序流程圖185系統(tǒng)調(diào)試19參考文獻20附錄一21附錄二21致謝32內(nèi)容摘要:簡易水質(zhì)監(jiān)測系統(tǒng)是以AT80S51單片機為核心,
2、用DS18B20做溫度傳感器,光敏二極管做感光傳感器,以及PH玻璃電極傳感器來檢測水質(zhì)的溫度,清澈度,酸堿度。整個系統(tǒng)分為復位電路、單片機控制單元電路、AD轉(zhuǎn)換電路、輸入輸出電路、LED顯示電路、電源電路。主要的設(shè)計是幾種傳感器所采集的數(shù)據(jù)通過多路開關(guān),傳送到A/D轉(zhuǎn)換器再傳送到單片機中進行檢測,在接通電源的條件下,本系統(tǒng)能夠顯示檢驗水質(zhì)的各種參數(shù),并通過報警電路進行異常情況報警。關(guān)鍵詞: AT80S51; DS18B20 ;光敏二極管;PH玻璃電極;LED顯示;Abstract:Simple water quality monitoring system is based on AT80S5
3、1 microcontroller as the core, using DS18B20 as a temperature sensor, a photosensitive diode as light sensitive sensor, and PH glass electrode sensor to detect the water temperature, turbidity, pH. The whole system is divided into a reset circuit, single-chip microcomputer control circuit, A / D con
4、version circuit, input / output circuit, LED display circuit, power supply circuit. The main design is to capture several sensor data through a multiplexer, sent to the A/D converter to teleport to chip in detection, when turning on the power, the system can display various parameters of water quali
5、ty testing, and through the alarm circuit abnormalities in alarm.Key words:AT80S51; DS18B20; photodiode; PH glass electrode; LED display;1 引言水是生命之源,它不僅蘊育了生命,而且是任何生命體得以維持的最基本的物質(zhì)基礎(chǔ)。水與人體健康息息相關(guān),它是消化食物、傳送養(yǎng)分、體液循環(huán)、體溫調(diào)節(jié)、潤滑組織器官等所必需的,同時,水也是為人體獲得各種營養(yǎng)物質(zhì)的重要途徑之一。由于人們對水質(zhì)的檢測越來越關(guān)注,所以我選擇設(shè)計水質(zhì)監(jiān)測儀。該水質(zhì)檢測是基于MSC-51的一個檢測系統(tǒng),
6、MSC-511系列單片機具有性能穩(wěn)定、工作可靠、價格低廉等特點,因此其應用相當廣泛。MSC-51系列的單片機(如ATMEL89cxx)內(nèi)部包含有RAM、FLASH ROM、兩個或者三個16位的定時器/計數(shù)器等多種資源。但即便如此,在一些相對復雜的單片機應用系統(tǒng)中,僅僅一個單片機資源還是不夠的,因此常常需要擴充I/O接口、定時器/計數(shù)器、串行通信接口、RAM、ROM等。本設(shè)計將溫度傳感器、PH值傳感器、渾濁度傳感器通過多路開關(guān),傳送到A/D轉(zhuǎn)換器再傳送到單片機中進行檢測,在接通電源的條件下,通過報警系統(tǒng)以及顯示檢驗水質(zhì)的各種參數(shù)。單片機自問世以來,性能不斷提高和完善,其資源又能滿足很多應用場合的
7、需要,加之單片機具有集成度高、功能強、速度快、體積小、功耗低、使用方便、價格低廉等特點。因此在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、高級計算器、家用電器等領(lǐng)域的應用日益廣泛,并且正在逐步取代現(xiàn)有的多片微機應用系統(tǒng)。單片機的潛力越來越被人們所重視。特別是當前用CMOS工藝制成的各種單片機,由于功耗低,使用的溫度范圍大,抗干擾能力強、能滿足一些特殊要求的應用場合,更加擴大了單片機的應用范圍,也進一步促使單片機性能的發(fā)展。ATMEL80S512單片機以其可靠性高、體積小、價格低、功能全等優(yōu)點,廣泛地應用于各種智能儀器中,這些智能儀器的操作在進行儀器校核以及測量過程的控制中,達到了自動化。
8、有的還能自動調(diào)整測試點,這樣不僅方便了操作,也提高了測試精度。下面分別介紹一下關(guān)于在水中的PH值、渾濁度的影響。水的酸堿性均用PH值表示,水是由H2O組成。在一般情況下,水可以發(fā)生微弱的電離。在純水中,由于氫離子過剩水呈現(xiàn)酸性,水越純越偏酸。渾濁度為水樣光學性質(zhì)的一種表達語,是由于水中存在不溶性物質(zhì)引起的,它使光散射和吸收,而不是直線透過水樣。它是反映天然水和飲用水的物理性狀的一項指標,用以表示水的清澈或渾濁程度,是衡量水質(zhì)良好程度的重要指標之一,與懸浮物的質(zhì)量濃度、顆粒的大小、形狀、折射指數(shù)等有關(guān)。2 系統(tǒng)設(shè)計任務和性能要求設(shè)計一個簡易水質(zhì)監(jiān)測系統(tǒng),要求能夠?qū)λ|(zhì)的溫度,酸堿度,渾濁度各種信
9、號進行采集經(jīng)模數(shù)轉(zhuǎn)換送入單片機控制系統(tǒng)并顯示,要求有較高的檢測靈敏度。具體任務和要求如下:(1)檢測水質(zhì)的溫度,溫度范圍070C,精度為0.5C;(2)檢測水質(zhì)的酸堿度,PH范圍0-14,精度為0.5;(3)檢測水質(zhì)的渾濁度,分為六個等級顯示渾濁度狀態(tài)。3 系統(tǒng)設(shè)計方案本設(shè)計將溫度模塊、測PH模塊、測渾濁度模塊、顯示模塊通過多路開關(guān),經(jīng)模數(shù)轉(zhuǎn)換,傳送到單片機中進行檢測,在接通電源的條件下,通過顯示系統(tǒng)顯示檢驗水質(zhì)的各種參數(shù)。3.1系統(tǒng)框圖顯示部分PH電極傳感器溫度傳感器DS18b20A/D轉(zhuǎn)換模塊單片機光敏二極管傳感器電源部分圖3-1 系統(tǒng)總體框圖3.2 硬件設(shè)計與選擇 3.2.1單片機的選擇
10、 單片機也稱為微控制器或嵌入式微控制器。其內(nèi)部結(jié)構(gòu)與普通計算機結(jié)構(gòu)類似,也是由中央處理器(CPU)、存儲器和輸入/輸出(I/O)3大基本部分構(gòu)成。實際就是把一臺普通計算機經(jīng)過簡化,濃縮在一小片芯片內(nèi),形成了芯片級計算機,即單芯片微型計算機,簡稱單片機。具有性能高,價格低;體積小,可靠性高;低電壓,低功耗的特點。AT89C51單片機是Atmel公司1989年的產(chǎn)品,Atmel率先把80C51內(nèi)核與Flash技術(shù)相結(jié)合,推出了AT89系列單片機。AT89C51 與80C51單片機的基本機構(gòu)是一樣的,編程所使用的指令及單片機的管腳都與80C51相同,即完全兼容。由于采用了Flash工藝制作內(nèi)部存儲器
11、(也稱閃速存儲器),用戶可以用電方式進行反復快速擦出、改寫。圖3-2 AT80C51單片機引腳圖本次課題設(shè)計即是選用AT80C51單片機,其引腳如上圖3-2。單片機振蕩電路石英晶體振蕩器頻率選12MHz,則振蕩周期= 1/(12MHz),機械周期=12振蕩周期=1s。(振蕩周期:也稱時鐘周期,是指為單片機提供時鐘信號的振蕩源的周期,一般為11.0592MHZ,12MHZ和24MHZ用的也比較多;機器周期:一個機器周期包含6個狀態(tài)周期S1S6,也就是12個時鐘周期。在一個機器周期內(nèi),CPU可以完成一個獨立的操作;指令周期:它是指CPU完成一條操作的所需的全部時間。每條指令執(zhí)行時間都是有一個或幾個
12、機器周期組成。) 3.2.2本系統(tǒng)采用的單片機最小系統(tǒng)原理圖 圖3-3為單片機最小系統(tǒng)原理圖:圖3-3 單片機最小系統(tǒng)原理圖3.2.3傳感器的選用(1) 溫度傳感器方案的選擇 隨著現(xiàn)代科技的發(fā)展,傳感器技術(shù)的應用越來越廣泛。溫度傳感器是檢測溫度的器件,其種類最多,應用最廣,發(fā)展最快。按照溫度傳感器的輸出信號的模式,可大致分為三類:邏輯輸出溫度傳感器、模擬式溫度傳感器、數(shù)字式溫度傳感器2。方案一:由于傳統(tǒng)的模擬溫度傳感器,如熱電偶、熱電阻及RTDS對溫度的監(jiān)控,在一些溫度范圍內(nèi)的線性不是太好,需要進行冷端補償或引線補償,而且熱慣性大,響應時間較慢,所以在市場上已很少遇到。集成模擬溫度傳感器與之相
13、比,具有靈敏度高、線性度好、響應速度快等優(yōu)點,而且它還將驅(qū)動電路、信號處理電路以及必要的邏輯控制電路集成在單片IC上,有實際尺寸小,使用方便等優(yōu)點。 該方案的缺點是模擬信號轉(zhuǎn)換為數(shù)字信號的接口電路需要占用微機的數(shù)條數(shù)據(jù)/控制線。限制了微機功能的擴展;而且在溫度監(jiān)測點大范圍分布的系統(tǒng)中,模擬信號需長距離傳輸,信號容易失真,抗干擾能力差。所以不采用此方案。 方案二:如果采用數(shù)字式接口的溫度傳感器,上述設(shè)計問題將得到簡化。數(shù)字式溫度傳感器直接輸出數(shù)字測溫信號,不但節(jié)約了微機的數(shù)條數(shù)據(jù)/控制線,而且省去了A/D轉(zhuǎn)換、放大、濾波等電路,在長距離傳輸過程中信號不易失真,抗干擾能力強,所以本設(shè)計采用數(shù)字式溫
14、度傳感器。 DS18B20是由美國DALLAS公司生產(chǎn)的一種自帶編碼的單線數(shù)字溫度傳感器,可以把溫度信號直接轉(zhuǎn)換成數(shù)字信號。每片DS18B20含有唯一的64位序列號。以便不同測溫點的識別。DS18B20的測溫是+55到+125。符合本設(shè)計的要求,所以本設(shè)計采用DS18B20數(shù)字式溫度傳感器。圖3-4 DS18B20引腳圖DS18B20的主要特征:全數(shù)字溫度轉(zhuǎn)換及輸出; 先進的單總線數(shù)據(jù)通信;最高12位分辨率,精度可達土0.5攝氏度;12位分辨率時的最大工作周期為750毫秒;可選擇寄生工作方式;檢測溫度范圍為55C +125C (67F +257F);內(nèi)置EEPROM,限溫報警功能;64位光刻R
15、OM,內(nèi)置產(chǎn)品序列號,方便多機掛接;多樣封裝形式,適應不同硬件系統(tǒng)。 DS18B20工作原理及應用4: DS18B20的溫度檢測與數(shù)字數(shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。其中一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理。DS18B20共有三種形態(tài)的存儲器資源,它們分別是:ROM 只讀存儲器,用于存放DS18B20編碼,其前8位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號,最后8位是以上56的位的CRC碼(冗余校驗)。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。DS18B20共64位ROM。 RAM 數(shù)據(jù)暫存器,用于內(nèi)部計算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18
16、B20共9個字節(jié)RAM,每個字節(jié)為8位。第1、2個字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個字節(jié)是用戶EEPROM(常用于溫度報警值儲存)的鏡像。在上電復位時其值將被刷新。第5個字節(jié)則是用戶第3個EEPROM的鏡像。第6、7、8個字節(jié)為計數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計算的暫存單元。第9個字節(jié)為前8個字節(jié)的CRC碼。EEPROM 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像。 RAM及EEPROM結(jié)構(gòu)圖如圖3-5所示:寄存器內(nèi)容字節(jié)地址溫度值低位 (LS Byte)Byt
17、e0溫度值高位 (MS Byte)Byte1高溫限值(TH)Byte2低溫限值(TL)Byte3配置寄存器Byte4保留Byte5保留Byte6保留Byte7CRC校驗值Byte8圖3-5 RAM及EEPROM結(jié)構(gòu)圖 控制器對DS18B20操作流程: 復位:首先我們必須對DS18B20芯片進行復位,復位就是由控制器(單片機)給DS18B20單總線至少480us低電平信號。當18B20接到此復位信號后則會在1560us回發(fā)一個芯片的存在脈沖。 存在脈沖:在復位電平結(jié)束之后,控制器應該將數(shù)據(jù)單總線拉高,以便于在1560us后接收存在脈沖,存在脈沖為一個60240us低電平信號。至此,通信雙方已經(jīng)達
18、成了基本的協(xié)議,接下來將會是控制器與DS18B20間的數(shù)據(jù)通信。如果復位低電平的時間不足或是單總線的電路斷路都不會接到存在脈沖,在設(shè)計時要注意意外情況的處理。 控制器發(fā)送ROM指令:雙方打完了招呼之后將要進行交流了,ROM指令共有5條,每一個工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報警芯片搜索。ROM指令為8位長度,功能是對片內(nèi)的64位光刻ROM進行操作。其主要目的是為了分辨一條總線上掛接的多個器件并作處理。誠然,單總線上可以同時掛接多個器件,并通過每個器件上所獨有的ID號來區(qū)別,一般只掛接單個DS18B20芯片時可以跳過ROM指令(注意:此處指的
19、跳過ROM指令并非不發(fā)送ROM指令,而是用特有的一條“跳過指令”)。控制器發(fā)送存儲器操作指令:在ROM指令發(fā)送給18B20之后,緊接著(不間斷)就是發(fā)送存儲器操作指令了。操作指令同樣為8位,共6條,存儲器操作指令分別是寫RAM數(shù)據(jù)、讀RAM數(shù)據(jù)、將RAM數(shù)據(jù)復制到EEPROM、溫度轉(zhuǎn)換、將EEPROM中的報警值復制到RAM、工作方式切換。存儲器操作指令的功能是命令DS18B20作什么樣的工作,是芯片控制的關(guān)鍵。 執(zhí)行或數(shù)據(jù)讀寫:一個存儲器操作指令結(jié)束后則將進行指令執(zhí)行或數(shù)據(jù)的讀寫,這個操作要視存儲器操作指令而定。如執(zhí)行溫度轉(zhuǎn)換指令則控制器(單片機)必須等待DS18B20執(zhí)行其指令,一般轉(zhuǎn)換時間
20、為500us如執(zhí)行數(shù)據(jù)讀寫指令則需要嚴格遵循DS18B20的讀寫時序來操作。DS18B20的程序流程圖如圖3-6所示:圖3-6 DS18B20初始化程序流程圖(2)測水渾濁度傳感器的選擇測水的渾濁度,簡單而言可以根據(jù)水質(zhì)不同測水透光的強弱,測光強弱可以用到光敏電阻和光敏二極管16。方案一:數(shù)據(jù)采集選用光敏電阻,它是基于半導體光電效應工作的光電管,對光感應靈敏度相當高,當受到一定波長范圍的光照時,其阻值(亮電阻)急劇減小,電流迅速增加,通過參考電阻分壓后進行模數(shù)變換即可獲得光敏電阻的阻值,進行換算出光照強度。其特點是價格低廉,輸出電流大、受溫度的影響小、抗干擾能力比較強、可靠性好、器件本身不容易
21、發(fā)生故障。方案二:數(shù)據(jù)采集選用光敏二極管,光敏二極管也叫光電二極管,光敏二極管與半導體二極管在結(jié)構(gòu)上是類似的,其管芯是一個具有光敏特征的PN結(jié),具有單向?qū)щ娦?,因此工作時需加上反向電壓。無光照時,有很小的飽和反向漏電流,即暗電流,此時光敏二極管截止。當受到光照時,飽和反向漏電流大大增加,形成光電流,它隨入射光強度的變化而變化。當光線照射PN結(jié)時,可以使PN結(jié)中產(chǎn)生電子一空穴對,使少數(shù)載流子的密度增加。這些載流子在反向電壓下漂移,使反向電流增加。因此可以利用光照強弱來改變電路中的電流。常見的有2CU、2DU等系列。以上兩種由于光敏二極管兩個引腳有較好的絕緣作用方便設(shè)計的進行,所以我們選用光敏二極
22、管做傳感器,利用光敏二極管采集渾濁度信號的采集電路如圖3-7所示。圖3-7 光采集信號電路(3)測水質(zhì)PH傳感器的選擇測量pH值的方法很多,主要有化學分析法、試紙法、電位法。試紙法是通過pH試紙顏色的變化來測量溶液的pH值,是采用有些指示劑在不同的酸堿度下能呈現(xiàn)變化或變化為不同顏色這一特性來測量溶液酸堿度的一種方法。它方便、快捷,但會受到溶液本身顏色或蛋白質(zhì)等物質(zhì)的干擾而被限制采用只適用于分辨力大于0.5pH值的測量;而對于分辨力小于0.5pH的測量,我們均采用電位法即用pH測試儀進行測量。根據(jù)pH測試儀的測量原理建立數(shù)學模型:水溶液的酸堿度與被測溶液的pH值關(guān)系,可以用能斯特方程表示: 15
23、 (2-1)式中是電極的標準點位;是氣體的常數(shù) R=8.314焦耳/摩;是絕對溫度 =273.15+t(t是攝氏溫度);是法拉第常數(shù) =96500庫/摩。把常數(shù)帶入(2-1) (2-2) 我們采用電極的零電位pH=7,則 (2-3) 由(2-3)式可知,pH值與電極產(chǎn)生的電勢呈線性,并且與溫度有關(guān)。 隨著電極的使用,其轉(zhuǎn)換率降低,pH響應時間變長。因此,必須對其電極的轉(zhuǎn)換率進行修正,一般電極的轉(zhuǎn)換率低于94%就不能使用了,再考慮電極的固有誤差,則(2-3)式變?yōu)?(2-4) 式中為電極的補償斜率;為電極的固有誤差; ,都是由固定溶液測定的。 因為,在我國標準緩沖液中,沒有pH=7.000。我們
24、采用定標的幾種溶液為pH=6.684,pH=4.003,pH=9.182。把pH=6.864代入(2-4)得 (2-5) 把(2-5)代入(2-4)得 (2-6)為玻璃電極在pH=6.864標準溶液產(chǎn)生的電動勢。測量數(shù)據(jù)經(jīng)pH電極轉(zhuǎn)化為微弱的電壓信號,信號調(diào)整電路對原始PH電極轉(zhuǎn)化的微弱信號進行調(diào)整,信號調(diào)整電路采用多級集成運放構(gòu)成,如圖3-8所示。第一級采用U4和U5放大器CA314O同相放大,提高輸入阻抗,玻璃電極通過放大器U4,參考電極通過放大器U5,第二級采用CA314O反相放大,第三級采用uA741跟滑動變阻器進行校正使輸出電壓達到合理的伏值范圍,便于電壓值對應PH只對應轉(zhuǎn)換。pH電
25、極8由玻璃電極和參考電極組成。玻璃電極是由特殊玻璃膜制成的。其厚度可以小于0.1mm,AgAgC1為參考電極在內(nèi)部,由二者組成復合電極。從復合pH電極的玻璃電極和參考電極兩端輸出的信號為電壓。在一定的溫度下只要知道了電壓值,即可求出溶液的pH值,因此pH值的測量實際上就是電壓信號的測量。由于復合pH電極內(nèi)阻很高。大約l012。要求前置放大器有較高的輸入阻抗。因此設(shè)計中選用了運放CA3140,它兼有高電壓PMOS管和高壓二極管的優(yōu)點。都集成在單獨的芯片上。輸入電路PMOS提供非常高的阻抗。并且具有非??斓捻憫俣?。還具有自身補償能力來達到穩(wěn)定的放大增益;輸出部分含有自身保護電路來保護由于負載短路
26、造成的損害??赏瓿勺杩蛊ヅ洹⒔档蜏y量噪聲、提高系統(tǒng)穩(wěn)定性等,非常適合此電路設(shè)計。本文采用3個CA3140來構(gòu)成雙高阻抗差分輸入電路。電路圖如圖3-8所示。圖3-8 pH信號輸入電路 3.2.4 顯示模塊LCD1602資料本系統(tǒng)顯示器采用LCD1602液晶顯示模塊9,1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表3-1所示:表3-1:控制命令表序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標或字符移位000001S/CR/L*6置功能00001DLNF*
27、7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標志或地址01BF計數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容 1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。 指令1:清顯示,指令碼01H,光標復位到地址00H位置。 指令2:光標復位,光標返回到地址00H。 指令3:光標和顯示模式設(shè)置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表
28、示開顯示,低電平表示關(guān)顯示 C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標。指令6:功能設(shè)置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。 指令7:字符發(fā)生器RAM地址設(shè)置。 指令8:DDRAM地址設(shè)置。 指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù)。 指令11:讀
29、數(shù)據(jù)。 與點陣字符型液晶顯示模塊LCD1602相兼容的芯片時序表如表3-2所示:表3-2:基本操作時序表讀狀態(tài)輸入RS=L,R/W=H,E=H輸出D0D7=狀態(tài)字寫指令輸入RS=L,R/W=L,D0D7=指令碼,E=高脈沖輸出無讀數(shù)據(jù)輸入RS=H,R/W=H,E=H輸出D0D7=數(shù)據(jù)寫數(shù)據(jù)輸入RS=H,R/W=L,D0D7=數(shù)據(jù),E=高脈沖輸出無 讀操作時序如圖3-9,寫操作3-10所示:圖3-9 讀操作時序 圖3-10 寫操作時序 3.2.5 AD轉(zhuǎn)換器本設(shè)計采用ADC0809轉(zhuǎn)換器7。ADC0809轉(zhuǎn)換器是CMOS單片機型八位逐次逼近式AD轉(zhuǎn)換器。它由一個8路模擬開關(guān)、一個地址鎖存譯碼器、
30、一個A/D 轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8 路模擬量分時輸入,共用A/D 轉(zhuǎn)換器進行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D 轉(zhuǎn)換完的數(shù)字量,當OE 端為高電平時,才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。ADC0809芯片有28條引腳,采用雙列直插式封裝,其各引腳的功能為:IN0IN7:8路模擬量輸入端。(ADC0809 對輸入模擬量要求:信號單極性,電壓范圍是05V,若信號太小,必須進行放大;輸入的模擬量在轉(zhuǎn)換過程中應該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。)D7D0:8位數(shù)字量輸出端。ADDA、ADDB、ADDC:3位地址輸入線,用于選通8
31、路模擬輸入中的一路。ALE:地址鎖存允許信號,輸入,高電平有效。當ALE線為高電平時,地址鎖存與譯碼器將A, B,C 三條地址線的地址信號進行鎖存,經(jīng)譯碼后被選中的通道的模擬量進入轉(zhuǎn)換器進行轉(zhuǎn)換。A,B 和C 為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。圖3-11 ADC0809的內(nèi)部結(jié)構(gòu) START: AD轉(zhuǎn)換啟動信號,輸入,高電平有效。 EOC: AD轉(zhuǎn)換結(jié)束信號,當EOC 為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進行A/D 轉(zhuǎn)換。當AD轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。CLK:時鐘脈沖輸入端。因ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,
32、要求時鐘頻率不高于640KHZ。REF(+)、REF(-):基準電壓。 VCC:電源,單一5V。GND:地。通道選擇表如下表3-3所示:表3-3通道選擇表CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7 ADC0809的工作過程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復位。下降沿啟動 AD轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到AD轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示AD轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當
33、OE輸入高電平時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。ADC0809 應用說明:ADC0809 內(nèi)部帶有輸出鎖存器,可以與AT89S51 單片機直接相連;初始化時,使ST 和OE信號全為低電平;傳送要轉(zhuǎn)換的哪一通道的地址到A,B,C 端口上;在ST 端給出一個至少有100ns 寬的正脈沖信號;是否轉(zhuǎn)換完畢,我們根據(jù)EOC 信號來判斷;當EOC變?yōu)楦唠娖綍r,這時給OE 為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機了。3.2.6穩(wěn)壓電源設(shè)計如圖3-12為穩(wěn)壓電源設(shè)計電路:220V交流電源經(jīng)過變壓器整流橋電路變?yōu)?2V,經(jīng)電容濾波到L7805。L7805是一個穩(wěn)壓三極管,它可以支持5V到12V
34、的電源輸入,經(jīng)過降壓后,穩(wěn)定輸出5V 的直流電壓。一般在輸入電源的正負級之間并上一個無極性電容和一個1000UF的有極性電容,起到對電源濾波的作用。由于本設(shè)計使用220V交流電供電。單片機要求在穩(wěn)定的電源下才能正常工作,本身單片機工作在晶震12M下產(chǎn)圖3-12為穩(wěn)壓電源設(shè)計電路生的干擾信號也是大的。所以需要提供一個穩(wěn)定的直流電源給單片機,這樣能保證單片機穩(wěn)定的工作。4系統(tǒng)軟件設(shè)計4.1程序設(shè)計 設(shè)計就是用計算機所能接受的語言把所需解決問題的步驟逐一描述出來,也就是編制計算機的程序,在設(shè)計應用系統(tǒng)時,軟件的編制是重要環(huán)節(jié)。軟件的質(zhì)量直接影響整個系統(tǒng)功能的實現(xiàn)。應用程序的設(shè)計因系統(tǒng)而異,但程序設(shè)計
35、總是有共同特點及其規(guī)律的。在編寫程序時,采取如下幾個步驟: (1)分析問題,明確所要解決問題的要求,將軟件分成若干個相對獨立的部分。根據(jù)功能關(guān)系和時序關(guān)系,設(shè)計出合理的軟件總體結(jié)構(gòu)。 (2)定程序框圖,即根據(jù)所選擇的計算方法制定框圖。 (3)根據(jù)程序的流程圖和指令系統(tǒng)編寫出程序。注意在程序的有關(guān)位置處寫上功能注釋,提高程序的可讀性。 (4)程序調(diào)試。通過編輯軟件編輯出的源程序,必須用編譯程序匯編后生成目標代碼。如果源程序有語法錯誤,需修改源文件后繼續(xù)編譯,直到無語法錯誤為止,然后利用目標代碼通過仿真器進行程序調(diào)試,排除設(shè)計和編程中的錯誤直到成功。 (5)程序優(yōu)化。使各功能程序模塊化,子程序化,
36、縮短程序的長度,加快運算速度和節(jié)省數(shù)據(jù)存儲空間,減少程序執(zhí)行的時間。4.2系統(tǒng)主程序流程圖 系統(tǒng)主程序流程圖如圖4-1所示圖41 系統(tǒng)主程序流程圖4.3溫度主程序流程圖 圖4-2所示是溫度測試流程圖圖4-2 溫度檢測模塊程序框圖4.4 PH主程序流程圖 圖4-3所示是酸堿度測試流程圖圖4-3 PH值檢測模塊流程圖4.5渾濁度主程序流程圖圖4-4 渾濁度檢測模塊流程圖5 系統(tǒng)調(diào)試(1) 渾濁度調(diào)試及顯示(2) 酸堿度仿真及顯示 表5-2 酸堿度顯示及對應輸出電壓值單位:V輸出PH值0-0.310.4-0.720.8-1.131.2-1.541.6-1.952.0-2.362.4-2.772.8-
37、3.183.2-3.593.6-3.9104.0-4.3114.4-4.7124.8-4.9135.0及以上14 表5-1渾濁度顯示及對應輸出電壓值單位:V顯示級別對應渾濁度0-0.51清澈見底(qc)0.6-12略微渾濁(lwhz)1.1-1.53微渾濁(whz)1.6-2.04半渾濁(bhz)2.1-3.05渾濁(hz)3.1-4.196見水如泥(Jsrn)(3)系統(tǒng)總設(shè)計仿真參考文獻1 陳東MSC-51單片機原理與接口技術(shù)M 電子工業(yè)出版社,2003,(8):63-792 彭為,黃科,雷道仲單片機典型系統(tǒng)設(shè)計實例精講M 北京:電子工業(yè)出版社,2006:275-2983 何立民單片機應用技
38、術(shù)選編(5) M 北京航空航天大學出版社,1997:46-524 吳金,沈慶陽,郭庭吉8051單片機實踐與應用M清華大學出版社,2002,9:269-2735 顏榮江多量程可控12位AD采集系統(tǒng)MAX197熱門電路與集成應用6 張小鳴 MSC51單片機串行通訊波特率設(shè)置的特點與誤差J 煤礦自動化, 1997,(04):44-467 彭為,黃科,雷道仲單片機典型系統(tǒng)設(shè)計實例精講電子工業(yè)出版社200658 林宇威可用中文顯示信息的電路設(shè)計電子電腦報,2000,(12):174 9 周啟海 漢字點陣字幕發(fā)生器J 電子報刊十年精化,1997,(04):564-56510顏榮如何用C語言編寫計數(shù)器程序無
39、線電合訂本,2004年(下):213-21411譚浩強C程序設(shè)計M北京:清華大學出版社,2005(第三版)12樓然苗,李光飛51系列單片機設(shè)計實例北京航天航空大學出版社200313李廣第,朱月秀, 王秀山單片機基礎(chǔ)修訂本 北京航空航天大學出版社2001714ATMEL CORPORATIONAT90S8515.REV7200115軟件世界雜志16 超星數(shù)字圖書館附錄一:主電路原理圖附錄二#include #include ds18b20.h#include lcd1602.h#include adc0808.huchar code word1 = T: ;uchar code word2 =
40、PH: TRU:;int main(void)long temp;uchar *TempStr;uchar adc;uchar *AdcStr; Init_DS18B20();init_1602();InitTimer0();w_string(0x80, word1);w_string(0x80 + 0x40,word2);while (1)temp = ReadTemp(); /讀取溫度值TempStr = temp_to_str(temp);/將溫度整型值轉(zhuǎn)化成字符串w_string(0x80 + 0x03, TempStr);/基地址加偏移量;1602的第一行顯示溫度值TR0 = 1;A
41、DDA = 1;/開定時器adc = GetADC0808(); /讀取AD轉(zhuǎn)化值 if(adc = 20)w_string(0x80 + 0x43, 1); /0-0.4velse if(adc = 40)w_string(0x80 + 0x43, 2); /0.4-0.8velse if(adc = 60)w_string(0x80 + 0x43, 3); /0.8-1.2velse if(adc = 80)w_string(0x80 + 0x43, 4); /1.2v-1.6velse if(adc = 100)w_string(0x80 + 0x43, 5); /1.6v-2.0vel
42、se if(adc = 120)w_string(0x80 + 0x43, 6); /2.0v-2.4velse if(adc = 140)w_string(0x80 + 0x43, 7); /2.4v-2.8velse if(adc = 160)w_string(0x80 + 0x43, 8); /2.8v-3.2velse if(adc = 180)w_string(0x80 + 0x43, 9); /3.2v-3.6velse if(adc = 200)w_string(0x80 + 0x43, 10); /3.6v-4.0velse if(adc = 224)w_string(0x80
43、 + 0x43, 11); /4.0v-4.4velse if(adc = 244)w_string(0x80 + 0x43, 12); /4.4v-4.8velse if(adc = 250)w_string(0x80 + 0x43, 13); /4.8v-4.9velse if(adc = 255)w_string(0x80 + 0x43, 14); /4.9v-5.0v/AdcStr = adc_to_str(adc);/將讀取的AD值轉(zhuǎn)化成可供1602顯示的字符串/w_string(0x80 + 0x45, AdcStr);ADDA = 0;adc = GetADC0808();if(
44、adc = 25)w_string(0x80 + 0x49, qc ); /0-0.5v 清澈else if(adc = 51)w_string(0x80 + 0x49, wqc ); /0.5v-1.0v 微清澈else if(adc = 76)w_string(0x80 + 0x49, whz ); /1.0v-1.5v 微渾濁else if(adc = 102)w_string(0x80 + 0x49, bhz ); /1.5v-2.0v 半渾濁else if(adc = 153)w_string(0x80 + 0x49, hz ); /2.0v-3.0v渾濁else if(adc 0;
45、i-)DQ = 0; /給脈沖信號dat=1; /數(shù)據(jù)右移一位DQ = 1; /給脈沖信號if(DQ)dat|=0x80; /按位或,取最高位delay_18B20(4); return(dat);/*ds18b20寫一個字節(jié)*/ static void WriteOneChar(uchar dat)uchar i=0;for (i=8; i0; i-)DQ = 0;DQ = dat&0x01; /取最低位delay_18B20(5);DQ = 1; /上升沿將數(shù)據(jù)送入dat=1;/*讀取ds18b20當前溫度*/Ulong32 ReadTemp(void)uchar tempL = 0;uc
46、har tempH = 0;Ulong32 temp_value=0;Init_DS18B20();WriteOneChar(0xCC); /跳過讀序號列號的操作WriteOneChar(0x44); / 啟動溫度轉(zhuǎn)換delay_18B20(100); / It is quite important !Init_DS18B20();WriteOneChar(0xCC); /跳過讀序號列號的操作WriteOneChar(0xBE); /讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度delay_18B20(100);tempL = ReadOneChar(); /讀取溫度值低位tempH = ReadOneChar(); /讀取溫度值高位 temp_value=tempH;temp_valu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《標準化與標準編寫》課件
- 人教版八年級生物下冊第一節(jié)植物的生殖教學課件
- 七年級寫作專題作文如何選材課件
- 單位管理制度匯編大合集【職員管理】
- 單位管理制度合并匯編【人力資源管理】
- 單位管理制度呈現(xiàn)匯編員工管理十篇
- 《電腦常識賽宣講》課件
- 《容積和容積單位》課件
- 《產(chǎn)品開發(fā)管理V》課件
- 三角形的初步認識課件
- 危機管理與應急響應
- 《安全生產(chǎn)法》宣傳周活動宣貫課件
- 2024年度廢鋼再生資源買賣合同樣本3篇
- 2024年綜合實踐活動課程實施計劃(4篇)
- 陸軍第七十五集團軍醫(yī)院招聘筆試真題2023
- 2024年度鍋爐安全檢驗與保養(yǎng)服務合同3篇
- 《政府經(jīng)濟學》期末考試復習題及答案
- 中南大學《大學物理C(一)》2023-2024學年第一學期期末試卷
- 2024年01月11042國際經(jīng)濟法期末試題答案
- 高中生物課件
- 物業(yè)年會講話稿范文
評論
0/150
提交評論