




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 畢業(yè)設(shè)計(jì) 第 45 頁(yè) 共 45 頁(yè)畢業(yè)設(shè)計(jì)題 目 多點(diǎn)溫度采集系統(tǒng)與控制器設(shè)計(jì)學(xué) 院 控制科學(xué)與工程學(xué)院專(zhuān) 業(yè) 電氣工程及其自動(dòng)化姓 名 學(xué) 號(hào) 指導(dǎo)教師 二oo八年六月十四日目錄摘要3abstract41 緒論51.1 選題背景51.2 發(fā)展趨勢(shì)62 系統(tǒng)分析與方案確定72.1 系統(tǒng)分析72.2 傳感器選型72.3 ds18b2072.3.1 ds18b20結(jié)構(gòu)82.3.2 單總線(xiàn)92.3.3 ds18b20供電方式102.3.4 ds18b20寄存器112.3.5 ds18b20測(cè)溫原理122.3.6 ds18b20時(shí)序及存儲(chǔ)器命令132.4單片機(jī)選型152.4.1 單片機(jī)at89s5
2、2152.4.2看門(mén)狗定時(shí)器(wdt)162.5 通訊模塊172.5.1通信概述172.5.2 通信協(xié)議182.5.3 通信方式選用192.5.4 max485接口芯片192.6系統(tǒng)方案的確定193 硬件設(shè)計(jì)213.1 硬件結(jié)構(gòu)框架213.2電源電路213.3鍵盤(pán)電路223.4 溫度檢測(cè)電路233.5 液晶顯示電路243.6控制電路263.7串口通訊電路283.8 系統(tǒng)電路圖294 軟件設(shè)計(jì)304.1主程序設(shè)計(jì)304.2 鍵盤(pán)控制程序324.3溫度檢測(cè)程序設(shè)計(jì)334.3.1讀序列號(hào)程序334.3.2溫度檢測(cè)主程序334.3.3溫度計(jì)算流程圖354.4 rs-485通信程序365 總結(jié)38致謝3
3、9參考文獻(xiàn)40附錄:部分系統(tǒng)程序41多點(diǎn)溫度采集系統(tǒng)與控制器設(shè)計(jì)摘要本設(shè)計(jì)提出一種基于單片機(jī)并采用數(shù)字化單總線(xiàn)技術(shù)的溫度測(cè)控系統(tǒng)應(yīng)用于溫室大棚的的設(shè)計(jì)方案。一旦該溫度值超過(guò)我們預(yù)先設(shè)定的上、下限,單片機(jī)便啟動(dòng)報(bào)警系統(tǒng)進(jìn)行報(bào)警,進(jìn)而對(duì)大棚內(nèi)溫度進(jìn)行控制。這種設(shè)計(jì)方案能對(duì)多點(diǎn)的溫度進(jìn)行實(shí)時(shí)巡檢,各檢測(cè)單元能獨(dú)立完成各自功能,同時(shí)能夠根據(jù)主控機(jī)的指令對(duì)溫度進(jìn)行定時(shí)采集,測(cè)量結(jié)果不僅能在本地顯示,而且可以利用單片機(jī)串行口,通過(guò)rs-485總線(xiàn)及通信協(xié)議將采集的數(shù)據(jù)傳送到計(jì)算機(jī),進(jìn)行進(jìn)一步的存檔、處理。主控機(jī)負(fù)責(zé)控制指令的發(fā)送,控制各個(gè)從機(jī)進(jìn)行溫度采集,收集測(cè)量數(shù)據(jù),并對(duì)測(cè)量結(jié)果進(jìn)行整理、顯示和存儲(chǔ)。該
4、測(cè)控系統(tǒng)不需要任何固定網(wǎng)絡(luò)的支持,安裝簡(jiǎn)單方便,系統(tǒng)穩(wěn)定可靠、可維護(hù)性好。關(guān)鍵詞:溫度檢測(cè);單片機(jī);單總線(xiàn);ds18b20abstractbased on the design of a microcontroller and a digital 1wire-bus technology temperature measurement and control system used in the greenhouse design. once the temperature exceeded our pre-determined, the minimum level, single-chip
5、microcomputer will activate alarm system for alarm as well as on the greenhouse temperature control. this design programmes to more real-time inspection of temperature, the unit can detect independent of their respective functions, according to the instructions of controller temperature regularly co
6、llected, measured not only in the local, and can use the microcontroller serial port, through the rs-485 bus and communication protocols will be collecting the data transmission to the computer, further filing, processing. zhu kongji responsible for the control sent commands to control all from the
7、collection of temperature, the measurement data collection and measurement results are finishing, display and storage. the monitoring system does not require any fixed network support, installation simple, stable and reliable system, maintainability well. keywords:ds18b20;single-chip microcomputer;r
8、s-485;1-wire;1 緒論1.1 選題背景在工農(nóng)業(yè)生產(chǎn)中,溫度檢測(cè)及其控制占有舉足輕重的地位,隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn) ,能夠獨(dú)立工作的溫度檢測(cè)和顯示系統(tǒng)已經(jīng)應(yīng)用于諸多領(lǐng)域。傳統(tǒng)的溫度檢測(cè)以熱敏電阻為溫度敏感元件、多路模擬開(kāi)關(guān)、a/d轉(zhuǎn)換器及單片機(jī)等組成的系統(tǒng)。傳統(tǒng)方法精度不高,不穩(wěn)定、成本高等問(wèn)題,又需要后續(xù)信號(hào)處理電路 ,而且熱敏電阻的可靠性相對(duì)較差 ,測(cè)量溫度的準(zhǔn)確度低 ,檢測(cè)系統(tǒng)的精度差。要達(dá)到較高的測(cè)量精度需要很好的解決引線(xiàn)誤差補(bǔ)償問(wèn)題、多點(diǎn)測(cè)量切換誤差問(wèn)題和放大電路零點(diǎn)漂移誤差等問(wèn)題,使溫度檢測(cè)復(fù)雜化。模擬信號(hào)在長(zhǎng)距離傳輸過(guò)程中,抗電磁干擾時(shí)令設(shè)計(jì)
9、者傷腦筋的問(wèn)題,對(duì)于多點(diǎn)溫度檢測(cè)的場(chǎng)合,各被檢測(cè)點(diǎn)到監(jiān)測(cè)裝置之間引線(xiàn)距離往往不同,此外,各敏感元件參數(shù)的不一致,這些都是造成誤差的原因,并且難以完全清除。溫室大棚是一種可以改變植物生長(zhǎng)環(huán)境、為植物生長(zhǎng)創(chuàng)造最佳條件、避免外界四季變化和惡劣氣候?qū)ζ溆绊懙睦硐雸?chǎng)所。實(shí)現(xiàn)溫室大棚環(huán)境智能控制的目的是主動(dòng)地調(diào)節(jié)溫度、濕度、光照和二氧化碳?xì)怏w濃度等環(huán)境因素,以滿(mǎn)足作物最佳生長(zhǎng)環(huán)境的要求。其中,溫度是最重要的環(huán)境因數(shù)。目前,我國(guó)絕大多數(shù)溫室大棚設(shè)備都比較簡(jiǎn)陋,溫室大棚環(huán)境仍然靠人工根據(jù)經(jīng)驗(yàn)來(lái)管理。環(huán)境因素的自動(dòng)調(diào)節(jié)和控制的研究正處于起步階段,已嚴(yán)重影響了設(shè)施農(nóng)業(yè)的大力發(fā)展。特別是北方地區(qū)因其緯度高,寒冷季節(jié)
10、長(zhǎng),四季溫差和晝夜溫差較大,不利于作物生長(zhǎng),目前應(yīng)用于溫室大棚的溫度檢測(cè)系統(tǒng)大多采用傳統(tǒng)的溫度檢測(cè)。這種溫度采集系統(tǒng)需要在溫室大棚內(nèi)布置大量的測(cè)溫電纜,才能把現(xiàn)場(chǎng)傳感器的信號(hào)送到采集卡上,安裝和拆卸繁雜,成本也高。同時(shí)線(xiàn)路上傳送的是模擬信號(hào),易受干擾和損耗,測(cè)量誤差也比較大,不利于控制者根據(jù)溫度變化及時(shí)做出決定。在這樣的形式下,開(kāi)發(fā)一種實(shí)時(shí)性高、精度高,能夠綜合處理多點(diǎn)溫度信息的測(cè)控系統(tǒng)就很有必要。 熱敏電阻或溫敏元件多路模擬開(kāi)關(guān)a/d轉(zhuǎn)換器單片機(jī) 圖1-1 傳統(tǒng)溫度檢測(cè)系統(tǒng)目前,一些經(jīng)濟(jì)發(fā)達(dá)的國(guó)家和地區(qū)已經(jīng)研制并實(shí)現(xiàn)計(jì)算機(jī)自動(dòng)控制的現(xiàn)代化高科技溫室,并且形成了令人驚羨的植物土廠(chǎng)。而我國(guó)的溫室
11、系統(tǒng)屬于半開(kāi)放系統(tǒng),溫室內(nèi)環(huán)境控制水平比較低,仍靠人工根據(jù)經(jīng)驗(yàn)來(lái)管理。而且,國(guó)內(nèi)的控制系統(tǒng)主要用于單因子控制,因而設(shè)施現(xiàn)代化水平低,對(duì)溫室環(huán)境的調(diào)控能力差,產(chǎn)品的質(zhì)量和產(chǎn)量難以得到保證。正是這些塑料大棚和日光溫室對(duì)于解決城鄉(xiāng)人民的蔬菜供應(yīng)發(fā)揮著主力軍的作用。1.2 發(fā)展趨勢(shì)隨著設(shè)施農(nóng)業(yè)的規(guī)?;彤a(chǎn)業(yè)化程度的不斷提高,網(wǎng)絡(luò)通訊技術(shù)會(huì)在溫室控制和管理系統(tǒng)中得到廣泛的應(yīng)用。溫室內(nèi)部的管理和控制實(shí)際上就具有局域網(wǎng)的特性,隨著網(wǎng)絡(luò)通訊技術(shù)的發(fā)展,地區(qū)之間甚至跨國(guó)之間可以通過(guò)互聯(lián)網(wǎng)進(jìn)行遠(yuǎn)程控制和管理。我國(guó)土地遼闊,氣候復(fù)雜,種植模式多樣,整體的種植水平較低,利用現(xiàn)代化網(wǎng)絡(luò)技術(shù)進(jìn)行在線(xiàn)和離線(xiàn)服務(wù),從長(zhǎng)遠(yuǎn)看具
12、有廣闊的應(yīng)用前景。目前開(kāi)發(fā)的溫室計(jì)算機(jī)控制系統(tǒng)采用了主機(jī)終端模式,該模式通過(guò)一個(gè)主機(jī)作為控制中心,負(fù)責(zé)對(duì)其它各子系統(tǒng)進(jìn)行控制管理,該模式不靈活且投入大。分布式計(jì)算機(jī)系統(tǒng)是計(jì)算機(jī)控制系統(tǒng)的發(fā)展方向,該系統(tǒng)采用了所謂的服務(wù)器客戶(hù)模式。未來(lái)的計(jì)算機(jī)控制與管理系統(tǒng)是綜合性、多方位的,溫室環(huán)境測(cè)試與自動(dòng)控制技術(shù)將朝多因素、多樣化方向發(fā)展。溫室環(huán)境測(cè)控技術(shù)的發(fā)展趨勢(shì)隨著傳感技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)控制技術(shù)的不斷發(fā)展,溫室計(jì)算機(jī)的應(yīng)用將由簡(jiǎn)單的以數(shù)據(jù)采集處理和監(jiān)測(cè),逐步轉(zhuǎn)向以知識(shí)處理和應(yīng)用為主。因此除了不斷完善硬件控制設(shè)備外,主要是軟件系統(tǒng)的研制開(kāi)發(fā)將不斷深入完善,其中主要以專(zhuān)家系統(tǒng)為代表的智能管理系統(tǒng)已取得
13、了不少研究成果。近幾年來(lái)神經(jīng)網(wǎng)絡(luò)、遺傳算法、模糊推理等人工智能技術(shù)在設(shè)施農(nóng)業(yè)中得到了不同程度的應(yīng)用。溫室生產(chǎn)系統(tǒng)由作物、各種農(nóng)業(yè)機(jī)械設(shè)備、環(huán)境控制設(shè)備及生產(chǎn)管理者等組成了一個(gè)十分復(fù)雜的非線(xiàn)性系統(tǒng)。因此企業(yè)研究其輸入與輸出的定量關(guān)系是十分困難的。神經(jīng)網(wǎng)絡(luò)采用黑箱方法能把復(fù)雜的系統(tǒng)通過(guò)有限的參數(shù)進(jìn)行表達(dá)。但神經(jīng)網(wǎng)絡(luò)方法也存在著明顯的缺陷,即需要大量的歷史資料,否則在進(jìn)行外推和演繹時(shí)可靠性明顯降低。網(wǎng)絡(luò)通訊技術(shù)是上世紀(jì) 90 年代最具活力、發(fā)展速度最快的高科技領(lǐng)域。通過(guò)網(wǎng)絡(luò)隨意獲取世界范圍內(nèi)的有用信息,指導(dǎo)自己的生產(chǎn),甚至可以通過(guò)在線(xiàn)服務(wù)系統(tǒng)進(jìn)行咨詢(xún),是未來(lái)農(nóng)業(yè)的發(fā)展趨勢(shì)所在。2 系統(tǒng)分析與方案確定
14、2.1 系統(tǒng)分析本系統(tǒng)需要對(duì)系統(tǒng)應(yīng)用環(huán)境的多個(gè)點(diǎn)的溫度進(jìn)行實(shí)時(shí)巡回檢測(cè),同時(shí)能夠根據(jù)主控機(jī)的指令對(duì)指定點(diǎn)溫度進(jìn)行采集,測(cè)量結(jié)果不僅能在本地顯示,而且可以利用單片機(jī)串行口,將采集的數(shù)據(jù)傳送到計(jì)算機(jī),進(jìn)行進(jìn)一步的存檔、處理。主控機(jī)負(fù)責(zé)控制指令的發(fā)送,控制各個(gè)從機(jī)進(jìn)行溫度采集,收集測(cè)量數(shù)據(jù),并對(duì)測(cè)量結(jié)果進(jìn)行整理、顯示和存儲(chǔ)。根據(jù)系統(tǒng)的需要,本設(shè)計(jì)需要完成溫度采集模塊、通信模塊、顯示模塊的硬件選型、電路設(shè)計(jì)與程序編寫(xiě)。2.2 傳感器選型前應(yīng)用多點(diǎn)溫度檢測(cè)系統(tǒng)大多采用由模擬溫度傳感器、多路模擬開(kāi)關(guān)、a/d轉(zhuǎn)換器及單片機(jī)等組成的傳輸系統(tǒng)。傳統(tǒng)的溫度檢測(cè)裝置抗干擾能力較差,多采用單片的溫度傳感器,例如lm3
15、5 、ad590 ,這些芯片不僅體積大,而且輸出的信號(hào)都是模擬信號(hào),必須要經(jīng)過(guò)a/ d 轉(zhuǎn)換,而且沒(méi)有數(shù)字通信和網(wǎng)絡(luò)功能,同時(shí),模擬信號(hào)的遠(yuǎn)距離測(cè)量易遭受引線(xiàn)誤差的影響,且外部附加電路較多,硬件結(jié)構(gòu)復(fù)雜,增加了成本,在這樣的情況下,溫度傳感器選用1-wire總線(xiàn)數(shù)字式溫度傳感器ds18b20,測(cè)量溫度范圍為-55125。在-1085范圍內(nèi),測(cè)量精度為±0.5,分辨率為程控可調(diào)的 0.50.0625,其與傳統(tǒng)溫敏模擬傳感器相比,由于采取高集成度設(shè)計(jì)和數(shù)字化處理,在可靠性、抗干擾能力以及器件微小化方面都有明顯的優(yōu)點(diǎn),其功能能夠滿(mǎn)足該溫度檢測(cè)系統(tǒng)需要。2.3 ds18b20ds18b20是
16、美國(guó)dallas半導(dǎo)體公司生產(chǎn)的1-wire總線(xiàn)數(shù)字式溫度傳感器,體積小、經(jīng)濟(jì)實(shí)用、方便靈活的優(yōu)點(diǎn),在現(xiàn)代溫度采集系統(tǒng)中廣泛應(yīng)用開(kāi)來(lái)。其封裝如圖2-1。 圖2-1 ds18b20封裝圖2.3.1 ds18b20結(jié)構(gòu)ds18b20的結(jié)構(gòu)框圖如圖2-2,有4個(gè)主要組成部分:1) 64位光刻rom數(shù)據(jù)存儲(chǔ)器;2) 溫度傳感器;3) 非易失性電可擦寫(xiě)溫度報(bào)警觸發(fā)器th和tl;4) 非易失性電可擦寫(xiě)設(shè)置寄存器; 圖2-2 ds18b20結(jié)構(gòu)框圖每片ds18b20含有一個(gè)唯一的64位rom編碼。前8位是產(chǎn)品系列編碼,接著的48位是產(chǎn)品序列號(hào),最后8位是循環(huán)冗余(crc)校驗(yàn)碼。所以多片ds18b20能夠連
17、在同一條數(shù)據(jù)線(xiàn)上而不會(huì)造成混亂。這為溫度的多點(diǎn)測(cè)量帶來(lái)了極大的方便。溫度傳感器的轉(zhuǎn)換結(jié)果以16位二進(jìn)制補(bǔ)碼的形式存放在便箋式存儲(chǔ)器中,如果測(cè)量的溫度值高于溫度報(bào)警觸發(fā)器th或低于tl中的值,則ds18b20內(nèi)部的報(bào)警標(biāo)志位就被置位,表示溫度測(cè)量值超出范圍。ds18b20的溫度轉(zhuǎn)換位數(shù)可以選擇912位,分別對(duì)應(yīng)的測(cè)溫分辨率為0.5,0.25,0.125,0.0625。不過(guò)溫度轉(zhuǎn)換位數(shù)越大,轉(zhuǎn)換時(shí)間也越長(zhǎng)。12位精度的最大轉(zhuǎn)換時(shí)間為750ms。溫度轉(zhuǎn)換位數(shù)的改變是通過(guò)改變?cè)O(shè)置寄存器的值來(lái)實(shí)現(xiàn)的。溫度報(bào)警觸發(fā)器和設(shè)置寄存器都由非易失性電可擦寫(xiě)存儲(chǔ)器(eeprom)組成,設(shè)置值可以通過(guò)相應(yīng)命令寫(xiě)入,一
18、旦寫(xiě)入后不會(huì)因?yàn)榈綦姸鴣G失。crc 發(fā)生器ds1820中有8位crc存儲(chǔ)在64位rom的最高有效字節(jié)中??偩€(xiàn)控制器可以用64位rom中的前56位計(jì)算出一個(gè)crc值,再用這個(gè)和存儲(chǔ)在ds18b20中值進(jìn)行比較,以確定rom數(shù)據(jù)是否被總線(xiàn)控制器接收無(wú)誤。crc碼圖如2-3。圖2-3 單線(xiàn)crc碼圖crc計(jì)算公式如2-1: crc= (2-1)ds18b20同樣用上面的公式產(chǎn)生一個(gè)8位crc值,把這個(gè)值提供給總線(xiàn)控制器用來(lái)校驗(yàn)傳輸?shù)臄?shù)據(jù)。在任何使用 crc 進(jìn)行數(shù)據(jù)傳輸校驗(yàn)的情況下,總線(xiàn)控制器必須用上面的公式計(jì)算出一個(gè)crc值,和存儲(chǔ)在ds18b20的64位rom中的值或ds18b20內(nèi)部計(jì)算出的8
19、位crc值(當(dāng)讀暫存器時(shí),做為第9個(gè)字節(jié)讀出來(lái))進(jìn)行比較。crc值的比較以及是否進(jìn)行下一步操作完全由總線(xiàn)控制器決定。當(dāng)在ds18b20中存儲(chǔ)的或由其計(jì)算的crc值和總線(xiàn)控制器計(jì)算的值不相符時(shí),ds18b20 內(nèi)部并沒(méi)有一個(gè)能阻止命令序列進(jìn)行的電路。單線(xiàn)crc可以用一個(gè)由移位寄存器和xor門(mén)構(gòu)成的多項(xiàng)式發(fā)生器來(lái)產(chǎn)生。2.3.2 單總線(xiàn)近年來(lái),美國(guó)的dallas半導(dǎo)體公司推出了一項(xiàng)特有的單總線(xiàn)(1-wire bus)技術(shù)。該技術(shù)與上述總線(xiàn)不同,它采用單根信號(hào)線(xiàn),既可傳輸時(shí)鐘,又能傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單總線(xiàn)技術(shù)具有線(xiàn)路簡(jiǎn)單,硬件開(kāi)銷(xiāo)少,成本低廉,便于總線(xiàn)擴(kuò)展和維護(hù)等優(yōu)點(diǎn)。它只定義
20、了一根信號(hào)線(xiàn),總線(xiàn)上的每個(gè)器件都能夠在合適的時(shí)間驅(qū)動(dòng)它,相當(dāng)于把單片機(jī)的地址線(xiàn)、數(shù)據(jù)線(xiàn)、控制線(xiàn)合為一根信號(hào)線(xiàn)對(duì)外進(jìn)行數(shù)據(jù)交換。為了區(qū)分這些芯片,廠(chǎng)家在生產(chǎn)每個(gè)芯片時(shí),都編制了惟一的序列號(hào),通過(guò)尋址就能把芯片識(shí)別出來(lái)。這樣做能使這些器件掛在一根信號(hào)線(xiàn)上進(jìn)行串行分時(shí)數(shù)據(jù)交換,大大簡(jiǎn)化了硬件電路。設(shè)備主機(jī)或從機(jī)通過(guò)一個(gè)漏極開(kāi)路或三態(tài)端口連至該數(shù)據(jù)線(xiàn),以允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)能夠釋放總線(xiàn),而讓其它設(shè)備使用總線(xiàn)。主機(jī)和從機(jī)之間的通信可通過(guò)3個(gè)步驟完成,分別為初始化1-wire器件、識(shí)別1-wire器件和交換數(shù)據(jù)。由于它們是主從結(jié)構(gòu),只有主機(jī)呼叫從機(jī)時(shí),從機(jī)才能應(yīng)答,因此主機(jī)訪(fǎng)問(wèn)1-wire器件都必須嚴(yán)格
21、遵循單總線(xiàn)命令序列,即初始化、rom、命令功能命令。如果出現(xiàn)序列混亂,1-wire器件將不響應(yīng)主機(jī)搜索服命令,報(bào)警搜索命令除外。所有的單總線(xiàn)器件都要遵循嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。單總線(xiàn)系統(tǒng)中配置的各種器件由美國(guó)dallas半導(dǎo)體公司提供的專(zhuān)用芯片來(lái)實(shí)現(xiàn)。這些芯片采用cmos技術(shù),耗電量都很小,從單總線(xiàn)上“偷”一點(diǎn)電(空閑時(shí)幾w,工作時(shí)幾mw)存在芯片內(nèi)電容中就可以正常工作了,故一般不用另附電源。單總線(xiàn)上通常處于高電位(5v左右),每個(gè)器件都能在需要時(shí)驅(qū)動(dòng)它。因此,掛在總線(xiàn)上的每個(gè)器件必須是漏極開(kāi)路或者是三態(tài)輸出,這樣,不工作時(shí)不會(huì)給總線(xiàn)增加功耗。單總線(xiàn)技術(shù)作用距離在單片機(jī)直接驅(qū)動(dòng)下可
22、達(dá)200m,經(jīng)擴(kuò)展可達(dá)1000m,允許掛上百個(gè)器件,能滿(mǎn)足一般測(cè)控系統(tǒng)的要求。單總線(xiàn)的數(shù)據(jù)傳輸有兩種模式,通常以的13.6kb/s的速率通信,超速可達(dá)142kb/s。因此只能用于速度不高的場(chǎng)合。單總線(xiàn)技術(shù)比傳統(tǒng)的方案具有較高的性能價(jià)格比,具有以下特點(diǎn):1) 適用于低速測(cè)控場(chǎng)合,測(cè)控對(duì)象越多越顯出其優(yōu)越性。2) 性?xún)r(jià)比高,硬件施工、維修方便,抗干擾性能好。3) 具有校驗(yàn)功能,可靠性高。4) 軟件設(shè)計(jì)規(guī)范,系統(tǒng)簡(jiǎn)明直觀(guān),易于掌握。2.3.3 ds18b20供電方式ds18b20有兩種供電工作方式,一種是寄生電源工作方式,另一種是外接電源工作方式。第一種方法,如圖2.2.4當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝到 e
23、2存儲(chǔ)器操作時(shí),給 i/o 線(xiàn)提供一個(gè)強(qiáng)上拉。用 mosfet 把 i/o 線(xiàn)直接拉到電源上就可以實(shí)現(xiàn),在發(fā)出任何涉及拷貝到 e2存儲(chǔ)器或啟動(dòng)溫度轉(zhuǎn)換的協(xié)議之后,必須在最多 10s 之內(nèi)把 i/o 線(xiàn)轉(zhuǎn)換到強(qiáng)上拉,使用寄生電源方式時(shí),vdd 引腳必須接地。第二種給 ds1820 供電的方法是從 vdd 引腳接入一個(gè)外部電源。這樣做的好處是 i/o 線(xiàn)上不需要加強(qiáng)上拉,而且總線(xiàn)控制器不用在溫度轉(zhuǎn)換期間總保持高電平。這樣在轉(zhuǎn)換期間可以允許在單線(xiàn)總線(xiàn)上進(jìn)行其他數(shù)據(jù)往來(lái)。另外,在單線(xiàn)總線(xiàn)上可以?huà)烊我舛嗥?ds18b20,而且如果它們都使用外部電源的話(huà),就可以先發(fā)一個(gè) skip rom 命令,再接一個(gè)
24、convert t 命令,讓它們同時(shí)進(jìn)行溫度轉(zhuǎn)換。注意當(dāng)加上外部電源時(shí),gnd 引腳不能懸空。(a)寄生工作方式( b)外接電源工作方式圖2-4 ds18b20供電方式另外,溫度高于 100時(shí),不推薦使用寄生電源,因?yàn)?ds18b20 在這種溫度下表現(xiàn)出的漏電流比較大,通訊可能無(wú)法進(jìn)行。在類(lèi)似這種溫度的情況下,強(qiáng)烈推薦使用 ds18b20 的 vdd 引腳。對(duì)于總線(xiàn)控制器不知道總線(xiàn)上的 ds18b20 是用寄生電源還是用外部電源的情況,ds18b20 預(yù)備了一種信號(hào)指示電源的使用意圖。總線(xiàn)控制器發(fā)出一個(gè) skip rom 協(xié)議,然后發(fā)出讀電源命令,這條命令發(fā)出后,控制器發(fā)出讀時(shí)間隙,如果是寄生
25、電源,ds18b20 在單線(xiàn)總線(xiàn)上發(fā)回“0”,如果是從 vdd 供電,則發(fā)回“1”,這樣總線(xiàn)控制器就能夠決定總線(xiàn)上是否有 ds1820 需要強(qiáng)上拉。如果控制器接收到一個(gè)“0”,它就知道必須在溫度轉(zhuǎn)換期間給 i/o 線(xiàn)提供強(qiáng)上拉。2.3.4 ds18b20寄存器 ds18b20的內(nèi)部存儲(chǔ)器結(jié)構(gòu)如圖2-5所示。圖2-5 ds18b20內(nèi)部存儲(chǔ)器結(jié)構(gòu)它包括一個(gè)暫存ram和一個(gè)非易失性電可擦除eeram。其中暫存存儲(chǔ)器作用是在單線(xiàn)通信時(shí)確保數(shù)據(jù)的完整性,它包括8個(gè)字節(jié),頭兩個(gè)字節(jié)表示測(cè)得的溫度讀數(shù),數(shù)據(jù)格式如下:msb (單位:攝氏度) lsbssssss=1時(shí)表示溫度為負(fù),s=0時(shí)表示溫度為正,其余
26、低位以二進(jìn)制補(bǔ)碼形式表示,最低位為1時(shí)表示0.0625。溫度/數(shù)字對(duì)應(yīng)關(guān)系如表所示。ds18b20內(nèi)部暫存存儲(chǔ)器的第5個(gè)字節(jié)是結(jié)構(gòu)寄存器,它主要用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。字節(jié)結(jié)構(gòu)如下:tmr1r011111 msb lsb典型對(duì)應(yīng)的溫度值如表2-1表2-1典型溫度/數(shù)據(jù)其中tm為測(cè)試模式位。當(dāng)時(shí)tm=1,寄存器處于測(cè)試模式;當(dāng)時(shí)tm=0,寄存器處于工作模式。r1和r0的設(shè)置組合與溫度分辨率有關(guān),分辨率如表2-2:表2-2 ds18b20溫度轉(zhuǎn)換時(shí)間表r1r0分辨率最大溫度轉(zhuǎn)換時(shí)間00993.75ms0110187.5ms1011375ms1112750ms2.3.5 ds18b20測(cè)溫原
27、理ds18b20的溫度傳感器是通過(guò)溫度對(duì)振蕩器的頻率影響來(lái)測(cè)量溫度,如圖2-6所示。ds18b20內(nèi)部有兩個(gè)不同溫度系數(shù)的振蕩器。低溫度系數(shù)振蕩器輸出的時(shí)鐘脈沖信號(hào)在高溫度系數(shù)振蕩器產(chǎn)生的門(mén)周期內(nèi)進(jìn)計(jì)數(shù)。計(jì)數(shù)初值被預(yù)置在-55相對(duì)的一個(gè)基數(shù)值,如果計(jì)數(shù)器在高溫度系數(shù)振蕩器輸出的門(mén)周期結(jié)束前計(jì)數(shù)到0,表示測(cè)量的溫度值高于-55,被預(yù)置在-55的溫度寄存器的值就增加l°,然后重復(fù)這個(gè)過(guò)程,直到高溫度系數(shù)振蕩器的門(mén)周期結(jié)束為止,這時(shí)溫度寄存器中的值就是被測(cè)的溫度值,這個(gè)值以16位二進(jìn)制補(bǔ)碼的形式存放在便箋式存儲(chǔ)器中。溫度值由主機(jī)通過(guò)發(fā)讀存儲(chǔ)器命令讀出,經(jīng)過(guò)取補(bǔ)和十進(jìn)制轉(zhuǎn)換,得到實(shí)測(cè)的溫度值
28、。斜率累加器是用于補(bǔ)償和修正溫度振蕩器的非線(xiàn)性。 圖2-6 ds148b20測(cè)溫原理圖2.3.6 ds18b20時(shí)序及存儲(chǔ)器命令ds18b20要求有嚴(yán)格的協(xié)議來(lái)確保數(shù)據(jù)傳輸?shù)耐暾?。協(xié)議由幾種單線(xiàn)上信號(hào)類(lèi)型組成:復(fù)位脈沖、存在脈沖、寫(xiě)0、寫(xiě)1、讀0、讀1。所有這些信號(hào),除了存在脈沖之外,均由單片機(jī)產(chǎn)生。ds18b20時(shí)序圖如圖2-7所示。(1) 初始化時(shí)序開(kāi)始與 ds18b20 進(jìn)行任何通信之前,需進(jìn)行初始化。首先,單片機(jī)發(fā)送(tx)一個(gè)復(fù)位脈沖(最短為480s 的低電平信號(hào))。接著單片機(jī)便釋放此線(xiàn)并進(jìn)入接收方式(rx), 單線(xiàn)經(jīng)過(guò)上拉電阻被拉至高電平狀態(tài)。在檢測(cè)到dq引腳上的上升沿之后,ds
29、18b20等待 1560s 并且接著發(fā)送存在脈沖(60240s 的低電平信號(hào))以表示ds18b20的存在。(2) 讀/寫(xiě)時(shí)間段通過(guò)使用時(shí)間段來(lái)讀出和寫(xiě)入ds18b20的數(shù)據(jù),時(shí)間段用于處理數(shù)據(jù)位和指定進(jìn)行何種操作的命令字。1、寫(xiě)時(shí)間段(write time slots)當(dāng)單片機(jī)把單線(xiàn)從高邏輯電平拉至低邏輯電平時(shí),產(chǎn)生寫(xiě)時(shí)間段。有兩種類(lèi)型的寫(xiě)時(shí)間段:寫(xiě)1時(shí)間段和寫(xiě)0時(shí)間段。所有時(shí)間段必須最短持續(xù)60s,在各寫(xiě)周期之間必須有最短為1s的恢復(fù)時(shí)間。在單線(xiàn)由高電平變?yōu)榈碗娖街?,ds18b20在15s至60s的窗口之間對(duì)單線(xiàn)采樣。如果單線(xiàn)為高電平,寫(xiě)1就發(fā)生。如果單線(xiàn)為低電平,便發(fā)生寫(xiě)0。對(duì)于單片機(jī)產(chǎn)
30、生寫(xiě)1時(shí)間段的情況,單線(xiàn)必須先被拉至邏輯低電平,然后就被釋放,使單線(xiàn)在寫(xiě)時(shí)間段開(kāi)始之后的15s之內(nèi)拉至高電平。對(duì)于主機(jī)產(chǎn)生寫(xiě)0時(shí)間段的情況,單線(xiàn)必須被拉至邏輯低電平且至少保持低電平60s。2、讀時(shí)間段(read time slots)當(dāng)從ds18b20讀數(shù)據(jù)時(shí),單片機(jī)產(chǎn)生讀時(shí)間段。當(dāng)單片機(jī)把單線(xiàn)從邏輯高電平拉至低電平時(shí),產(chǎn)生讀時(shí)間段。單線(xiàn)必須保持在低邏輯電平至少1s;來(lái)自ds18b20 的輸出數(shù)據(jù)在讀時(shí)間段下降沿之后15s內(nèi)有效。因此,為了讀出從讀時(shí)間段開(kāi)始算起15s時(shí)的狀態(tài),單片機(jī)必須停止把單線(xiàn)驅(qū)動(dòng)至低電平,如圖3-3所示。在讀時(shí)間段結(jié)束時(shí),單線(xiàn)經(jīng)過(guò)外部的上拉電阻拉回至高電平。所有讀時(shí)間段的
31、最短持續(xù)期限為60s,各個(gè)讀時(shí)間段之間必須有最短為1s的恢復(fù)時(shí)間。 圖2-7 ds18b20時(shí)序圖對(duì) ds18b20 的操作以 rom命令和存儲(chǔ)器命令形式出現(xiàn)。1)rom 命令代碼及其含義read rom命令代碼33h:如果只有一片ds18b20,可用此命令讀出其序列號(hào),若在線(xiàn)ds18b20多于一個(gè),將發(fā)生沖突。match rom命令代碼55h:多個(gè)ds18b20在線(xiàn)時(shí),可用此命令匹配一個(gè)給定序列號(hào)的ds18b20,此后的命令就針對(duì)該 ds18b20。skip rom命令代碼cch:此命令執(zhí)行后的存儲(chǔ)器操作將針對(duì)在線(xiàn)的所有ds18b20。search rdh 命令代碼f0h:用以讀出在線(xiàn)的ds
32、18b20的序列號(hào)。2)存儲(chǔ)器操作命令代碼及其含義write scratchpad命令代碼4eh:寫(xiě)兩個(gè)字節(jié)的數(shù)據(jù)到溫度寄存器。read scratchpad 命令代碼beh:讀取溫度寄存器的溫度值。copy scratchpad 命令代碼48h:將溫度寄存器的數(shù)值拷貝到eeram 中,保證溫度值不丟失。convert 命令代碼44h:?jiǎn)?dòng)在線(xiàn) ds12b80 做溫度 a/d 轉(zhuǎn)換。對(duì)ds18b20的設(shè)計(jì),需要注意以下問(wèn)題:1) 較小的硬件開(kāi)銷(xiāo)需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于ds18b20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì) ds18b20 進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格的保證讀寫(xiě)時(shí)序,否則將無(wú)
33、法讀取測(cè)溫結(jié)果。2) 在ds18b20的有關(guān)資料中均未提及單總線(xiàn)上所掛ds18b20 數(shù)量問(wèn)題,容易使人誤認(rèn)為可以?huà)烊我舛鄠€(gè) ds18b20,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線(xiàn)上所掛ds18b20超過(guò)10 個(gè)時(shí),就需要解決微處理器的總線(xiàn)驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。3) 連接ds18b20的總線(xiàn)電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過(guò)50m 時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線(xiàn)電纜改為雙絞線(xiàn)帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線(xiàn)帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線(xiàn)分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻摹R虼耍?/p>
34、在用ds18b20進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線(xiàn)分布電容和阻抗匹配問(wèn)題。4) 在ds18b20測(cè)溫程序設(shè)計(jì)中,向ds18b20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待ds18b20的返回信號(hào),一旦某個(gè)ds18b20接觸不好或斷線(xiàn),當(dāng)程序讀該 ds18b20 時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行ds18b20硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。2.4單片機(jī)選型隨著科學(xué)技術(shù)的發(fā)展,單片機(jī)因具有集成度高、體積小、速度快、價(jià)格低等特點(diǎn)而在許多領(lǐng)域如過(guò)程控制、數(shù)據(jù)采集、機(jī)電一體化、智能化儀表、家用電器以及網(wǎng)絡(luò)技術(shù)等方面得到廣泛應(yīng)用,從而使這些領(lǐng)域的技術(shù)水平、自動(dòng)化程度大大提高。正因?yàn)槿绱?/p>
35、,國(guó)內(nèi)外多家電子生產(chǎn)廠(chǎng)商把目光投向了單片機(jī)的生產(chǎn)當(dāng)中,其中最為著名的當(dāng)數(shù)intel公司生產(chǎn)的mcs-51系列單片機(jī)。單片機(jī)型號(hào)的選擇是根據(jù)控制系統(tǒng)的目標(biāo)、功能、可靠性、性?xún)r(jià)比、精度和速度等來(lái)決定的。根據(jù)上述及本課題的實(shí)際情況,單片機(jī)型號(hào)的選擇主要從以下兩點(diǎn)考慮:一是要有較強(qiáng)的抗干擾能力。由于大棚工作環(huán)境比較惡劣,以及實(shí)際的運(yùn)行工況比較復(fù)雜,這些都對(duì)單片機(jī)的干擾較大,所以應(yīng)采用抗干擾性能較好的單片機(jī)機(jī)型;二是要有較高的性?xún)r(jià)比,大棚環(huán)境是一個(gè)時(shí)滯性較大的系統(tǒng),對(duì)控制時(shí)間精度要求不需要很高,所以單片機(jī)不需采用高速的輸出、輸入口,51系列單片機(jī)在時(shí)間精度方面可以滿(mǎn)足要求。為了使用方便,系統(tǒng)要求可以進(jìn)行
36、在線(xiàn)改寫(xiě),要求片內(nèi)具有可擦除程序存儲(chǔ)器,另外為了以后系統(tǒng)升級(jí)的需要,在設(shè)計(jì)中采用52系列單片機(jī)。本設(shè)計(jì)選用at89s52作為主控機(jī)。2.4.1 單片機(jī)at89s52at89s52是atmel公司生產(chǎn)的低功耗、高性能的采用cmos工藝的8位單片機(jī)。其與工業(yè)標(biāo)準(zhǔn)型80c51單片機(jī)的指令系統(tǒng)和引腳完全兼容。其封裝如圖2-8。圖2-8 at89s52封裝圖at89s52具有以下標(biāo)準(zhǔn)功能:8kb的可在線(xiàn)編程的flash存儲(chǔ)器,片內(nèi)程序存儲(chǔ)器為8kb,256字節(jié)ram,32 位i/o 口線(xiàn),具有3個(gè)可編程定時(shí)器,2個(gè)數(shù)據(jù)指針,8個(gè)中斷源的中斷系統(tǒng),1個(gè)看門(mén)狗定時(shí)器,全雙工串行口,2種低功耗節(jié)電運(yùn)行方式。其
37、功能能夠滿(mǎn)足該溫度檢測(cè)系統(tǒng)需要。2.4.2看門(mén)狗定時(shí)器(wdt)由于是和mcs-51系列相兼容,其各部分功能不作贅述,只介紹一下看門(mén)狗定時(shí)器。wdt是一種需要軟件控制的復(fù)位方式。wdt由13位計(jì)數(shù)器和特殊功能寄存器中的看門(mén)狗定時(shí)器復(fù)位存儲(chǔ)器(wdtrst)構(gòu)成。wdt在默認(rèn)情況下無(wú)法工作;為了激活wdt,必須往wdtrst寄存器(地址:0a6h)中依次寫(xiě)入01eh 和0e1h。當(dāng)wdt激活后,晶振工作,wdt在每個(gè)機(jī)器周期都會(huì)增加。wdt計(jì)時(shí)周期依賴(lài)于外部時(shí)鐘頻率。除了復(fù)位(硬件復(fù)位或wdt溢出復(fù)位),沒(méi)有辦法停止wdt工作。當(dāng)wdt溢出,它將驅(qū)動(dòng)rsr引腳一個(gè)高個(gè)電平輸出。為了激活wdt,用
38、戶(hù)必須向wdtrst寄存器(地址為0a6h的sfr)依次寫(xiě)入0e1h和0e1h。當(dāng)wdt激活后,用戶(hù)必須向wdtrst寫(xiě)入01eh和0e1h喂狗來(lái)避免wdt溢出。當(dāng)計(jì)數(shù)達(dá)到8191(1fffh)時(shí),13 位計(jì)數(shù)器將會(huì)溢出,這將會(huì)復(fù)位器件。晶振正常工作、wdt激活后,每一個(gè)機(jī)器周期wdt 都會(huì)增加。為了復(fù)位wdt,用戶(hù)必須向wdtrst 寫(xiě)入01eh 和0e1h(wdtrst 是只讀寄存器)。wdt 計(jì)數(shù)器不能讀或?qū)?。?dāng)wdt 計(jì)數(shù)器溢出時(shí),將給rst 引腳產(chǎn)生一個(gè)復(fù)位脈沖輸出,這個(gè)復(fù)位脈沖持續(xù)96個(gè)晶振周期(tosc),其中tosc=1/fosc。為了很好地使用wdt,應(yīng)該在一定時(shí)間內(nèi)周期性寫(xiě)
39、入那部分代碼,以避免wdt復(fù)位。在掉電模式下,晶振停止工作,這意味這wdt也停止了工作。在這種方式下,用戶(hù)不必喂狗。有兩種方式可以離開(kāi)掉電模式:硬件復(fù)位或通過(guò)一個(gè)激活的外部中斷。通過(guò)硬件復(fù)位退出掉電模式后,用戶(hù)就應(yīng)該給wdt 喂狗,就如同通常at89s52 復(fù)位一樣。通過(guò)中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長(zhǎng)一段時(shí)間,使得晶振穩(wěn)定。當(dāng)中斷拉高后,執(zhí)行中斷服務(wù)程序。為了防止wdt在中斷保持低電平的時(shí)候復(fù)位器件,wdt 直到中斷拉低后才開(kāi)始工作。這就意味著wdt 應(yīng)該在中斷服務(wù)程序中復(fù)位。為了確保在離開(kāi)掉電模式最初的幾個(gè)狀態(tài)wdt不被溢出,最好在進(jìn)入掉電模式前就復(fù)位wdt。在進(jìn)入待
40、機(jī)模式前,特殊寄存器auxr的wdidle位用來(lái)決定wdt是否繼續(xù)計(jì)數(shù)。默認(rèn)狀態(tài)下,在待機(jī)模式下,wdidle0,wdt繼續(xù)計(jì)數(shù)。為了防止wdt在待機(jī)模式下復(fù)位at89s52,用戶(hù)應(yīng)該建立一個(gè)定時(shí)器,定時(shí)離開(kāi)待機(jī)模式,喂狗,再重新進(jìn)入待機(jī)模式。2.5 通訊模塊2.5.1通信概述數(shù)據(jù)通信的基本方式可分為并行通信和串行通信兩種。并行通信是指數(shù)據(jù)的各位同時(shí)進(jìn)行傳送的通信方式。其優(yōu)點(diǎn)是傳送速度快,缺點(diǎn)是傳輸線(xiàn)多,不宜實(shí)現(xiàn)遠(yuǎn)程通信。串行通信是指數(shù)據(jù)是一位一位地按順序傳送的通信方式。所以它所需的傳輸線(xiàn)條數(shù)很少,特別適用于分級(jí)、分層和分布式控制系統(tǒng)及遠(yuǎn)程通信。串行通信按照串行數(shù)據(jù)的同步方式又可以分為同步通信
41、和異步通信兩類(lèi)。同步通信是按照軟件識(shí)別同步字符來(lái)實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收的,異步通信是利用字符的再同步技術(shù)的通信方式。系統(tǒng)采用的就是異步串行通信方式,來(lái)實(shí)現(xiàn)上位機(jī)和單片機(jī)間通訊的。在異步通信中,數(shù)據(jù)通常是以字符(或字節(jié))為單位組成字符幀傳送的。字符幀由發(fā)送端一幀一幀地發(fā)送,通過(guò)傳輸線(xiàn)被接收設(shè)備一幀一幀地接收。發(fā)送端和接收端可以有各自的時(shí)鐘來(lái)控制數(shù)據(jù)的發(fā)送和接收,這兩個(gè)時(shí)鐘源彼此獨(dú)立,互不同步。發(fā)送端何時(shí)開(kāi)始發(fā)送和何時(shí)結(jié)束發(fā)送是由字符幀格式規(guī)定的。平時(shí),發(fā)送線(xiàn)為高電平(邏輯“1”),每當(dāng)接收端檢測(cè)到傳輸線(xiàn)上發(fā)送過(guò)來(lái)的低電平邏輯“0”(字符幀中起始位)時(shí)就知道發(fā)送端己開(kāi)始發(fā)送,每當(dāng)接收端接收到字符幀中
42、停止位時(shí)就知道一幀字符信息已發(fā)送完畢。字符幀也叫數(shù)據(jù)幀,由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位等四部分組成。一部串行通信數(shù)據(jù)格式如圖2-9。圖2-9 異步串行通信數(shù)據(jù)格式各部分結(jié)構(gòu)和功能:(1)起始位:位于字符幀開(kāi)頭,只占一位,始終為邏輯“0”低電平,用于向接收設(shè)備表示發(fā)送端開(kāi)始發(fā)送一幀信息。(2)數(shù)據(jù)位:緊跟起始位之后,用戶(hù)根據(jù)情況可取5位、6位、7位或8位,低位在前高位在后。(3)奇偶校驗(yàn)位:位于數(shù)據(jù)位后,僅占一位,用于表征串行通信中采用奇校驗(yàn)還是偶校驗(yàn),由用戶(hù)根據(jù)需要決定。在測(cè)溫系統(tǒng)中奇偶校驗(yàn)位被用來(lái)作為上位機(jī)和單片機(jī)間的多機(jī)通訊時(shí)的第九位。(4)停眾位:位于字符幀末尾,為邏輯“1”高電平
43、,通??扇?位、1.5位或2位,用于向接收端表示一幀字符信息已發(fā)送完畢,也為發(fā)送下一幀字符做準(zhǔn)備。2.5.2 通信協(xié)議目前rs-232是pc機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。rs-232被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。rs-232采取不平衡傳輸方式,即所謂單端通訊。由于發(fā)送電平與接收電平的差僅為2v至3v左右,所以其共模抑制能力差,再加上雙絞線(xiàn)上的分布電容,其傳送距離最大為約20米,最高速率為20kb/s。rs-232是為點(diǎn)對(duì)點(diǎn)(即只用一對(duì)收、發(fā)設(shè)備)通訊而設(shè)計(jì)的,其驅(qū)動(dòng)器負(fù)載為37k。所以rs-232適合本地設(shè)備之間的通信。1983年在rs-422基礎(chǔ)上制定了rs
44、-485標(biāo)準(zhǔn),增加了多點(diǎn)、雙向通信能力,即允許多個(gè)發(fā)送器連接到同一條總線(xiàn)上,同時(shí)增加了發(fā)送器的驅(qū)動(dòng)能力和沖突保護(hù)特性,擴(kuò)展了總線(xiàn)共模范圍。rs-485與rs-232相比有很多優(yōu)點(diǎn),rs-485是一個(gè)多引出線(xiàn)接口,這個(gè)接口可以有多個(gè)驅(qū)動(dòng)器和接收器,利用高阻抗接收器,一個(gè)rs-485可以最多連接256個(gè)節(jié)點(diǎn)。rs-485的驅(qū)動(dòng)器和接收器價(jià)格便宜,而且只需要一個(gè)單+5v的電源來(lái)產(chǎn)生差動(dòng)輸出的最小1.5v的壓差。rs-485總線(xiàn)采用平衡電路。每個(gè)信號(hào)都有專(zhuān)用的導(dǎo)線(xiàn)對(duì),其中一根導(dǎo)線(xiàn)上的電壓等于另一根導(dǎo)線(xiàn)上的電壓取反,或者取補(bǔ)。接收器對(duì)這些電壓之間的壓差作出反應(yīng)。平衡連線(xiàn)是無(wú)噪聲的,因?yàn)檫@兩根信號(hào)線(xiàn)都傳遞
45、幾乎相同大小的反向電流,大多數(shù)噪聲電壓在這兩根導(dǎo)線(xiàn)上或多或少都同時(shí)出現(xiàn),任何在一個(gè)導(dǎo)線(xiàn)上出現(xiàn)的噪聲電壓或從電纜外部禍合進(jìn)入導(dǎo)線(xiàn)的干擾都被在另一根導(dǎo)線(xiàn)上的噪聲電壓所抵消。一個(gè)平衡接收器只看到傳輸?shù)男盘?hào),噪聲被清除或者極大的消弱。由于rs-485采用差動(dòng)平衡電路,所以通訊距離遠(yuǎn),最長(zhǎng)可以達(dá)到1200米。為了構(gòu)建無(wú)故障的rs-485連接,一般需遵循下面7條準(zhǔn)則:1、對(duì)指定的比特率使用可能的最慢的驅(qū)動(dòng)器。如果連接不需要太快的速度,使用低速的驅(qū)動(dòng)器是改進(jìn)信號(hào)質(zhì)量的一個(gè)簡(jiǎn)單的、低成本的方法,同時(shí)使用低速芯片減弱了發(fā)散的電磁干擾。用導(dǎo)線(xiàn)的特征阻抗終止長(zhǎng)導(dǎo)線(xiàn)。選擇合適匹配的阻抗將會(huì)消弱反射的幅度并且在總體上改
46、進(jìn)信號(hào)的質(zhì)量。3、將這些節(jié)點(diǎn)連接成總線(xiàn)拓?fù)?。其?yōu)點(diǎn)是如果其中的一個(gè)連接出現(xiàn)故障或需要從一個(gè)接點(diǎn)處斷開(kāi)時(shí),其他的接點(diǎn)之間的通訊可以正常地進(jìn)行。4、偏置非活動(dòng)連接。(開(kāi)路和短路的保護(hù))。其特點(diǎn)是在其中的一個(gè)驅(qū)動(dòng)器出現(xiàn)故障時(shí),使整個(gè)通訊還可以正常進(jìn)行。5、使用雙絞線(xiàn)電纜。雙絞線(xiàn)在消除由于磁禍合引起的低頻干擾方面是有效的。在一根雙絞線(xiàn)中,電纜的每一次扭曲都交換導(dǎo)線(xiàn)的物理位置,磁禍合進(jìn)入一根導(dǎo)線(xiàn)的任何干擾都在下一次扭曲中被另一根導(dǎo)線(xiàn)的等量的相反的干擾抵消。雖然不是100%的抵消,但也是被極大地消弱。6、限制公共模式電壓。雖然rs-485是采用差動(dòng)方式,但是為了使rs-485能正常工作,需要限制公共模式電
47、壓,一般每個(gè)接收器的輸入對(duì)地電壓在-7v到+12v之間,以接收器的地線(xiàn)為參考。7、在rs-485規(guī)定中一個(gè)連接可以最多有32個(gè)單位負(fù)載,如果超過(guò)了這個(gè)限制,通常采用轉(zhuǎn)發(fā)器電路,一個(gè)轉(zhuǎn)發(fā)器可以重新生成rs-485并且可以提供額外的32個(gè)接點(diǎn)。2.5.3 通信方式選用由于大棚環(huán)境與上位機(jī)的距離一般都會(huì)大于100米,且通信環(huán)境相當(dāng)復(fù)雜,rs-232通信只適合短程通信,在這種環(huán)境下,rs-485通信比較適合本設(shè)計(jì)的需求。2.5.4 max485接口芯片max485接口芯片是maxim公司的一種rs-485芯片。采用單一電源+5v工作,額定電流為300a,采用半雙工通訊方式。它完成將ttl電平轉(zhuǎn)換為rs
48、-485電平的功能。其引腳結(jié)構(gòu)圖如圖 2-10 所示。圖2-10 max485結(jié)構(gòu)與引腳圖從圖中可以看出,max485芯片的結(jié)構(gòu)和引腳都非常簡(jiǎn)單,內(nèi)部含有一個(gè)驅(qū)動(dòng)器和接收器。ro和di端分別為接收器的輸出和驅(qū)動(dòng)器的輸入端,與單片機(jī)連接時(shí)只需分別與單片機(jī)的rxd和txd相連即可;/re和de 端分別為接收和發(fā)送的使能端,當(dāng)/re 為邏輯0時(shí),器件處于接收狀態(tài);當(dāng)de為邏輯1時(shí),器件處于發(fā)送狀態(tài),因?yàn)閙ax485工作在半雙工狀態(tài),所以只需用單片機(jī)的一個(gè)管腳控制這兩個(gè)引腳即可;a端和b端分別為接收和發(fā)送的差分信號(hào)端,當(dāng)a引腳的電平高于b時(shí),代表發(fā)送的數(shù)據(jù)為1;當(dāng)a的電平低于b端時(shí),代表發(fā)送的數(shù)據(jù)為0
49、。在與單片機(jī)連接時(shí)接線(xiàn)非常簡(jiǎn)單。只需要一個(gè)信號(hào)控制max485的接收和發(fā)送即可。同時(shí)將a和b端之間加匹配電阻,一般可選100的電阻。2.6系統(tǒng)方案的確定在總體設(shè)計(jì)方案中,應(yīng)考慮以下幾點(diǎn):1) 系統(tǒng)能方便、直觀(guān)、有效的監(jiān)控大棚環(huán)境溫度的變化。2) 系統(tǒng)必須能夠?qū)崟r(shí)采集大棚測(cè)控點(diǎn)處的溫度值,并且迅速處理。3) 系統(tǒng)能夠?qū)?shù)據(jù)處理結(jié)果顯示給用戶(hù),還要能夠存儲(chǔ)結(jié)果,以方便以后對(duì)比研究。4) 系統(tǒng)的經(jīng)濟(jì)性、可靠性要求。5) 測(cè)溫點(diǎn)多,要易于擴(kuò)充。6) 操作和維護(hù)方便。綜上所述,本方案中,主控機(jī)采用at89s52,溫度傳感器采用ds18b20,八路ds18b20采集的數(shù)字溫度信號(hào)通過(guò)主控機(jī)at89s52的
50、處理,在lcd顯示出來(lái),并通過(guò)rs485通訊方式與上位機(jī)進(jìn)行通訊,主控機(jī)at89s52通過(guò)可控硅對(duì)溫控電氣設(shè)備進(jìn)行控制。3 硬件設(shè)計(jì)3.1 硬件結(jié)構(gòu)框架根據(jù)本文的測(cè)控系統(tǒng)的要求,需要完成電源、鍵盤(pán)、溫度采集、控制、顯示、通信等幾個(gè)部分的設(shè)計(jì),其系統(tǒng)框圖如圖3-1所示。at89s52lcd顯示ds18b20數(shù)字溫度信號(hào)上位機(jī)rs485通信聲光報(bào)警溫度控制圖3-1 系統(tǒng)結(jié)構(gòu)框圖3.2電源電路根據(jù)系統(tǒng)要求,需要設(shè)計(jì)一5v穩(wěn)壓電源。如圖3-2所示電路為輸出電壓+5v、輸出電流1.5a的穩(wěn)壓電源。它由電源變壓器,橋式整流電路vd1vd4,濾波電容c1、c3,防止自激電容c2、c3和一只固定式三端穩(wěn)壓器(
51、lm7805)極為簡(jiǎn)捷方便地搭成的。220v交流電通過(guò)電源變壓器變換成交流低壓,再經(jīng)過(guò)橋式整流電路d1d4和濾波電容c1的整流和濾波,在固定式三端穩(wěn)壓器lm7805的vin和gnd兩端形成一個(gè)并不十分穩(wěn)定的直流電壓(該電壓常常會(huì)因?yàn)槭须婋妷旱牟▌?dòng)或負(fù)載的變化等原因而發(fā)生變化)。此直流電壓經(jīng)過(guò)lm7805的穩(wěn)壓和c3的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。本穩(wěn)壓電源體積小、成本低、性能好、工作可靠性高、使用簡(jiǎn)捷方便等特點(diǎn),可作為ttl電路或單片機(jī)電路的電源。圖3-2 電源電路3.3鍵盤(pán)電路鍵盤(pán)是單片機(jī)應(yīng)用系統(tǒng)中不可缺少的輸入設(shè)備,是實(shí)現(xiàn)人及對(duì)話(huà)的紐帶,是操作人員控制干預(yù)單
52、片機(jī)應(yīng)用系統(tǒng)的主要手段。通過(guò)鍵盤(pán)可以向單片機(jī)應(yīng)用系統(tǒng)輸入數(shù)據(jù)和控制命令,實(shí)現(xiàn)對(duì)應(yīng)用系統(tǒng)的認(rèn)為控制,提高應(yīng)用系統(tǒng)的靈活性。鍵盤(pán)按結(jié)構(gòu)形式可分為非編碼鍵盤(pán)和編碼鍵盤(pán);按組成形式可分為獨(dú)立式鍵盤(pán)、矩陣式鍵盤(pán)、撥碼式鍵盤(pán);按硬件接口可分為直接i/o端口、鍵盤(pán)接口芯片;按程序?qū)崿F(xiàn)方法可分為中斷方式、程序掃描方式、定時(shí)掃描方式和中斷掃描方式。本系統(tǒng)中,由于只需要3個(gè)按鍵,故只需采用獨(dú)立式鍵盤(pán)方式。獨(dú)立式鍵盤(pán)是指將每個(gè)按鍵按一對(duì)一的方式直接連接到單片機(jī)i/o端口上所構(gòu)成的鍵盤(pán)。根據(jù)軟硬件的不同實(shí)現(xiàn)方法,可分為中斷鍵盤(pán)、程序查詢(xún)鍵盤(pán)、定時(shí)查詢(xún)鍵盤(pán)、中斷查詢(xún)鍵盤(pán)。不管是程序查詢(xún)還是定時(shí)查詢(xún),cpu都要進(jìn)行很多額
53、外的查詢(xún)操作,不利于提高cpu的效率,在一些低功耗應(yīng)用場(chǎng)合,尤其不適合使用。如果采用中斷方式,只有在每次有鍵按下的時(shí)候cpu才會(huì)去相應(yīng)鍵盤(pán),提高了cpu的效率,但卻占用太多的中斷源,所以本設(shè)計(jì)采用中斷查詢(xún)式鍵盤(pán),設(shè)計(jì)電路如圖3-3。 圖3-3 中斷查詢(xún)鍵盤(pán)接口電路3.4 溫度檢測(cè)電路溫度檢測(cè)電路是將ds18b20中采集的數(shù)據(jù)通過(guò)信號(hào)線(xiàn)傳輸?shù)絾纹瑱C(jī)中進(jìn)行處理。由于ds18b20 在溫度較高的情況下表現(xiàn)出的漏電流比較大,通訊可能無(wú)法進(jìn)行,故本設(shè)計(jì)中ds18b20供電方式采用獨(dú)立電源供電。單總線(xiàn)協(xié)議使得ds18b20的采集電路簡(jiǎn)潔了許多,溫度采集電路如圖3-4所示。圖3-4 溫度采集電路3.5 液晶
54、顯示電路顯示器是最常用的輸出設(shè)備,特別是發(fā)光二極管顯示器(led)和液晶顯示器(lcd),由于結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、接口容易,得到廣泛的應(yīng)用,尤其在單片機(jī)系統(tǒng)中大量使用。為了更方便的同時(shí)顯示多路溫度數(shù)據(jù),在本系統(tǒng)中溫度顯示方案采用液晶顯示模塊。它是一種將液晶顯示器件、連接件、集成電路、線(xiàn)路板、背光源、結(jié)構(gòu)件裝配在一起的組件,英文名稱(chēng)叫“l(fā)cd module”,簡(jiǎn)稱(chēng)“l(fā)cm”,中文一般稱(chēng)為“液晶顯示模塊”。它的顯示內(nèi)容極為豐富,可顯示漢字及圖形,是一種高新技術(shù)的基礎(chǔ)元器件,并且接口電路簡(jiǎn)單,顯示更加人性化,應(yīng)用及其廣泛。本系統(tǒng)所用的液晶顯示模塊為smc1602a。smc1602a技術(shù)參數(shù)n 顯示容
55、量:16*2個(gè)字符,每個(gè)字符為5*7點(diǎn)陣n 芯片工作電壓:4.5-5.5vn 工作電流:2ma(5.0v)n 模塊最佳工作電壓:5.0vn 字符尺寸:2.95*4.35(w*h)mmsmc的管腳定義如圖3-5。圖3-5 接口信號(hào)說(shuō)明smc1602a的讀操作時(shí)序圖如圖3-6,寫(xiě)操作時(shí)序圖如圖3-7,時(shí)序參數(shù)如圖3-8。圖3-6 讀操作時(shí)序圖圖3-7 寫(xiě)操作時(shí)序圖圖3-8 時(shí)序參數(shù)at89s52與smc1602的硬件接線(xiàn)如圖3-9。圖3-9 lcd接口電路圖3.6控制電路由于受環(huán)境的影響,大棚內(nèi)的溫度并不是一成不變的,而是隨著各種環(huán)境因素的改變而改變,當(dāng)溫度高于或低于植物生長(zhǎng)的最佳溫度區(qū)域時(shí),就必
56、須通過(guò)有效方式將溫度調(diào)節(jié)到最佳狀態(tài)。一般說(shuō)來(lái),大棚環(huán)境的溫度都會(huì)低于外部環(huán)境,保溫是大棚的一個(gè)重要特點(diǎn),故本課題只作溫度低時(shí)升溫的溫度的設(shè)計(jì),升溫通過(guò)電熱爐的加熱實(shí)現(xiàn)。其控制最終由輸出控制電路來(lái)實(shí)現(xiàn),這部分電路主要是來(lái)控制強(qiáng)電的通斷實(shí)現(xiàn)對(duì)爐溫的控制,控制是通過(guò)可控硅調(diào)功電路實(shí)現(xiàn)的。可控硅調(diào)功電路就是雙向可控硅和加熱絲串接在交流電路回路中。在給定周期t內(nèi),at89s52只要給改變可控硅的通斷時(shí)間便可以改變加熱絲的功率,以達(dá)到調(diào)節(jié)溫度的目的??煽毓柙诮o定周期t的100%時(shí)間內(nèi)接通時(shí)的功率最大。圖3-10給出了可控硅在給定周期t內(nèi)具有不同接通時(shí)間的情況。圖3-10 可控硅調(diào)功器輸出功率與通斷時(shí)間的關(guān)系控制輸出電路如圖3-11。at89s52在p1.3引腳上產(chǎn)生的信號(hào)控制,由圖 3-11所示可知。當(dāng) p1.3 引腳上是低電平信號(hào)時(shí),光電耦合芯片 mo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京鏈家購(gòu)房合同范本
- 產(chǎn)品攝影廣告合同范例
- 劇目買(mǎi)斷合同范本
- 融資收費(fèi)合同范本
- 勞動(dòng)合同范本解除
- 單位車(chē)輛外包服務(wù)合同范本
- 分期出租房合同范本
- 醫(yī)療服務(wù)協(xié)議合同范本
- 單位招聘保安合同范本
- 分項(xiàng)付款合同范本
- PySide學(xué)習(xí)教程
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter1 Introduction
- 人教三年級(jí)數(shù)學(xué)下冊(cè)表格式全冊(cè)
- 事業(yè)單位綜合基礎(chǔ)知識(shí)考試題庫(kù) 綜合基礎(chǔ)知識(shí)考試題庫(kù).doc
- 優(yōu)秀教研組評(píng)比制度及實(shí)施細(xì)則
- 譯林初中英語(yǔ)教材目錄
- 物業(yè)交付后工程維修工作機(jī)制
- 農(nóng)作物病蟲(chóng)害專(zhuān)業(yè)化統(tǒng)防統(tǒng)治管理辦法
- JJF 1752-2019全自動(dòng)封閉型發(fā)光免疫分析儀校準(zhǔn)規(guī)范(高清版)
- GB 1886.300-2018 食品安全國(guó)家標(biāo)準(zhǔn) 食品添加劑 離子交換樹(shù)脂(高清版)
- 食品經(jīng)營(yíng)單位經(jīng)營(yíng)場(chǎng)所和設(shè)備布局、操作流程示意圖模板
評(píng)論
0/150
提交評(píng)論