




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘 要本文結(jié)合實(shí)際使用需求,采用ds18b20數(shù)字溫度傳感器及單片機(jī)設(shè)計(jì)硬件連接電路,并給出了軟件流程圖及程序。系統(tǒng)由多個(gè)外接的溫度傳感器及顯示器、鍵盤電路、電子看門狗電路、報(bào)警電路、單片機(jī)、通信接口及上位機(jī)組成。傳感器將溫度轉(zhuǎn)為電信號(hào)后,經(jīng)過通信接口交微處理器處理,最后將溫度值顯示并存儲(chǔ)起來。通過鍵盤可以控制數(shù)據(jù)的回放,且可以通過接口與上位機(jī)進(jìn)行通信。系統(tǒng)具有超溫報(bào)警功能。由于采用了智能溫度傳感器ds18b20,它的轉(zhuǎn)換速率極快,進(jìn)行讀、寫操作非常簡便。它具有數(shù)字化輸出,可測量遠(yuǎn)距離點(diǎn)溫度。系統(tǒng)具有微型化,微功耗,測量精度高,功能強(qiáng)大等特點(diǎn),同時(shí)可測量多路溫度參數(shù),報(bào)警的溫度值能方便地設(shè)置。
2、由于有先進(jìn)的看門狗電路,加之ds18b20內(nèi)部的差錯(cuò)檢驗(yàn),所以它的抗干擾能力強(qiáng),性能可靠,結(jié)構(gòu)簡單。 系統(tǒng)由上位機(jī)和下位機(jī)兩大部分組成。下位機(jī)實(shí)現(xiàn)溫度的檢測并提供標(biāo)準(zhǔn)的通信接口,上位機(jī)部分使用了通用pc。該系統(tǒng)可應(yīng)用于倉庫測溫、樓宇空調(diào)控制和生產(chǎn)過程監(jiān)控等領(lǐng)域。關(guān)鍵字:溫度測量;傳感器;單片機(jī);集成電路abstractbased on the actual experience and needs ,this thesis mainly designs thehardware connecting circuit by using ds18b20 and mcu. meanwhile ,it
3、shows the flowchart of software systems and procedures.this system consists of several external temperature sensors and displays,keyboard circuit,electronic watchdog circuit,alarm circuit, microprocessor,communications interface and the host computer. the temperature sensor turns temperature into si
4、gnals and then through the disposal of the microprocess or interface, the temperature is showed and storaged finally . the data can be controlled by the keyboard intervals, and can communicate with the host computer through the interface. this system has the over temperature alarm system function. b
5、ecause the ds18b20 intelligent temperature sensor system is used ,it has fast rate of change and it is very convenient to read and write . it has digital output ,and can measure the remote temperature.this system has the chatacteristics of microminiaturization, low power ,and high accuracy. it can m
6、easure the multi-channel temperature parameters at the same time and the alarm temperature can be easily installed. because of the advanced watchdog circuit and the internal error testing of ds18b20 ,its anti-interference capability becomes better ,its function more reliable and its stracture simple
7、r.this system is made up of the upper and lower crew of two main components. the lower component measures the temperature and provides a standard communication interface .parts of the upper components use the general pc .this system can be used for measuring the temperature , controlling and monitor
8、ing the process of the air condition in the buildings.key words:temperature measure; sensor; single-chip microcomputer; integrate circuit目錄第一章 緒論11.1 國內(nèi)外研究現(xiàn)狀11.2 設(shè)計(jì)的目的及意義11.3 主要研究內(nèi)容2第二章 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)與性能指標(biāo)32.1 傳感器的選擇32.1.1 模擬式傳感器32.1.2數(shù)字式傳感器32.1.3 ds18b20的選用42.2 系統(tǒng)性能指標(biāo)要求62.3系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)方案6第三章 硬件電路設(shè)計(jì)83.1高精度穩(wěn)壓電
9、源83.1.1高精度穩(wěn)壓電源的組成83.1.2高精度穩(wěn)壓電源設(shè)計(jì)83.2看門狗電路103.3聲光報(bào)警電路113.4鍵盤電路123.4.1鍵盤電路原理123.4.2 開關(guān)狀態(tài)的可靠輸入123.4.3 對按鍵進(jìn)行編碼123.4.4 選擇鍵盤監(jiān)測方法133.5溫度顯示電路133.6溫度測試電路153.7 串口通訊電路17第四章 軟件設(shè)計(jì)194.1 軟件設(shè)計(jì)概述194.2 主程序方案194.3中斷控制程序設(shè)計(jì)204.4溫度測試子程序設(shè)計(jì)204.5串口通信程序設(shè)計(jì)21第五章 系統(tǒng)調(diào)試245.1硬件調(diào)試245.2軟件調(diào)試245.3系統(tǒng)聯(lián)調(diào)255.4現(xiàn)場調(diào)試25第六章 結(jié)論與展望266.1 結(jié)論266.2展
10、望26參考文獻(xiàn)27附錄1 程序清單28致謝32第一章 緒論1.1 國內(nèi)外研究現(xiàn)狀在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時(shí)無刻不在與溫度打著交道。自18世紀(jì)工業(yè)革命以來,工業(yè)發(fā)展對是否能掌握溫度有著絕對的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。溫度對于工業(yè)如此重要,由此推進(jìn)了溫度傳感器的發(fā)展。傳感器主要大體經(jīng)過了三個(gè)發(fā)展階段:模擬集成溫度傳感器:該傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。此種傳感器具有功能單一(僅測量溫度)、測溫誤差小、價(jià)格低、響應(yīng)速度快、傳輸
11、距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有ad590、ad592、tmp17、lm135等。模擬集成溫度控制器:模擬集成溫度控制器主要包括溫控開關(guān)、可編程溫度控制器,典型產(chǎn)品有l(wèi)m56、ad22105和max6509。增強(qiáng)型集成溫度控制器(例如tc652/653)中還包含了a/d轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它們自成系統(tǒng),工作時(shí)并不受微處理器的控制,這是二者的主要區(qū)別。智能溫度傳感器:智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的。它是微電子技術(shù)、
12、計(jì)算機(jī)技術(shù)和自動(dòng)測試技術(shù)(ate)的結(jié)晶。智能溫度傳感器內(nèi)部都包含溫度傳感器、a/d轉(zhuǎn)換器、信號(hào)處理器、存儲(chǔ)器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(cpu)、隨機(jī)存取存儲(chǔ)器(ram)和只讀存儲(chǔ)器(rom)。智能溫度傳感器的特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(mcu);并且它是在硬件的基礎(chǔ)上通過軟件來實(shí)現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。溫度傳感器的發(fā)展趨勢:進(jìn)入21世紀(jì)后,溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。1.2 設(shè)計(jì)的目的及意義目前市場主要
13、存在單點(diǎn)和多點(diǎn)兩種溫度測量儀表。對于單點(diǎn)溫測儀表,主要采用傳統(tǒng)的模擬集成溫度傳感器,在這些溫度測量系統(tǒng),往往采用模擬技術(shù)進(jìn)行設(shè)計(jì),這樣就不可避免地遇到諸如引線誤差補(bǔ)償、多點(diǎn)測量中的切換誤差和信號(hào)調(diào)理電路的誤差等問題;而其中某一環(huán)節(jié)處理不當(dāng),就可能造成整個(gè)系統(tǒng)性能的下降。隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,特別是大規(guī)模集成電路設(shè)計(jì)技術(shù)的發(fā)展,微型化、集成化、數(shù)字化正成為傳感器發(fā)展的一個(gè)重要方向。美國dallas半導(dǎo)體公司推出的數(shù)字溫度傳感dsl8b20,具有獨(dú)特的單總線接口,僅需要占用一個(gè)通用i/o端口即可完成與微處理器的通信;在50125溫度范圍內(nèi)具有0.0625精度;用戶可編程設(shè)定912位的分辨率。
14、以上特性使得dsl8b20非常適用于構(gòu)建高精度、多點(diǎn)溫度測量系統(tǒng)。多點(diǎn)溫度測量儀表,相對與單點(diǎn)的測量精度有一定的差距,雖然實(shí)現(xiàn)了多路溫度的測控,但價(jià)格昂貴,測量精度不高,系統(tǒng)可擴(kuò)展性能差。針對目前市場的現(xiàn)狀,本設(shè)計(jì)提出了一種可滿足要求、可擴(kuò)展的并且性價(jià)比高的單片機(jī)多路測溫系統(tǒng)。本系統(tǒng)可以應(yīng)用在大型工業(yè)及民用常溫多點(diǎn)監(jiān)測場合。如糧食倉儲(chǔ)系統(tǒng)、樓宇自動(dòng)化系統(tǒng)、溫控制程生產(chǎn)線之溫度影像檢測、醫(yī)療與健診的溫度測試、空調(diào)系統(tǒng)的溫度檢測、石化、機(jī)械等。1.3 主要研究內(nèi)容本設(shè)計(jì)運(yùn)用主從分布式思想,由一臺(tái)上位機(jī)(pc微型計(jì)算機(jī)),下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級分布式多點(diǎn)溫度測量的巡回檢測系統(tǒng)。該
15、系統(tǒng)采用 rs-232串行通訊標(biāo)準(zhǔn),通過上位機(jī)(pc)控制下位機(jī)(單片機(jī))進(jìn)行現(xiàn)場溫度采集。溫度值既可以送回主控pc進(jìn)行數(shù)據(jù)處理,由顯示器顯示。也可以由下位機(jī)單獨(dú)工作,實(shí)時(shí)顯示當(dāng)前各點(diǎn)的溫度值,對各點(diǎn)進(jìn)行控制。基于單片機(jī)采用數(shù)字溫度傳感器ds18b20組成下位機(jī)系統(tǒng)。ds18b20利用單總線的特點(diǎn)可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測量,輕松的組建傳感器網(wǎng)絡(luò),系統(tǒng)的抗干擾性好、設(shè)計(jì)靈活、方便,而且適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場溫度測量。 第二章 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)與性能指標(biāo)溫度檢測系統(tǒng)有著共同的特點(diǎn):測量點(diǎn)多、環(huán)境復(fù)雜、布線分散、現(xiàn)場離監(jiān)控室遠(yuǎn)等。若采用一般溫度傳感器采集溫度信號(hào),則需要設(shè)計(jì)信號(hào)調(diào)理電路、a/
16、d 轉(zhuǎn)換及相應(yīng)的接口電路,才能把傳感器輸出的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送到計(jì)算機(jī)去處理。這樣,就會(huì)造成測量系統(tǒng)較大的偏差;又因?yàn)闄z測環(huán)境復(fù)雜、測量點(diǎn)多、信號(hào)傳輸距離遠(yuǎn)及各種干擾的影響,會(huì)使檢測系統(tǒng)的穩(wěn)定性和可靠性下降 。所以多點(diǎn)溫度檢測系統(tǒng)設(shè)計(jì)的關(guān)鍵在于兩部分:溫度傳感器的選擇和主控單元的設(shè)計(jì)。溫度傳感器應(yīng)用范圍廣泛、使用數(shù)量龐大,也高居各類傳感器之首。本章主要論述了如何將溫度信號(hào)轉(zhuǎn)換為易于測量的電信號(hào)、器件的選擇,以及怎樣實(shí)現(xiàn)多路溫度的測量,即多點(diǎn)分布式測量。2.1 傳感器的選擇2.1.1 模擬式傳感器 溫度檢測的傳統(tǒng)方法是使用諸如熱電偶、熱電阻、半導(dǎo)體pn節(jié)(如ad590)之類的模擬傳感器,經(jīng)
17、信號(hào)取樣電路、放大電路和模數(shù)轉(zhuǎn)換電路處理,獲取表示溫度的數(shù)字信號(hào),再交由微處理器或dsp處理。被測溫度信號(hào)從敏感元件接收的非電模擬量開始,到轉(zhuǎn)換為微處理器可處理的數(shù)字信號(hào)之間,設(shè)計(jì)者需考慮的線路環(huán)節(jié)較多,相應(yīng)測溫裝置中元器件數(shù)量難以下降,隨之影響系統(tǒng)的高可靠性及體積微縮化。而模擬信號(hào)在長距離傳輸過程中,抗電磁干擾是令人傷腦筋的問題。對于多點(diǎn)溫度檢測的場合,各被測點(diǎn)到測試裝置之間的距離往往不同,此外,各敏感元件參數(shù)的不一致性,都將會(huì)導(dǎo)致誤差的產(chǎn)生,并且難以完全清除。在數(shù)字化測量和控制系統(tǒng)中,一個(gè)模擬式傳感器的輸出必須經(jīng)過a/d轉(zhuǎn)換。但模擬式傳感器自身的測量精度和分辨率都受到一定的限制,通常只有1
18、%左右。例如,對于一個(gè)普通的以電壓量輸出的模擬式傳感器,要獲得高精度,不但對傳感器本身的性能有要求,而且對傳感器的基準(zhǔn)電壓有要求。如果為了達(dá)到0.01%的測量精度,基準(zhǔn)電壓的精度要達(dá)到0.001%,這就是說對一個(gè)10v的基準(zhǔn)電壓要求有0.1mv的精度,要經(jīng)濟(jì)的獲得這樣高精度的電壓是很困難的。另一方面,模數(shù)轉(zhuǎn)換系統(tǒng)的精度也不會(huì)很高。2.1.2數(shù)字式傳感器采用直接數(shù)字量輸出的傳感器就能避免上述問題。因此,人們越來越重視數(shù)字式傳感器的發(fā)展。所謂數(shù)字式傳感器,是指能把被測(模擬)量直接轉(zhuǎn)換成數(shù)字量輸出的傳感器。數(shù)字式傳感器有下列特點(diǎn):(1)具有高的測量精度和分辨率,測量范圍大。(2)抗干擾能力強(qiáng),穩(wěn)定
19、性好。(3)信號(hào)易于處理、傳送和自動(dòng)控制。(4)便于動(dòng)態(tài)和多路測量,讀數(shù)直觀。(5)安裝方便,維護(hù)簡單,工作可靠性高。2.1.3 ds18b20的選用在多點(diǎn)測溫系統(tǒng)中,傳統(tǒng)的測溫方法是將模擬信號(hào)遠(yuǎn)距離采樣進(jìn)行a/d轉(zhuǎn)換,而為了獲得較高的測溫精度,就必須采用措施解決由長線傳輸,多點(diǎn)測量切換及放大電路零點(diǎn)漂移等造成的誤差補(bǔ)償問題。采用數(shù)字溫度芯片ds18b20測量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法模擬溫度傳感器與微處理器接口時(shí)需要的a/d轉(zhuǎn)換和較復(fù)雜的的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線性較好。在0100攝氏度時(shí),最大線性偏差小于
20、1攝氏度。ds18b20的最大特點(diǎn)之一是采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)ds1820和微控制器at89c51構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大,且由于at89c51可以帶多個(gè)ds18b20,因此可以非常容易實(shí)現(xiàn)多點(diǎn)測量,輕松的組建傳感器網(wǎng)絡(luò)。采用溫度芯片ds18b20測量溫度,可以體現(xiàn)系統(tǒng)芯片化的趨勢。部分功能電路的集成,使總體電路更簡潔,搭建電路和焊接電路時(shí)更快。而且,集成塊的使用,有效地避免外界的干擾,提高測量電路的精確度。所以集成芯片的使用將成為電路發(fā)展的一種趨勢。本方案應(yīng)用數(shù)字式溫度芯片ds18b20,也是順
21、應(yīng)這一趨勢。ds18b20是美國達(dá)拉斯(dallas)半導(dǎo)體公司推出的應(yīng)用單總線技術(shù)的數(shù)字溫度傳感器。下面是它的主要技術(shù)特性: (1)獨(dú)特的單總線接口方式:ds18b20與主機(jī)連接時(shí)僅需要一條io線即可實(shí)現(xiàn)雙向通訊。 (2)在使用中不需要任何外圍元件。 (3)可用正常供電,也可以用io寄生供電方式工作,電壓范圍:+3.0+5.5 v。 (4)測溫范圍:-55125,085誤差0.5,分辨率為0.0625、0.125、0.25、0.5,由編程實(shí)現(xiàn)。 (5)用戶可自設(shè)定eeprom的報(bào)警上下限值。 (6)支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20可以并聯(lián)在一起工作,實(shí)現(xiàn)多點(diǎn)測溫。 (7)負(fù)壓特性,電源極
22、性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 (8)供電方式既可以由vdd直接供電,也可以采用io口寄生供電, 當(dāng)采用vdd正常供電時(shí),dq腳直接連接到單片機(jī)的io口,同時(shí)接一個(gè)4.710k的上拉電阻。預(yù)置比較斜率累加器預(yù)置低溫度系數(shù)震蕩器高溫度系數(shù)震蕩器計(jì)數(shù)器1計(jì)數(shù)器2溫度寄存器=0=0加1停止lbs置“1”或清“0” 圖2-1 ds18b20溫度測量原理方框圖ds18b20的溫度測量原理如圖2-1所示。圖中低溫度系數(shù)震蕩器是一個(gè)震蕩頻率隨溫度變化很小的震蕩器,為計(jì)數(shù)器1提供一頻率穩(wěn)定的記數(shù)脈沖。高溫度系數(shù)震蕩器是一個(gè)震蕩頻率對溫度很敏感的震蕩器,為計(jì)數(shù)器2提供一個(gè)頻率隨溫度變化的計(jì)數(shù)
23、脈沖。初始時(shí),溫度寄存器被預(yù)置成55值,每當(dāng)計(jì)數(shù)器1從預(yù)置數(shù)開始減記數(shù)到0時(shí),溫度寄存器中寄存的溫度值就“加1”,這個(gè)過程重復(fù)進(jìn)行直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí)便停止。初始時(shí),計(jì)數(shù)器1預(yù)置的是與55相對應(yīng)的一個(gè)預(yù)置值。以后,計(jì)數(shù)器1每一個(gè)循環(huán)的預(yù)置數(shù)都由斜率累加器提供。為了補(bǔ)償震蕩器溫度特性的非線性,斜率累加器提供預(yù)置數(shù)也隨溫度相應(yīng)變化。計(jì)數(shù)器1的預(yù)置數(shù)也就是在給定溫度處使溫度寄存器寄存值增加1計(jì)數(shù)器1所需的計(jì)數(shù)個(gè)數(shù)。圖中比較器的作用是以四舍五入的量化方式確定溫度寄存器的最低有效位lsb(置“1”或清“0”)。在計(jì)數(shù)器2停止計(jì)數(shù)后,比較器將計(jì)數(shù)器1中的計(jì)數(shù)剩余值轉(zhuǎn)換為溫度值后與0.25進(jìn)行比較,若低于
24、0.25,溫度寄存器的最低位就置0;若高于0.25,就置1;若高于0.75時(shí),溫度寄存器的最低位就進(jìn)位然后置0。這樣,經(jīng)過比較后所得的溫度寄存器的值就是最終讀取的溫度值了,其最末位代表0.5,四舍五入最大量化誤差為0.25。溫度寄存器中的溫度值以九位數(shù)據(jù)格式表示,最高位為符號(hào)位,其余8位以二進(jìn)制補(bǔ)碼形式表示溫度。測溫結(jié)束時(shí),這9位數(shù)據(jù)轉(zhuǎn)存到嶄存存儲(chǔ)器的前兩個(gè)字節(jié)中,符號(hào)位占用第1字節(jié),8位溫度數(shù)據(jù)占用第2字節(jié),共16位數(shù)據(jù)。 2.2 系統(tǒng)性能指標(biāo)要求本系統(tǒng)要實(shí)現(xiàn)的設(shè)計(jì)目標(biāo):(1)實(shí)時(shí)巡檢功能本系統(tǒng)能夠同時(shí)檢測8路溫度,檢測溫度范圍-55125。根據(jù)實(shí)際需要,檢測點(diǎn)數(shù)是可以擴(kuò)展的。(2)高精度采
25、用過采樣和工頻周期求均值技術(shù),分辨率達(dá)到12位,檢測溫度變化最小值達(dá)到0.0625。(3)傳輸距離遠(yuǎn)使用串行總線進(jìn)行傳輸,max232驅(qū)動(dòng)芯片進(jìn)行電平轉(zhuǎn)換,傳送距離大于1200m,抗干擾能力強(qiáng)。(4)由主控機(jī)統(tǒng)一設(shè)置系統(tǒng)時(shí)間和溫度修正值。(5)可由主控機(jī)分別設(shè)置各從機(jī)的溫度報(bào)警上下限,主機(jī)、從機(jī)均具有聲光報(bào)警功能。(6)自帶+5v和+12v直流穩(wěn)壓電源。2.3系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)方案系統(tǒng)針對傳統(tǒng)測溫系統(tǒng)測溫點(diǎn)少、系統(tǒng)兼容性及擴(kuò)展性較差的特點(diǎn),運(yùn)用分布式通訊的設(shè)計(jì)思想,設(shè)計(jì)一種可以用于大規(guī)模多點(diǎn)溫度測量的巡回檢測系統(tǒng)。該系統(tǒng)采用的是rs-232串行通訊的標(biāo)準(zhǔn),通過下位機(jī)(單片機(jī))進(jìn)行現(xiàn)場的溫度采集,
26、溫度數(shù)據(jù)既可以由下位機(jī)模塊實(shí)時(shí)顯示,也可以送回上位機(jī)進(jìn)行數(shù)據(jù)處理,具有巡檢速度快,擴(kuò)展性好,成本低的特點(diǎn)。上位機(jī)可以同時(shí)接多個(gè)下位機(jī)(單片機(jī)),每個(gè)下位機(jī)接有一個(gè)數(shù)字式傳感器ds18b20。單片機(jī)軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。既可以單獨(dú)對多ds18b20控制工作,還可以與pc機(jī)通信。運(yùn)用主從分布式思想,由一臺(tái)上位機(jī)(pc微型計(jì)算機(jī)),下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級分布式多點(diǎn)溫度測量的巡回檢測系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程控制。另外at89c51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。實(shí)際采用電路方
27、案如下圖:上位機(jī)(pc)下位機(jī)(at89c51)下位機(jī)(at89c51)傳感器模塊控制模塊傳感器模塊顯示模塊控制模塊顯示模塊圖2-2系統(tǒng)總體方案示意圖第三章 硬件電路設(shè)計(jì)系統(tǒng)底層電路的功能主要包括:多點(diǎn)溫度測試及其相關(guān)處理,實(shí)時(shí)顯示溫度信息,與上位機(jī)通訊傳輸溫度數(shù)據(jù)。硬件設(shè)計(jì)主要包括以下幾個(gè)模塊:電源以及看門狗電路, 鍵盤以及顯示電路,溫度測試電路,串口通訊電路。下面對電路分模塊進(jìn)行說明。3.1高精度穩(wěn)壓電源3.1.1高精度穩(wěn)壓電源的組成 電源變壓器是將交流電網(wǎng)220v的電壓變?yōu)樗枰碾妷褐?。交流電?jīng)過二極管整流之后,方向單一了,但是大小(電流強(qiáng)度)還是處在不斷地變化之中。這種脈動(dòng)直流一般是
28、不能直接用來給集成電路供電的,而要通過整流電路將交流電變成脈動(dòng)的直流電壓。由于此脈動(dòng)的直流電壓還含有較大的紋波,必須通過濾波電路加以濾除,從而得到平滑的直流電壓。濾波的任務(wù),就是把整流器輸出電壓中的波動(dòng)成分盡可能地減小,改造成接近穩(wěn)恒的直流電。但這樣的電壓還隨電網(wǎng)電壓波動(dòng)(一般有%左右的波動(dòng)),負(fù)載和溫度的變化而變化,因而在整流、濾波電路之后,還需要接穩(wěn)壓電路。穩(wěn)壓電路的作用是當(dāng)電網(wǎng)電壓波動(dòng),負(fù)載和溫度變化時(shí),維持輸出直流電壓穩(wěn)定。在電路中,當(dāng)有電壓加到電容器兩端的時(shí)候,便對電容器充電,把電能儲(chǔ)存在電容器中;當(dāng)外加電壓失去(或降低)之后,電容器將把儲(chǔ)存的電能再放出來。充電的時(shí)候,電容器兩端的電
29、壓逐漸升高,直到接近充電電壓;放電的時(shí)候,電容器兩端的電壓逐漸降低,直到完全消失。電容器的容量越大,負(fù)載電阻值越大,充電和放電所需要的時(shí)間越長。這種電容帶兩端電壓不能突變的特性,正好可以用來承擔(dān)濾波的任務(wù)。 穩(wěn)壓電源一般由變壓器、整流器和穩(wěn)壓器三大部分組成。變壓器把市電交流電壓變?yōu)樗枰牡蛪航涣麟?。整流器把交流電變?yōu)橹绷麟姟?.1.2高精度穩(wěn)壓電源設(shè)計(jì) 穩(wěn)壓器把不穩(wěn)定的直流電壓變?yōu)榉€(wěn)定的直流電壓輸出。 其工作原理如圖3-1所示:圖中t1為電源變壓器,它的作用是將交流電網(wǎng)電壓v1變?yōu)檎麟娐芬蟮慕涣麟妷?四只整流二極管d1 d4接成電橋的形式,故有橋式整流電路之稱。二極管d1、d3和d2、d
30、4兩兩輪流導(dǎo)通的,流經(jīng)每個(gè)二極管的平均電流為 (31)二極管在截止時(shí)管子兩端承受的最大反向電壓可以從圖3-1中看出。在正半周時(shí),導(dǎo)通,、截止。此時(shí)、所承受的最大反向電壓均為的最大值。即 。同理,在的負(fù)半周,、也承受到同樣大小的反向電壓。圖3-1 +12v電源示意圖橋式整流電路的優(yōu)點(diǎn)是輸出電壓高 ,紋波電壓較小,管子所承受的最大反向電壓較低,同時(shí)因?yàn)殡娫醋儔浩髟谡?、?fù)半周內(nèi)都有電流供給負(fù)載,電源變壓器得到了充分的利用,效率較高。因此,這種電路在半導(dǎo)體整流電路中得到了頗為廣泛的應(yīng)用。濾波電路:因?yàn)楸驹O(shè)計(jì)為小功率電源,我們采用電容濾波電路。初始時(shí)電容器兩端初始電壓為零,接入交流電源后,當(dāng)為正半周時(shí),
31、通過、向電容器c充電;當(dāng)為負(fù)半周時(shí),通過、向電容器c充電。充電時(shí)間常數(shù)為。包括變壓器副繞組的直流電阻和二極管d的正向電阻。由于一般很少,電容器很快就達(dá)到了交流電壓的的最大值。由于電容器無放電回路,故輸出電壓保持在,輸出為一個(gè)恒定的直流。電容濾波電路的特點(diǎn):(1) 二極管的導(dǎo)電角,流過二極管的瞬時(shí)電流很大,電流的有效值和平均值的關(guān)系與波形有關(guān)。在平均值相同的情況下,波形越尖,有效值越大,在純電阻負(fù)載時(shí),變壓器副邊電流的有效值而有電容濾波時(shí) (32) (2) 負(fù)載平均電壓升高,紋波(交流成分)減少,且rc越大,電容放電速率越慢,則負(fù)載電壓中的紋波成分越小,負(fù)載平均電壓越高。為了得到平滑的負(fù)載電壓,
32、一般取 d=rlc(35)t/2 (33)其中t為電源交流電壓的周期。(3) 負(fù)載直流電壓隨負(fù)載直流電流增加而減少。隨的變化關(guān)系稱為輸出特性或者外特性。 c值一定,當(dāng)rl=,即空載時(shí) (34)當(dāng)c=0,即無電容時(shí) (35)(4) 在整流電路的內(nèi)阻不太大(幾歐)和放電時(shí)間常數(shù)滿足式(33)的 關(guān)系時(shí),電容濾波電路的負(fù)載電壓和的關(guān)系約為 (36)總之,電容濾波電路簡單,負(fù)載直流電壓vl較高,紋波也較小,它的缺點(diǎn)是輸出特性較差,故適用于負(fù)載電壓較高,負(fù)載變動(dòng)不大的場合。+5v電源電路如圖3-2所示: 圖3-2 5v電源示意圖3.2看門狗電路看門狗能產(chǎn)生一個(gè)系統(tǒng)復(fù)位信號(hào)用來終止任何由于微處理器故障而引
33、發(fā)的不正常的系統(tǒng)操作??紤]到底層電路板的工作環(huán)境相對惡劣,單片機(jī)會(huì)受到周圍環(huán)境的干擾,而出現(xiàn)程序跑飛,死機(jī)等一些不可預(yù)知的不正常工作現(xiàn)象。工作人員也不可能到現(xiàn)場對單片機(jī)重起,本設(shè)計(jì)為單片機(jī)電路添加一個(gè)外部看門狗電路。定時(shí)查詢單片機(jī)的工作狀態(tài),一但發(fā)現(xiàn)異常即對單片機(jī)延時(shí)重起。保證系統(tǒng)安全可靠的運(yùn)行??撮T狗芯片n e56604能為多種微處理器和邏輯系統(tǒng)提供復(fù)位信號(hào),其門限電平為4.2v 。在電源突然掉電或電源電壓下降到低于門限電平時(shí),ne56604將產(chǎn)生精確的復(fù)位信號(hào)。ne56604內(nèi)置一個(gè)看門狗定時(shí)器,用于監(jiān)控微處理器,以確保微處理器的正常運(yùn)行??撮T狗電路的特性:(1)正負(fù)雙邏輯輸出的有效復(fù)位信
34、號(hào);(2)精準(zhǔn)的門限電平監(jiān)測;(3)上電復(fù)位內(nèi)部延時(shí);(4)可利用外部電阻調(diào)節(jié)的內(nèi)部看門狗定時(shí)器;(5)看門狗定時(shí)器的監(jiān)控周期為100ms 典型值;(6)vcc=0.8vdc時(shí)產(chǎn)生有效的復(fù)位信號(hào)典型值;(7)僅需很少的外圍元件。具體電路圖如下:圖3-3 看門狗電路3.3聲光報(bào)警電路溫度檢測系統(tǒng)多有聲光報(bào)警功能,當(dāng)檢測溫度超過上下限時(shí),進(jìn)行聲光提示。本系統(tǒng)在從機(jī)和主機(jī)部分均設(shè)計(jì)了報(bào)警電路。各從機(jī)的報(bào)警上下限由主機(jī)預(yù)置,從機(jī)實(shí)時(shí)監(jiān)測的過程中,一旦發(fā)現(xiàn)檢測溫度值連續(xù)超出閾值范圍,便啟動(dòng)自身報(bào)警電路,同時(shí)向主控機(jī)發(fā)送報(bào)警信號(hào)。報(bào)警電路原理圖如下所示:圖3-4 聲光報(bào)警電路3.4鍵盤電路3.4.1鍵盤電
35、路原理單片機(jī)應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專門的復(fù)位電路以及專一的復(fù)位功能外,其它的按鍵或鍵盤都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)。鍵盤有編碼和非編碼兩種。非編碼鍵盤硬件電路極為簡單,故本系統(tǒng)采用撥碼開關(guān)來控制。具體電路如下:圖3-5 鍵盤電路3.4.2 開關(guān)狀態(tài)的可靠輸入鍵開關(guān)狀態(tài)的可靠輸入有兩種解決方法。一種是軟件去抖動(dòng):它是在檢測到有鍵按下時(shí),執(zhí)行一個(gè)10ms的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認(rèn)為真正鍵按下狀態(tài),從而消除了抖動(dòng)影響。另一種為硬件去抖動(dòng):即為按鍵添加一個(gè)鎖存器。兩種方法都簡單易行,本設(shè)計(jì)采用的是硬件去抖。3.4.3 對按鍵進(jìn)行編碼對于按鍵
36、無論有無編碼,以及采用什么編碼,最后都要轉(zhuǎn)換成為與累加器中數(shù)值相對應(yīng)的鍵值,以實(shí)現(xiàn)按鍵功能程序的散轉(zhuǎn)轉(zhuǎn)移。為使編碼間隔小,散轉(zhuǎn)入口地址安排方便,常采用依次序排列的鍵號(hào)。表3-1按鍵編碼及鍵值撥碼開關(guān)值000000010010001101000101011001111*含義實(shí)時(shí)顯示通道一的溫度值實(shí)時(shí)顯示通道二的溫度值實(shí)時(shí)顯示通道三的溫度值實(shí)時(shí)顯示通道四的溫度值實(shí)時(shí)顯示通道五的溫度值實(shí)時(shí)顯示通道六的溫度值實(shí)時(shí)顯示通道七的溫度值實(shí)時(shí)顯示通道八的溫度值 自動(dòng)循環(huán)顯示所有通道的溫度3.4.4 選擇鍵盤監(jiān)測方法對是否有鍵按下的信息輸入方式有中斷方式與查詢方式兩種。本設(shè)計(jì)采用的查詢法,即在cpu空閑時(shí)調(diào)用鍵
37、盤掃描子程序。行掃描法又稱為逐行掃描查詢法,是一種常用的按鍵識(shí)別方法,過程如下:為了判斷是否有鍵按下,將全部列線置為低電平,然后檢測行線的狀態(tài)。只要有一行的電平為低電平,則表示鍵盤中有鍵被按下,而且閉和鍵低電平行線與四根列線相交叉的4個(gè)按鍵之中。若所有行線均為高電平,則鍵盤中無鍵被按下。 為了判斷閉和鍵所在的位置,在確認(rèn)有鍵按下后,即可進(jìn)入確定閉和鍵的具體過程。其方法是: 依次將行線置為低電平,即在置某根行線為低電平時(shí),其他行線為高電平。在確定某根行線位置為低電平后,逐行檢測各列線的電平狀態(tài)。若某列線為低電平,則該列線與置低電平的行線相交叉處的按鍵就是閉和鍵。上述鍵盤監(jiān)測方法沒有考慮防串鍵問題
38、。串鍵是指多個(gè)鍵同時(shí)按下時(shí)或前面鍵沒有釋放又按下新的鍵時(shí)所產(chǎn)生的問題。判別是否有串鍵的方法是:在程序中一定將所有行都掃描一遍,而不是檢測到列線狀態(tài)有0時(shí)就結(jié)束。在所有行都掃描一遍之后,如果不止一次得到的列狀態(tài)有0,則說明出現(xiàn)了串鍵。解決串鍵的方法是這次掃描作廢,再來一遍。3.5溫度顯示電路本設(shè)計(jì)采用的是共陰極七段數(shù)碼管。顯示方式有動(dòng)態(tài)掃描和靜態(tài)顯示,兩種方法在本設(shè)計(jì)中皆可。靜態(tài)顯示的優(yōu)點(diǎn)是顯示程序簡單,顯示亮度高,穩(wěn)定性好,占用cpu時(shí)間少,但占用的i/o口線較多,且在實(shí)際應(yīng)用中,通常附加驅(qū)動(dòng)器或鎖存器以增加顯示的穩(wěn)定性和亮度。所以靜態(tài)顯示常用在顯示器數(shù)目較少的應(yīng)用系統(tǒng)中。由于靜態(tài)掃描要用到多
39、片串入并出芯片,考慮到電路板成本計(jì)算,本人采用節(jié)約硬件資源的動(dòng)態(tài)掃描方式。即用兩塊芯片就可以完成顯示功能,顯示數(shù)據(jù)由4511譯碼器輸出,uln2003為位驅(qū)動(dòng)掃描信號(hào)。采用四位共陰極動(dòng)態(tài)led顯示單元。led動(dòng)態(tài)顯示的基本做法在于分時(shí)輪流選通數(shù)碼管的公共端,使得各數(shù)碼管輪流導(dǎo)通,在選通相應(yīng)led后,即在顯示字段上得到顯示的字型碼。這種方式不但能夠提高數(shù)碼管的發(fā)光效率,而且由于各個(gè)數(shù)碼管的字段線是并聯(lián)使用的,從而大大簡化了硬件線路。動(dòng)態(tài)掃描顯示接口是單片機(jī)系統(tǒng)中應(yīng)用最為廣泛的一種顯示方式。其接口電路是把所有顯示器的 8個(gè)筆畫段adp同名端并聯(lián)在一起,而每一個(gè)顯示器的公共極com是各自獨(dú)立地受i/
40、o控制的。mpu向字段輸出口送出字型碼時(shí),所有顯示器由于同名端并聯(lián)連接收到相同的字型碼,但究竟是哪個(gè)顯示器亮,則取決于com端,而這一端是通過單片機(jī)對i/o編程控制的,所以就可以自行決定何時(shí)那一位顯示器被點(diǎn)亮了。此處所說的動(dòng)態(tài)就是在基于com端選擇,可編程的基礎(chǔ)上,采用分時(shí)的方法輪流控制各個(gè)顯示器的com端,使各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的 (約1ms),由于人眼的視覺暫留現(xiàn)象及發(fā)光二極管的速度足夠快,給人的視覺誤差就是一組穩(wěn)定的顯示數(shù)據(jù),如果做的足夠好是不會(huì)有閃爍感。具體電路圖如下:圖3-6 溫度顯示電路 3.6溫度測試電路這里我們用到溫度芯片ds
41、18b20。ds18b20是dallas公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳to92小體積封裝形式。測溫分辨率可達(dá)0.0625,被測溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。cpu只需一根端口線就能與諸多ds18b20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。ds18b20支持“一線總線”接口,測量溫度范圍為 -55c+125c,在-10+85c范圍內(nèi),精度為0.5c?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。 d
42、s18b20內(nèi)部結(jié)構(gòu) ds18b20的內(nèi)部結(jié)構(gòu)如下圖所示。圖3-7 ds18b20內(nèi)部結(jié)構(gòu)圖ds18b20有4個(gè)主要的數(shù)據(jù)部件:(1) 64位激光rom。64位激光rom從高位到低位依次為8位crc、48位序列號(hào)和8位家族代碼(28h)組成。(2) 溫度靈敏元件。(3) 非易失性溫度報(bào)警觸發(fā)器th和tl??赏ㄟ^軟件寫入用戶報(bào)警上下限值。(4) 配置寄存器。配置寄存器為高速暫存存儲(chǔ)器中的第五個(gè)字節(jié)。ds18b20在0工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值,其各位定義如表3-2所示。表3-2 ds18b20配置寄存器結(jié)構(gòu)圖tmr1r011111msb lsb 其中,tm:測試模式標(biāo)志
43、位,出廠時(shí)被寫入0,不能改變;r0、r1:溫度計(jì)分辨率設(shè)置位,其對應(yīng)四種分辨率如下表所列,出廠時(shí)r0、r1置為缺省值:r0=1,r1=1(即12位分辨率),用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率。表3-3 配置寄存器與分辨率關(guān)系表r0r1溫度計(jì)分辨率/bit最大轉(zhuǎn)換時(shí)間/us00110101910111293.75187.5375750(5) 高速暫存存儲(chǔ)器高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如圖3-4所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過單總線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如圖所示。對應(yīng)的
44、溫度計(jì)算:當(dāng)符號(hào)位s=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)s=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。為了解決單總線串行傳輸數(shù)據(jù)可能引起的錯(cuò)誤,ds18b20內(nèi)部具有產(chǎn)生crc校驗(yàn)碼電路,這樣程序員可以通過讀出數(shù)據(jù)的crc校驗(yàn)碼,并用這個(gè)校驗(yàn)碼和獲得的數(shù)據(jù)的最后一個(gè)字節(jié)比較,若兩者相同則證明數(shù)據(jù)傳送沒有錯(cuò)誤,從而驗(yàn)證通信過程中數(shù)據(jù)傳輸?shù)恼_性,使采集溫度信號(hào)的可靠性得到保證。表3-4 ds18b20 存儲(chǔ)器映像圖溫度低位溫度高位thtl配置保留保留保留8位crclsb msb表3-5 高速緩沖存儲(chǔ)器各位配置位7 位6 位5 位4 位3 位2 位1 位0232221202-12-22-32-4位
45、15 位14 位13 位12 位11 位10 位9 位8232221202-12-22-32-4 表3-6 典型對應(yīng)的溫度值表溫度/二進(jìn)制表示十六進(jìn)制表示+125 +25.0625+10.125+0.50-0.5-10.125-25.0625-5500000111 1101000000000001 1001000100000000 1010001000000000 0000100000000000 0000000011111111 1111100011111111 0101111011111110 0110111111111100 1001000007d0h0191h00a2h0008h000
46、0hfff8hff5ehfe6fhfc90hds18b20最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,ds18b20的數(shù)據(jù)i/o均由同一條線來完成。硬件連接電路如圖3-8所示:at89c51ds18b201#ds18b202#ds18b203#ds18b2020#vcc=5v4.7k1wire 圖3-8 硬件連接電路ds18b20采用外部供電方式,理論上可以在一根數(shù)據(jù)總線上掛256個(gè)ds18b20,但實(shí)踐應(yīng)用中發(fā)現(xiàn),如果掛接25個(gè)以上的ds18b20仍舊有可能產(chǎn)生功耗問題。另外單總線長度也不宜超過80m,否則也會(huì)影響到數(shù)據(jù)的傳輸。在這種情況下我們可以采用分組的方式,用單片機(jī)的多個(gè)i/o來驅(qū)動(dòng)多路ds18b
47、20。在實(shí)際應(yīng)用中還可以使用一個(gè)mosfet將i/o口線直接和電源相連,起到上拉的作用。3.7 串口通訊電路at89c51有一個(gè)全雙工的串行通訊口,所以單片機(jī)和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,比如電腦的串口是rs232電平的,而單片機(jī)的串口是ttl電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路, rs-232c采用的是負(fù)邏輯,即邏輯1”電平規(guī)定為:-5v至-15v之間:邏輯“0”電平規(guī)定為:+5v至+15v。而ttl電平的邏輯“1”和“0”則分別為2. 4v和0. 4v。因此rs-232c總線與ttl電平單片機(jī)之間連接時(shí)需外接電路實(shí)現(xiàn)電平轉(zhuǎn)換。我們采用了專用芯片max2
48、32進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。具體電路如圖3-9所示: 圖3-9 串口通訊電路我們采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的gnd、第2腳的rxd(數(shù)據(jù)接收)、第3腳的txd(數(shù)據(jù)傳送)。這是最簡單的連接方法,但是對本設(shè)計(jì)來說已經(jīng)足夠使用了,電路如上圖所示。通信線采用交叉接法,即兩者信號(hào)線對應(yīng)成為rt,tr。 具體連接電路如下:圖3-10 通信線交叉接法圖第四章 軟件設(shè)計(jì)4.1 軟件設(shè)計(jì)概述整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是
49、監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系;二是執(zhí)行軟件(子程序),它是用來完成各種實(shí)質(zhì)性的功能如測量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能和鍵盤設(shè)置選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。4.2 主程序方案主程序調(diào)用了4個(gè)子程序,分別是數(shù)碼管顯示程序、鍵盤掃描以及按鍵處理程序、溫度測試程序、中斷控制程序、單片機(jī)與pc機(jī)串口通訊程序。圖4-1
50、 程序結(jié)構(gòu)框圖鍵盤掃描電路及按鍵處理程序:實(shí)現(xiàn)鍵盤的輸入按鍵的識(shí)別及相關(guān)處理。溫度測試程序:對溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。中斷控制程序:實(shí)現(xiàn)循環(huán)顯示功能。串口通訊程序:實(shí)現(xiàn)pc機(jī)與單片機(jī)通訊,將溫度數(shù)據(jù)傳送給pc機(jī)。將各個(gè)功能程序以子程序的形式寫好,當(dāng)寫主程序的時(shí)候,只需要調(diào)用子程序,然后在寄存器的分配上作一下調(diào)整,消除寄存器沖突和i/o沖突即可。程序應(yīng)該盡可能多的使用調(diào)用指令代替跳轉(zhuǎn)指令。因?yàn)樘D(zhuǎn)指令使得程序難以看懂各程序段之間的結(jié)構(gòu)關(guān)系。而調(diào)用指令則不同,調(diào)用指令使得程序結(jié)構(gòu)清晰,無論是修改還是維護(hù)都比較方便。將功能程
51、序段寫成子程序的形式,除了方便調(diào)用之外,還有一個(gè)好處就是以后寫程序的時(shí)候如果要用到,就可以直接調(diào)用這個(gè)單元功能模塊 圖4-2 主程序流程圖4.3中斷控制程序設(shè)計(jì) 圖4-3 中斷控制程序流程圖4.4溫度測試子程序設(shè)計(jì)從機(jī)程序主要由溫度信號(hào)采集程序和響應(yīng)主機(jī)命令程序。開始采樣累加采樣160次?計(jì)算平均值保存此次結(jié)果是否超限送led顯示聲光報(bào)警設(shè)置報(bào)警標(biāo)志等待主控機(jī)查詢對溫度信號(hào)的采集采用求均值技術(shù)來提高精度,累計(jì)采樣160次,求均值并判斷是否超過規(guī)定的閾值。流程圖如下:ny 圖4-4 溫度測試子程序流程圖4.5串口通信程序設(shè)計(jì)本次通訊中,測控系統(tǒng)分為上位機(jī)和下位機(jī)之間的通信,系統(tǒng)中單片機(jī)負(fù)責(zé)數(shù)據(jù)采
52、集、處理和控制,上位機(jī)進(jìn)行現(xiàn)場可視化檢測,通信協(xié)議采用半雙工異步串行通信方式,通過rs232的rts信號(hào)進(jìn)行收發(fā)轉(zhuǎn)換,傳輸數(shù)據(jù)采用二進(jìn)制數(shù)據(jù),上位機(jī)與下位機(jī)之間采用主從式通訊。設(shè)計(jì)采用vb環(huán)境下pc機(jī)與單片機(jī)之間實(shí)現(xiàn)串行通訊的軟硬件方案。vb是microsoft公司推出的windows應(yīng)用程序開發(fā)工具,因其具有界面友好,編程簡便等優(yōu)點(diǎn)而受到廣泛的使用,而且visual basic 6.0 版本帶有專門實(shí)現(xiàn)串行通訊的mscomm控件。mscomm控件串口具有完善的串口數(shù)據(jù)的發(fā)送和接收功能。通過此控件,pc機(jī)可以利用串行口與其它設(shè)備實(shí)現(xiàn)輕松連接,簡單高效地實(shí)現(xiàn)設(shè)備之間的通訊。此控件的事件響應(yīng)有兩種
53、處理方式。事件驅(qū)動(dòng)方式:由mscomm控件的oncomm事件捕獲并處理通訊錯(cuò)誤及事件;查詢方式:通過檢查commevent屬性的值來判斷事件和錯(cuò)誤。 mscomm控件的主要屬性和方法 (1) commport:設(shè)置或返回串行端口號(hào),其取值范圍為199,缺省為1 ;(2) setting:設(shè)置或返回串行端口的波特率、奇偶校驗(yàn)位、數(shù)據(jù)位數(shù)、停止位;(3) portopen:打開或關(guān)閉串行端口; (4) rthreshold:該屬性為一閥值,它確定當(dāng)接收緩沖區(qū)內(nèi)字節(jié)個(gè)數(shù)達(dá)到或超過該值后就產(chǎn)生mscomml-oncomm事件; (5)input:從接收緩沖區(qū)移走一串字符; (6)output:向發(fā)送緩
54、沖區(qū)傳送一字符串; 參數(shù)設(shè)定:通信端口選擇com1,波特率設(shè)定為1200b/smscomm.commport=1mscomm.setting=“1200, n, 8, 1”。 圖4-5 pc通訊程序流程圖 圖4-6 單片機(jī)通訊程序流程圖參數(shù)設(shè)定:通信端口選擇com1,波特率設(shè)定為1200b/smscomm.commport=1mscomm.setting=“1200, n, 8, 1”。 start:movsp,#60hmovtmod,#20hmovth1,#0e6hmovtl1,#0e6h ;1200b/s,晶振為12mhzmov pcon,#00hmovscon,#50hsetbtr1第五章 系統(tǒng)調(diào)試5.1硬件調(diào)試硬件調(diào)試可分為靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試兩步進(jìn)行。(1)靜態(tài)調(diào)試靜態(tài)調(diào)試是在用戶系統(tǒng)未工作時(shí)的一種硬件檢查。靜態(tài)調(diào)試的第一步是目測檢查它的印制線是否有斷線、是否有毛刺、是否與其他線或焊盤粘連。對單片機(jī)應(yīng)用系統(tǒng)中所有的器件與設(shè)備,仔細(xì)核對型號(hào),檢查他們對外連線是否完整無損。通過目測查
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年共同策劃電子產(chǎn)品連鎖店經(jīng)營合同
- 2025年企業(yè)市場營銷外包合同文本
- 2025年企業(yè)車輛保險(xiǎn)與理賠合同范本
- 2025年農(nóng)業(yè)用地轉(zhuǎn)用任務(wù)合同協(xié)議書
- 2025年企業(yè)品牌形象創(chuàng)意設(shè)計(jì)服務(wù)合同
- 2025年代理交易合同
- 2025年企業(yè)產(chǎn)權(quán)轉(zhuǎn)移委托代理策劃合同模板
- 2025兼職人員策劃成果共享合同
- 2025年業(yè)績合同協(xié)議
- 2025年中國聯(lián)通合同爭議調(diào)解成效評估與
- 生物產(chǎn)品檢驗(yàn)檢疫基礎(chǔ)知識(shí)單選題100道及答案
- 江蘇省中職《英語》學(xué)業(yè)水平考試備考試題集(含歷年真題)
- Unit 3 Environmental Protection Reading and Thinking 選擇性必修第三冊
- 2025年合伙型公司新合伙人加入?yún)f(xié)議
- 小學(xué)道德與法治課堂教學(xué)中提升學(xué)生核心素養(yǎng)策略
- 2025年安全員之C證(專職安全員)考試題庫
- 中水回用項(xiàng)目可行性研究報(bào)告
- 2025城市商鋪買賣合同書
- 基于主題式教學(xué)法的初級漢語綜合課《我的低碳生活》教學(xué)設(shè)計(jì)
- 微信公眾號(hào)運(yùn)營及推廣合同
- 2025年春新北師大版物理八年級下冊課件 第六章 質(zhì)量和密度 第一節(jié) 物體的質(zhì)量及其測量
評論
0/150
提交評論