超聲波測距設(shè)計_第1頁
超聲波測距設(shè)計_第2頁
超聲波測距設(shè)計_第3頁
超聲波測距設(shè)計_第4頁
超聲波測距設(shè)計_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

.z第一章緒論1.1測量的概念測量是按照*種規(guī)律,用數(shù)據(jù)來描述觀察到的現(xiàn)象,即對事物作出量化描述。測量是對非量化實物的量化過程。1.2測量的分類從不同觀點出發(fā),可以將測量方法進(jìn)展不同的分類,常見的方法有:1、直接測量、間接測量和組合測量直接測量是將被測量與與標(biāo)準(zhǔn)量進(jìn)展比較,得到測量結(jié)果。間接測量是測得與被測量有一定函數(shù)關(guān)系的量,然后運用函數(shù)求得被測量。組合測量是對假設(shè)干同名被測量的不同組合形式分別測量,然后用最小二乘法解方程組,求得被測量。2、絕對測量、相對測量絕對測量是所用量器上的示值直接表示被測量大小的測量。相對測量是將被測量同與它只有微小差異的同類標(biāo)準(zhǔn)量進(jìn)展比較,測出兩個量值之差的測量法。3、接觸測量、非接觸測量這是從對被測物體的瞄準(zhǔn)方式不同加以區(qū)分的。接觸測量的敏感元件在一定測量力的作用下,與被測物體直接接觸,而非接觸測量敏感元件與被測對象不發(fā)生機械接觸。4、單項測量與綜合測量單項測量是對多參數(shù)的被測物體的各項參數(shù)分別測量,綜合測量是對被測物體的綜合參數(shù)進(jìn)展測量。5、自動測量和非自動測量自動測量是指測量過程按測量者所規(guī)定的程序自動或半自動地完成。非自動測量又叫手工測量,是在測量者直接操作下完成的。6、靜態(tài)測量和動態(tài)測量靜態(tài)測量是對在一段時間間隔內(nèi)其量值可認(rèn)為不變的被測量的測量。動態(tài)測量是為確定隨時間變化的被測量瞬時值而進(jìn)展的測量。7、主動測量與被動測量在產(chǎn)品制造過程中的測量是主動測量,它可以根據(jù)測量結(jié)果控制加工過程,以保證產(chǎn)品質(zhì)量,預(yù)防廢品產(chǎn)生。被動測量是在產(chǎn)品制造完成后的測量,它不能預(yù)防廢品產(chǎn)生,只能發(fā)現(xiàn)邊挑出廢品。1.3測量技術(shù)的開展趨勢近年來,精細(xì)測量技術(shù)開展迅速,成果喜人。例如在線測量技術(shù),已可進(jìn)展加工狀態(tài)的實時測量與顯示,及時檢測加工是否出現(xiàn)異常狀況,從而可大幅度提高生產(chǎn)效率。在高精度加工和質(zhì)量管理過程中,隨著光機電一體化、系統(tǒng)化的開展,光學(xué)測量技術(shù)有了迅速開展,相應(yīng)的測量機產(chǎn)品大量涌現(xiàn),測量軟件的開發(fā)也日益受到重視。隨著非接觸、高效率測量機的大量出現(xiàn),專家預(yù)計,21世紀(jì)測量技術(shù)的開展方向大致如下:〔1〕測量精度由微米級向納米級開展,測量分辨力進(jìn)一步提高;〔2〕由點測量向面測量過渡〔即由長度的精細(xì)測量擴展至形狀的精細(xì)測量〕,提高整體測量精度;〔3〕隨著圖像處理等新技術(shù)的應(yīng)用,遙感技術(shù)在精細(xì)測量工程中將得到推廣和普及;〔4〕隨著標(biāo)準(zhǔn)化體制確實立和測量不確定度的數(shù)值化,將有效提高測量的可靠性??傊?,測量技術(shù)必須實現(xiàn)高精度化,同時也要**現(xiàn)高速化和高效率化,因此,非接觸測量和高效率測量也必然成為新世紀(jì)精細(xì)測量技術(shù)的重要開展方向。面向21世紀(jì)的我國工程測量技術(shù)的開展趨勢和方向是:測量數(shù)據(jù)采集和處理的自動化、實時化、數(shù)字化;測量數(shù)據(jù)管理的科學(xué)化、標(biāo)準(zhǔn)化、規(guī)格化;測量數(shù)據(jù)傳播與應(yīng)用的網(wǎng)絡(luò)化、多樣化、社會化。GPS技術(shù)、RS技術(shù)、GIS技術(shù)、數(shù)字化測繪技術(shù)以及先進(jìn)地面測量儀器等將廣泛應(yīng)用于工程測量中,并發(fā)揮其主導(dǎo)作用。1.4超聲波測距的定義和內(nèi)容超聲波測距的定義由于超聲波指向性強,能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現(xiàn)。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能到達(dá)工業(yè)實用的要求。超聲波測距的內(nèi)容超聲波發(fā)射器向*一方向發(fā)射超聲波,在發(fā)射時刻的同時開場計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停頓計時。超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=340t/2。1.5超聲波測距的開展及應(yīng)用超聲波測距相對其他測距技術(shù)而言本錢低廉,測量精度較高,不受環(huán)境的限制,應(yīng)用方便,將它與紅外、溫度傳感器等結(jié)合共同實現(xiàn)尋線和繞障功能。超聲波由于指向性強、能量消耗緩慢且在介質(zhì)中傳播的距離較遠(yuǎn),因而經(jīng)常用于距離的測量。它主要應(yīng)用于倒車?yán)走_(dá)、測距儀、物位測量儀、移動機器人的研制、建筑施工工地以及一些工業(yè)現(xiàn)場等,例如:距離、液位、井深、管道長度、流速等場合。利用超聲波檢測往往比較迅速、方便,且計算簡單、易于做到實時控制,在測量精度方面也能到達(dá)工業(yè)實用的要求,因此得到了廣泛的應(yīng)用。本課題的研究是非常有實用和有商業(yè)價值的。第二章方案論述2.1系統(tǒng)參數(shù)及性能指標(biāo)1.測量距離*圍<=6m2.精度優(yōu)于1%3.數(shù)碼管顯示4.進(jìn)展溫度補償5.具有RS232通信能力,便于擴展6.抗干擾能力強,安裝方便,便于嵌入其他系統(tǒng)7.體積小,功耗低,便于嵌入其他系統(tǒng)2.2測量方案的選擇對液面的測量可以采用接觸式和非接觸式兩種形式進(jìn)展,接觸式的主要方式為標(biāo)尺測量和電極法測量,但是二者都有其明顯缺點,標(biāo)尺測量是最直接方便的測量方式,但是其誤差偏大,不夠準(zhǔn)確,電極法測量是采用差位分布電極,通過給點或脈沖來測量液面,但是由于電極長期浸泡在液體中,極易被腐蝕,失去靈敏性。非接觸式測距儀常采用超聲波、激光和雷達(dá)。雖然測量精度和抗腐蝕性較直接測量有顯著提高,但激光和雷達(dá)測距儀造價偏高,不利于廣泛的普及應(yīng)用,在*些應(yīng)用領(lǐng)域有其局限性,相比之下,超聲波方法具有明顯突出的優(yōu)點:1.超聲波的傳播速度僅為光波的百萬分之一,并且指向性強,能量消耗緩慢,因此可以直接測量較近目標(biāo)的距離;2.超聲波對色彩、光照度不敏感,可適用于識別透明、半透明及漫反射差的物體(如玻璃、拋光體);3.超聲波對外界光線和電磁場不敏感,可用于黑暗、有灰塵或煙霧、電磁干擾強、有毒等惡劣環(huán)境中;4.超聲波傳感器構(gòu)造簡單、體積小、費用低、信息處理簡單可靠,易于小型化與集成化,并且可以進(jìn)展實時控制。因此,超聲波方法作為非接觸檢測和識別的手段,已越來越引起人們的重視。在機器人避障、導(dǎo)航系統(tǒng)、機械加工自動化裝配及檢測、自動測距、無損檢測、超聲定位、汽車倒車、工業(yè)測井、水庫液位測量等方面已經(jīng)有了廣泛的應(yīng)用。綜上所述并考慮到設(shè)計要求,本次設(shè)計選擇超聲波液面測距法。2.3CPU的選擇方案一:采用PHILIPS的P89LPC932作為系統(tǒng)的主控制單元,其內(nèi)部有片內(nèi)時鐘電路,片內(nèi)復(fù)位監(jiān)視電路,同時在其內(nèi)部具有8KB的FLASH程序存儲器,256+512的程序存儲器,它的主要優(yōu)點在于低電壓功耗,封裝體積小。方案二:采用AT89C51微處理器作為系統(tǒng)的主控器,AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器〔FPEROM—FalshProgrammableandErasableReadOnlyMemory〕的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。方案三:采用AT89S51微處理器作為系統(tǒng)的主控制器,AT89S51是一個低功耗,高性能CMOS8位單片機,片內(nèi)含4kBytesISP(In-systemprogrammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳構(gòu)造,芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。綜合上述三種方案,考慮到大學(xué)期間學(xué)習(xí)知識的特點,決定采用AT89C512.4溫度傳感器的選擇方案一:采用單片集成兩端感溫傳感器AD590其主要特性如下:(1)流過器件的電流(μA)等于器件所處環(huán)境的熱力學(xué)溫度(開爾文)度數(shù):Ir/T=1(1)式中,Ir—流過器件(AD590)的電流,單位為μA;T—熱力學(xué)溫度,單位為K;(2)AD590的測溫*圍為-55℃~+150(3)AD590的電源電壓*圍為4~30V,可以承受44V正向電壓和20V反向電壓,因而器件即使反接也不會被損壞;(4)輸出電阻為710mΩ;(5)精度高,AD590在-55℃~+150℃*圍內(nèi),非線性誤差僅為±方案二:采用PT100溫度傳感器組成的局部:常見的pt1oo感溫元件有陶瓷元件,玻璃元件,云母元件,它們是由鉑絲分別繞在陶瓷骨架,玻璃骨架,云母骨架上再經(jīng)過復(fù)雜的工藝加工而成技術(shù)性描述:pt100是鉑熱電阻,它的阻值會隨著溫度的變化而改變。PT后的100即表示它在0℃時阻值為100歐姆,在100應(yīng)用*圍:醫(yī)療、電機、工業(yè)、溫度計算、阻值計算等高精溫度設(shè)備,應(yīng)用*圍非常之廣泛。方案三:采用一線式數(shù)字溫度傳感器DS18B20技術(shù)性能描述:1.1獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。1.2測溫*圍-55℃~+125℃,固有測溫分辨率1.3支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定,實現(xiàn)多點測溫1.4工作電源:3~5V/DC1.5在使用中不需要任何外圍元件1.6測量結(jié)果以9~12位數(shù)字量方式串行傳送1.7不銹鋼保護(hù)管直徑Φ61.8適用于DN15~25,DN40~DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測溫1.9標(biāo)準(zhǔn)安裝螺紋M10*1,M12*1.5,G1/2”任選1.10PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。應(yīng)用*圍:2.1該產(chǎn)品適用于冷凍庫,糧倉,儲罐,電訊機房,電力機房,電纜線槽等測溫和控制領(lǐng)域2.2軸瓦,缸體,紡機,空調(diào),等狹小空間工業(yè)設(shè)備測溫和控制。2.3汽車空調(diào)、冰箱、冷柜、以及中低溫枯燥箱等。2.4供熱/制冷管道熱量計量,中央空調(diào)分戶熱能計量和工業(yè)領(lǐng)域測溫和控制。在傳統(tǒng)的溫度測量系統(tǒng)中,一般采用熱電偶或鉑電阻進(jìn)展溫度測量。在這些電路中,有這樣一些問題必須解決:為了進(jìn)展準(zhǔn)確的溫度測量,必須給鉑電阻提供一個良好的恒流源;由于熱電偶出來的信號是模擬信號,所以此信號在送給CPU之前必須先進(jìn)展A/D轉(zhuǎn)換,然后再送給CPU進(jìn)展處理;并且熱電偶的信號很弱,只有十幾個mA,因此在A/D轉(zhuǎn)換之前通常還需要進(jìn)展增益放大,因此,采用熱電偶和鉑電阻進(jìn)展溫度測量,需要考慮很多問題,構(gòu)成的系統(tǒng)也比較復(fù)雜。DALAS公司推出的數(shù)字式溫度傳感器DS18B20很好地解決了這樣一些問題,而且DS18B20還無需擴展A/D轉(zhuǎn)換,更易于調(diào)試,因此本次設(shè)計選擇采用一線式數(shù)字溫度傳感器DS18B20。2.5鍵盤/顯示電路選擇方案一:采用INTEL公司的8279芯片,8279可編程設(shè)置型鍵盤/顯示器的特點是:(1)可同時進(jìn)展鍵盤掃描及文字顯示;(2)鍵盤掃描模式(ScannedKeyboardMode);(3)傳感器掃描模式(ScannedSensorMode);(4)激發(fā)輸入模式(StrobeInputEntryMode);(5)8乘8鍵盤FIFO(先進(jìn)先出);(6)具有接點消除抖動,2鍵鎖定及N鍵依此讀出模式;(7)雙排8位數(shù)或雙排16位數(shù)的顯示器;(8)右邊進(jìn)入或左邊進(jìn)入。16位字節(jié)顯示存儲器。方案二:采用HD7279A驅(qū)動的數(shù)碼顯示,HD7279A是一片具有串行接口的,可驅(qū)動8位共陰式數(shù)碼管〔或64只獨立LED〕的智能顯示驅(qū)動芯片,該芯片同時還可連接多大64鍵的鍵盤矩陣,單片即可完成LED顯示、鍵盤接口的全部功能。產(chǎn)品特點:串行接口,無需外圍元件可直接驅(qū)動LED,各位獨立控制譯碼/不譯碼及消隱和閃爍屬性,〔循環(huán)〕左移〔循環(huán)〕右移指令具有段尋址指令,方便控制獨立LED64鍵鍵盤控制器,內(nèi)含去抖動電路有DIP和SOOC兩種封裝形式供選擇。綜合上述兩種方案,8279是并行接口的,實際應(yīng)用時還需要通過8155芯片來擴展I/O口,而HD7279A具有串行接口,更易于調(diào)試,因此本設(shè)計采用HD7279A。2.6小結(jié)綜合以上選擇,在本次畢業(yè)設(shè)計中,測量方法選擇超聲波測距,采用的cpu是AT89C51,溫度傳感器選擇是DS18B20,鍵盤顯示電路芯片選擇是HD7279A。第三章系統(tǒng)硬件設(shè)計3.1系統(tǒng)框圖超聲波液面測距儀主要包括:溫度檢測電路,超聲波發(fā)生及控制電路,超聲波接收及信號處理電路,HD7279A鍵盤顯示電路,微處理器及輔助電路,系統(tǒng)電源以及MA*232A通訊接口電路七局部組成。系統(tǒng)組成框圖如圖3-1所示:圖3-1主系統(tǒng)組成框圖3.2最小系統(tǒng)設(shè)計AT89C51單片機概述AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器〔FPEROM—FalshProgrammableandErasableReadOnlyMemory〕的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。主要特性:·與MCS-51兼容

·4K字節(jié)可編程閃爍存儲器

·壽命:1000寫/擦循環(huán)·數(shù)據(jù)保存時間:10年

·全靜態(tài)工作:0Hz-24Hz

·三級程序存儲器鎖定

·128*8位內(nèi)部RAM

·32可編程I/O線

·兩個16位定時器/計數(shù)器

·5個中斷源

·可編程串行通道

·低功耗的閑置和掉電模式

·片內(nèi)振蕩器和時鐘電路管腳圖:圖3-2AT89C51單片機管腳圖管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進(jìn)展校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)展存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)展讀寫時,P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流〔ILL〕這是由于上拉的緣故,P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳備選功能P3.0R*D〔串行輸入口〕P3.1T*D〔串行輸出口〕P3.2/INT0〔外部中斷0〕P3.3/INT1〔外部中斷1〕P3.4T0〔記時器0外部輸入〕P3.5T1〔記時器1外部輸入〕P3.6/WR〔外部數(shù)據(jù)存儲器寫選通〕P3.7/RD〔外部數(shù)據(jù)存儲器讀選通〕P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當(dāng)外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想制止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOV*,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE制止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器〔0000H-FFFFH〕,不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源〔VPP〕。*TAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。*TAL2:來自反向振蕩器的輸出。AT89C51功能描述振蕩器特性:*TAL1和*TAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,*TAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的上下電平要求的寬度。芯片擦除:整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms來完成。在芯片擦操作中,代碼陣列全被寫“1〞且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停頓工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,制止所用其他芯片功能,直到下一個硬件復(fù)位為止。串口通訊實際上SBUF包含了兩個獨立的存放器,一個是發(fā)送存放,另一個是接收存放器,但它們都共同使用同一個尋址地址-99H。CPU在讀SBUF時會指到接收存放器,在寫時會指到發(fā)送存放器,而且接收存放器是雙緩沖存放器,這樣可以防止接收中斷沒有及時的被響應(yīng),數(shù)據(jù)沒有被取走,下一幀數(shù)據(jù)已到來,而造成的數(shù)據(jù)重疊問題。發(fā)送器則不需要用到雙緩沖,一般情況下我們在寫發(fā)送程序時也不必用到發(fā)送中斷去外理發(fā)送數(shù)據(jù)。操作SBUF存放器的方法則很簡單,只要把這個99H地址用關(guān)鍵字sfr定義為一個變量就可以對其進(jìn)展讀寫操作了,如sfrSBUF=0*99;當(dāng)然你也可以用其它的名稱。通常在標(biāo)準(zhǔn)的reg51.h或at89*51.h等頭文件中已對其做了定義,只要用*include引用就可以了。SCON串行口控制存放器通常在芯片或設(shè)備中為了監(jiān)視或控制接口狀態(tài),都會引用到接口控制存放器。SCON就是51芯片的串行口控制存放器。它的尋址地址是98H,是一個可以位尋址的存放器,作用就是監(jiān)視和控制51芯片串行口的工作狀態(tài)。51芯片的串口可以工作在幾個不同的工作模式下,其工作模式的設(shè)置就是使用SCON存放器。它的各個位的具體定義如下:SM0SM1SM2RENTB8RB8TIRISM0、SM1為串行口工作模式設(shè)置位,這樣兩位可以對應(yīng)進(jìn)展四種模式的設(shè)置。串行口工作模式設(shè)置。SM0SM1模式功能波特率000同步移位存放器fosc/120118位UART可變1029位UARTfosc/32或fosc/641139位UART可變在這里只說明最常用的模式1,其它的模式也就一一略過,有興趣的朋友可以找相關(guān)的硬件資料查看。表中的fosc代表振蕩器的頻率,也就是晶振的頻率。UART為(UniversalAsynchronousReceiver〕的英文縮寫。SM2在模式2、模式3中為多處理機通信使能位。在模式0中要求該位為0。REM為允許接收位,REM置1時串口允許接收,置0時制止接收。REM是由軟件置位或清零。如果在一個電路中接收和發(fā)送引腳P3.0,P3.1都和上位機相連,在軟件上有串口中斷處理程序,當(dāng)要求在處理*個子程序時不允許串口被上位機來的控制字符產(chǎn)生中斷,則可以在這個子程序的開場處參加REM=0來制止接收,在子程序完畢處參加REM=1再次翻開串口接收。大家也可以用上面的實際源碼參加REM=0來進(jìn)展實驗。TB8發(fā)送數(shù)據(jù)位8,在模式2和3是要發(fā)送的第9位。該位可以用軟件根據(jù)需要置位或去除,通常這位在通信協(xié)議中做奇偶位,在多處理機通信中這一位則用于表示是地址幀還是數(shù)據(jù)幀。RB8接收數(shù)據(jù)位8,在模式2和3是已接收數(shù)據(jù)的第9位。該位可能是奇偶位,地址/數(shù)據(jù)標(biāo)識位。在模式0中,RB8為保存位沒有被使用。在模式1中,當(dāng)SM2=0,RB8是已接收數(shù)據(jù)的停頓位。TI發(fā)送中斷標(biāo)識位。在模式0,發(fā)送完第8位數(shù)據(jù)時,由硬件置位。其它模式中則是在發(fā)送停頓位之初,由硬件置位。TI置位后,申請中斷,CPU響應(yīng)中斷后,發(fā)送下一幀數(shù)據(jù)。在任何模式下,TI都必須由軟件來去除,也就是說在數(shù)據(jù)寫入到SBUF后,硬件發(fā)送數(shù)據(jù),中斷響應(yīng)〔如中斷翻開〕,這時TI=1,說明發(fā)送已完成,TI不會由硬件去除,所以這時必須用軟件對其清零。RI接收中斷標(biāo)識位。在模式0,接收第8位完畢時,由硬件置位。其它模式中則是在接收停頓位的半中間,由硬件置位。RI=1,申請中斷,要求CPU取走數(shù)據(jù)。但在模式1中,SM2=1時,當(dāng)未收到有效的停頓位,則不會對RI置位。同樣RI也必須要靠軟件去除。常用的串口模式1是傳輸10個位的,1位起始位為0,8位數(shù)據(jù)位,低位在先,1位停頓位為1。它的波特率是可變的,其速率是取決于定時器1或定時器2的定時值〔溢出速率〕。AT89C51和AT89C2051等51系列芯片只有兩個定時器,定時器0和定時器1,而定時器2是89C52系列芯片才有的。波特率在使用串口做通訊時,一個很重要的參數(shù)就是波特率,只有上下位機的波特率一樣時才可以進(jìn)展正常通訊。波特率是指串行端口每秒內(nèi)可以傳輸?shù)牟ㄌ匚粩?shù)。有一些初學(xué)的朋友認(rèn)為波特率是指每秒傳輸?shù)淖止?jié)數(shù),如標(biāo)準(zhǔn)9600會被誤認(rèn)為每秒種可以傳送9600個字節(jié),而實際上它是指每秒可以傳送9600個二進(jìn)位,而一個字節(jié)要8個二進(jìn)位,如用串口模式1來傳輸則加上起始位和停頓位,每個數(shù)據(jù)字節(jié)就要占用10個二進(jìn)位,9600波特率用模式1傳輸時,每秒傳輸?shù)淖止?jié)數(shù)是9600÷10=960字節(jié)。51芯片的串口工作模式0的波特率是固定的,為fosc/12,以一個12M的晶振來計算,則它的波特率可以到達(dá)1M。模式2的波特率是固定在fosc/64或fosc/32,具體用那一種就取決于PCON存放器中的SMOD位,如SMOD為0,波特率為focs/64,SMOD為1,波特率為focs/32。模式1和模式3的波特率是可變的,取決于定時器1或2〔52芯片〕的溢出速率。則我們怎么去計算這兩個模式的波特率設(shè)置時相關(guān)的存放器的值呢.可以用以下的公式去計算。波特率=〔2SMOD÷32〕×定時器1溢出速率上式中如設(shè)置了PCON存放器中的SMOD位為1時就可以把波特率提升2倍。通常會使用定時器1工作在定時器工作模式2下,這時定時值中的TL1做為計數(shù),TH1做為自動重裝值,這個定時模式下,定時器溢出后,TH1的值會自動裝載到TL1,再次開場計數(shù),這樣可以不用軟件去干預(yù),使得定時更準(zhǔn)確。在這個定時模式2下定時器1溢出速率的計算公式如下:溢出速率=〔計數(shù)速率〕/(256-TH1)上式中的“計數(shù)速率〞與所使用的晶體振蕩器頻率有關(guān),在51芯片中定時器啟動后會在每一個機器周期使定時存放器TH的值增加一,一個機器周期等于十二個振蕩周期,所以可以得知51芯片的計數(shù)速率為晶體振蕩器頻率的1/12,一個12M的晶振用在51芯片上,則51的計數(shù)速率就為1M。通常用11.0592M晶體是為了得到標(biāo)準(zhǔn)的無誤差的波特率,則為何呢.計算一下就知道了。如我們要得到9600的波特率,晶振為11.0592M和12M,定時器1為模式2,SMOD設(shè)為1,分別看看那所要求的TH1為何值。代入公式:11.0592M9600=(2÷32)×((11.0592M/12)/(256-TH1))TH1=25012M9600=(2÷32)×((12M/12)/(256-TH1))TH1≈249.49上面的計算可以看出使用12M晶體的時候計算出來的TH1不為整數(shù),而TH1的值只能取整數(shù),這樣它就會有一定的誤差存在不能產(chǎn)生準(zhǔn)確的9600波特率。當(dāng)然一定的誤差是可以在使用中被承受的,就算使用11.0592M的晶體振蕩器也會因晶體本身所存在的誤差使波特率產(chǎn)生誤差,但晶體本身的誤差對波特率的影響是十分之小的,可以忽略不計。最小系統(tǒng)的設(shè)計介紹MCS-51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,引腳*TAL1和*TAL2分別是此放大器的輸入和輸出端,其時鐘可由內(nèi)部和外部兩種方式產(chǎn)生。由于采用內(nèi)部方式時,電路簡單,實際使用中常采用這種方式,如圖中所示,外接晶振、電容C2和C3構(gòu)成并聯(lián)諧振電路,接在放大器的反響回路中〔*TAL1和*TAL2之間〕,晶體振蕩器在2–12M之間,C2、C3的典型值為22P左右。復(fù)位的目的是初始化單片機內(nèi)部的*些特殊功能存放器。單片機的復(fù)位是靠外電路實現(xiàn)的,在正常運行情況下,只要RST引腳出現(xiàn)兩個機器周期以上時間的高電平,即可引起系統(tǒng)復(fù)位,復(fù)位后單片機內(nèi)部的一些SFR被設(shè)置成一定的值,如PC=0000H,SP=07H等。復(fù)位操作有兩種情況,即上電復(fù)位和手動〔開關(guān)〕復(fù)位,由于干擾等因素造成程序不能正常運行時,就需要開關(guān)復(fù)位。實驗圖中由R1、C1和74LS14組成上電復(fù)位電路,由按鈕TR1和74LS14組成手動復(fù)位電路。上電時,由于電容兩端的電壓不能突變,使得74LS14輸入端的電平為低電平,其輸出端為高電平,隨著電源對電容C1的充電,在*一時刻,當(dāng)電容兩端的電壓高于輸入低電平門限時,74LS14輸出變成低電平,使單片機脫離復(fù)位進(jìn)入工作狀態(tài)。R取值在10K左右,C1取值為10μF;在運行過程中,電容兩端的電壓接近5V,74LS14輸出為低電平,當(dāng)按下按紐TR1時,電容就會通過按鈕對地短路放電,使74LS14輸入快速變?yōu)榈碗娖剑敵鲎優(yōu)楦唠娖?,?dāng)松開接鈕時,過程與上電復(fù)位時一樣。圖3-3單片機最小系統(tǒng)3.3前向通道設(shè)計單片機用與測控系統(tǒng)時,總要有與被測對象相聯(lián)系的前向通道。因此,前向通道設(shè)計與被測對象的狀態(tài)、特征、所處環(huán)境密切相關(guān)。在前向通道設(shè)計時要考慮到傳感器或敏感元件選擇、通道構(gòu)造、信號調(diào)節(jié)、電源配置、抗干擾設(shè)計等。在通道電路設(shè)計中還涉及到模擬電路諸多問題。前向通道的含義當(dāng)將單片機用作測﹑控系統(tǒng)時,系統(tǒng)中總要有被測信號輸入通道,有計算機拾取必要的輸入信息。作為測試系統(tǒng),對被測對象拾取必要的原始參量信號是系統(tǒng)的核心任務(wù),對控制系統(tǒng)來說,對被控對象狀態(tài)的測試以及對控制條件的監(jiān)測也是不可缺少的環(huán)節(jié)。對被測對象狀態(tài)的測試一般都離不開傳感器或敏感元件,這是因為被測對象的狀態(tài)參數(shù)常常是一些非電物理量,如溫度、壓力、載荷、位移等,而計算機是一個數(shù)字電路系統(tǒng)。因此,在前向通道中,傳感器、敏感元件及其相關(guān)電路占有重要地位。對被測對象的信號的拾取其主要任務(wù)就是最忠實地反映被測對象的真實狀態(tài),它包括實時性與測量精度。同時使這些測量信號能滿足計算機輸入接口的電平要求。因此,單片機應(yīng)用系統(tǒng)中的前向通道表達(dá)了被測對象與系統(tǒng)相互聯(lián)系的信號輸入通道,原始參數(shù)輸入通道。由于在該通道中主要是傳感器與傳感器有關(guān)的信號調(diào)節(jié)、變換電路,故也可稱為傳感器接口通道。在單片機應(yīng)用系統(tǒng)中,對信號輸入、傳感、變換應(yīng)作廣義理解,例如開關(guān)量的檢測及信號輸入,在單片機的各種應(yīng)用系統(tǒng)中有著廣泛的應(yīng)用。最簡單的開關(guān)量輸入通道就是一個具有TTL電平的狀態(tài)開關(guān),如水銀溫度觸點、溫度晶閘管、時間繼電器、限位開關(guān)等。故只要反映外界狀態(tài)的信號輸入通道都可稱為前向通道。并不是所有單片機應(yīng)用系統(tǒng)都有前向通道,例如時序控制系統(tǒng),只根據(jù)系統(tǒng)內(nèi)部的時間序列來控制外部的運行狀態(tài);分布式測控系統(tǒng)中的智能控制總站完成上級主計算機與現(xiàn)場測、控子站計算機之間的指令、數(shù)據(jù)傳送。這些應(yīng)用系統(tǒng)沒有被測對象,故不需要前向通道。傳感器介紹超聲波傳感器:超聲波傳感器是利用超聲波的特性研制而成的傳感器。超聲波是一種振動頻率高于聲波的機械波,由換能晶片在電壓的鼓勵下發(fā)生振動產(chǎn)生的,它具有頻率高、波長短、繞射現(xiàn)象小,特別是方向性好、能夠成為射線而定向傳播等特點。超聲波對液體、固體的穿透本領(lǐng)很大,尤其是在陽光不透明的固體中,它可穿透幾十米的深度。超聲波碰到雜質(zhì)或分界面會產(chǎn)生顯著反射形成反射成回波,碰到活動物體能產(chǎn)生多普勒效應(yīng)。因此超聲波檢測廣泛應(yīng)用在工業(yè)、國防、生物醫(yī)學(xué)等方面。目前較為常用的是壓電式超聲波發(fā)生器。壓電式超聲波發(fā)生器原理:壓電式超聲波發(fā)生器實際上是利用壓電晶體的諧振來工作的。超聲波發(fā)生器內(nèi)部構(gòu)造如圖1所示,它有兩個壓電晶片和一個共振板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收器了。DS18B20溫度傳感器:1.DS18B20的主要特性:·獨特的單線接口只需1個接口引腳即可通信·多點能力使分布式溫度檢測應(yīng)用得以簡化·不需要外部元件·可用數(shù)據(jù)線供電·不需備份電源·測量*圍從-55℃至+125℃·以9位數(shù)字值方式讀出溫度·在1秒內(nèi)把溫度變換為數(shù)字·用戶可定義的,非易失性的溫度告警設(shè)置2.DS18B20的組成及工作原理DS18B20的引腳構(gòu)造圖如圖3-5所示。圖3-6DS18B20引腳引腳說明:引腳1 GND 地引腳2 DQ 單線運用的數(shù)據(jù)輸入/輸出引腳引腳3 VDD 電源電壓引腳。圖3-6的方框圖表示DS1820的主要部件DS1820有三個主要的數(shù)據(jù)部件:64位激光ROM、溫度靈敏元件、非易失性溫度告警觸發(fā)器TH和TL。器件從單線的通信線取得其電源,在信號線為高電平的時間周期內(nèi),把能量貯存在內(nèi)部的電容器中,在單信號線為低電平的時間期內(nèi)斷開此電源,直到信號線變?yōu)楦唠娖街匦陆由霞纳搽娙荨畴娫礊橹棺鳛?。另一種可供選擇的方法,DS1820也可用外部5V電源供電。圖3-7DS18B20的內(nèi)部構(gòu)造圖DS18B20的通訊經(jīng)過一線端口,當(dāng)ROM的工作方式還沒有建立起來時,通過該端口實現(xiàn)存儲和控制都是不可能的。開場通訊之前,主機必須首先給出ROM的工作方式命令,其工作方式有五種:讀ROM;ROM的匹配;ROM的搜索;跳躍ROM;警告搜索。這些命令都是對64位激光ROM局部的操作。如果一根總線上有多個期間存在,可通過命令選出特定的器件。當(dāng)ROM的工作方式確定后,主機便可執(zhí)行存儲和控制命令了。最中藥的控制命令就是命令DS18B20執(zhí)行溫度的測量,這個測量結(jié)果將放在DS18B20的暫存存儲器內(nèi),再用讀暫存存儲器內(nèi)容的命令將它讀出來。兩個溫度警告觸發(fā)器TH和TL皆由一字節(jié)的EEPROM組成,如果沒有向DS18B20發(fā)出警告搜索命令,這些存放器將被用作普通的存儲器。所有的被讀寫的數(shù)據(jù)都必須以有效的二進(jìn)制位開頭。在DS18B20的內(nèi)部其溫度與數(shù)據(jù)輸出的對應(yīng)關(guān)系如表3-2所示。表3-1溫度與數(shù)據(jù)輸出的對照表溫度值數(shù)字輸出/〔二進(jìn)制〕數(shù)字輸出/〔十六進(jìn)制〕+125000000001111101000FAh+2500000000001100100032h+1200000000000000010001h+000000000000000000000h-121111111111111111FFFFh-251111111111001110FFCEh-551111111110010010FF92hDS18B20利用板上專用測溫技術(shù)進(jìn)展溫度的測量,溫度數(shù)值以16位二進(jìn)制數(shù)給出,其中高八位是符號位的擴展,數(shù)字零代表正值,數(shù)字一代表負(fù)值,負(fù)的溫度值以二進(jìn)制的補碼給出,每個二進(jìn)制數(shù)的1表示溫度變化值是0.5℃.數(shù)值通過一線接口端以下9位的形式輸出,如:負(fù)值溫度-25111001110MSB(最高有效位) 〔最低有效位〕LSB=-25DS18B20的使用方法由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89C51單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的。DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開場,如果要求單總線器件回送數(shù)據(jù),在進(jìn)展寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。傳感器與CPU接口電路1.超聲波發(fā)射驅(qū)動電路本系統(tǒng)的超聲波發(fā)射驅(qū)動電路簡單可靠,如以下圖所示:圖3-5超聲波發(fā)射驅(qū)動電路系統(tǒng)中,超聲波換能器的型號為CSB40T,它將超聲波發(fā)生器提供的電信號轉(zhuǎn)換為機械振動并發(fā)射出去。40KHz的超聲波信號是利用NE555時基電路振蕩產(chǎn)生的,振蕩頻率f≈1.44/((R22+2×R23)×C21),通過R23調(diào)節(jié)信號頻率,使之與換能器的40KHz固有頻率一致。工作時,下位機通過P1.1口定時向超聲波發(fā)生電路發(fā)出控制信號,超聲波發(fā)生電路產(chǎn)生40KHz的調(diào)制脈沖,經(jīng)換能器轉(zhuǎn)換為超聲波信號向前方空間發(fā)射。2.溫度補償電路DS18B20與AT89C51的接口DS18B20的工作電源既可以采用寄生電源方式,也可引入外部電源。寄生電源的優(yōu)點是雙重的:1.利用此引腳遠(yuǎn)程溫度檢測無需本地電源;2.缺少正常電源條件下也可以讀ROM。采用寄生電源方式發(fā)生溫度變換時,在I/O線上提供一強的上拉,如圖3-7所示,通過使用一個MOSFET把I/O線直接拉到電源可到達(dá)這一點。采用寄生電源供電方式時VDD和GND端均接地。圖3-8寄生電源方式供電向DS18B20供電的另外一種方法是通過使用連接到VDD引腳的外部電源,如圖3-8所示。這種方法的優(yōu)點是在I/O線上不要求強的上拉,總線上主機不需向上連接便在溫度變換期間使線保持高電平。這就允許在變換時間內(nèi)其它數(shù)據(jù)在單線上傳送。此外,在單線總線上可以放置任何數(shù)目的DS18B20,而且如果它們都使用外部電源,則通過發(fā)出跳過ROM命令和接著發(fā)出變換T命令,可以同時完成溫度變換。注意只要外部電源處于工作狀態(tài),GND引腳不可懸空。圖3-9外接電源方式供電3.4后向通道設(shè)計后向通道的含義在工業(yè)控制系統(tǒng)中,單片機總要對控制對象實現(xiàn)操作,因此,在這樣的系統(tǒng)中,總要有后向通道。后向通道是計算機實現(xiàn)控制運算處理后,對控制對象的輸出通道接口。根據(jù)單片機的輸出和控制對象實現(xiàn)控制信號的要求,后向通道具有以下特點:〔1〕小信號輸出、大功率控制。根據(jù)目前單片機輸出功率的限制,不能輸出控制對象所要求的功率信號?!?〕是一個輸出通道。輸出伺服驅(qū)動系統(tǒng)控制信號,而伺服驅(qū)動系統(tǒng)中的狀態(tài)反響信號通常是作為檢測信號輸入前向通道?!?〕接近控制對象,環(huán)境惡劣??刂茖ο蠖酁榇蠊β仕欧?qū)動機構(gòu),電磁、機械干擾較為嚴(yán)重。但后向通道是一個輸出通道,而且輸出電平較高,不易受到直接損害。但這些干擾易從系統(tǒng)的前向通道竄入。單片機在完成控制處理后,總是以數(shù)字信號通過I/O口或數(shù)據(jù)總線送給控制對象。這些數(shù)字信號形態(tài)主要有開關(guān)量、二進(jìn)制數(shù)字量和頻率量,可直接用于開關(guān)量、數(shù)字量系統(tǒng)及頻率調(diào)制系統(tǒng),但對于一些模擬量控制系統(tǒng),則應(yīng)通過數(shù)/模轉(zhuǎn)換成模擬量控制信號。根據(jù)單片機輸出信號形態(tài)及控制對象要求,后向通道應(yīng)解決:功率驅(qū)動。將單片機輸出信號進(jìn)展功率放大,以滿足伺服驅(qū)動的功率要求。干擾防治。主要防治伺服驅(qū)動系統(tǒng)通過信號通道﹑電源以及空間電磁場對計算機系統(tǒng)的干擾。通常采用信號隔離﹑電源隔離和對功率開關(guān)實現(xiàn)過零切換等方法進(jìn)展干擾防治。數(shù)/模轉(zhuǎn)換。對于二進(jìn)制輸出的數(shù)字量采用D/A變換器;對于頻率量輸出則可以采用超聲波接收電路設(shè)計超聲波接收器包括超聲波接收探頭、信號放大電路及波形變換電路三局部。超聲波探頭必須采用與發(fā)射探頭對應(yīng)的型號,關(guān)鍵是頻率要一致,本設(shè)計采用CSB40R,否則將因無法產(chǎn)生共振而影響接收效果,甚至無法接收。由于經(jīng)探頭變換后的正弦波電信號非常弱,因此必須經(jīng)放大電路放大。正弦波信號不能直接被單片機接收,必須進(jìn)展波形變換。按照上面所討論的原理,單片機需要的只是第一個回波的時刻。接收電路的設(shè)計可采用專用接收電路,也可采用通用電路來實現(xiàn),如以下圖所示:圖3-10超聲波接收電路超聲波在空氣中傳播時,其能量的衰減與距離成正比,即距離越近信號越強,距離越遠(yuǎn)信號越弱,通常在1mV~1V之間。當(dāng)然,不同接收探頭的輸出信號強度存在差異。由于輸入信號的*圍較大,對放大電路的增益提出了兩個要求:一是放大增益要大,以適應(yīng)小信號時的需要;二是放大增益要能變化,以適應(yīng)信號變化*圍大的需要。另外,由于輸入信號為正弦波,因此必須將放大電路設(shè)計成交流放大電路。為減少負(fù)電源的使用,放大電路采用單電源供電,信號放大和變換采用了一片LM324通用運算放大器,前三級為放大器設(shè)計,后一級為比較器設(shè)計。LM324既可以雙電源工作,也可以單電源工作,因此能滿足使用要求。為滿足交流信號的需要,每一級的放大器均采用阻容電路進(jìn)展電平偏移,即圖中的C7、C21、C22和C24,容量均為10μF,實現(xiàn)單電源條件下交流信號的放大。對于交流信號而言,電容為短路,因此前三級放大電路的增益均為10。距離較近時,兩級放大的增益已能夠輸出足夠強度的信號了,第三級有可能出現(xiàn)信號飽和,但距離較遠(yuǎn)時,必須采用三級放大。合理調(diào)節(jié)電位器R27,選擇比較基準(zhǔn)電壓,可使測量更加準(zhǔn)確和穩(wěn)定。3.5顯示/鍵盤接口電路設(shè)計芯片介紹HD7279A是一種管理鍵盤和LED顯示器的專用智能控制芯片。它能對8位共陰極LED顯示器或64個LED發(fā)光管進(jìn)展管理和驅(qū)動,同時能對多大8×8的鍵盤矩陣的按鍵情況進(jìn)展監(jiān)視,具有自動消抖并識別按鍵代碼的功能,從而可以提高CPU工作的效率。HD7279A和微處理器之間采用串行接口,其接口電路和外圍電路簡單,占用口線少,加之它具有較高的性能價格比,因此,在微型控制器、智能儀表、控制面板和家用電器等領(lǐng)域中日益獲得廣泛的應(yīng)用。HD7279A應(yīng)與共陰極數(shù)碼管連接。實際應(yīng)用中8只下拉電阻和8只鍵盤連接位選線DIG0~DIG7的8只電阻應(yīng)遵從一定的比例關(guān)系,下拉電阻應(yīng)大于位選電阻的5倍而小于其50倍,典型值為10倍。在不影響顯示的前提下,下拉電阻應(yīng)盡可能地取較小的值,這樣可以提高鍵盤局部的抗干擾能力。HD7279A需要一個外接的RC震蕩電路以供系統(tǒng)工作,其典型值分別為R=1.5K,C=15pF。主要特性:·串行接口,無需外圍元件可直接驅(qū)動數(shù)碼管·64鍵鍵盤控制器,內(nèi)含去抖動電路·左右移動指令·具有段尋址指令,方便控制獨立的LEDHD7279A的引腳說明圖3-11HD7279A引腳圖由圖3-11可以看出,HD7279A共有28個引腳?!C:外接震蕩元件連接端·RESET:復(fù)位端·DIG0~DIG7:數(shù)碼管的位驅(qū)動輸出端·SA~SG:數(shù)碼管的A段~G段的輸出端·DP:小數(shù)點輸出端·CS:片選信號·DATA:串行數(shù)據(jù)輸入/輸出端·CLK:數(shù)據(jù)串行傳送的同步時鐘輸入端·KEY:按鍵信號輸出端鍵盤顯示電路如圖3-12所示電路圖,HD7279A與單片機的連接僅需4根線:片選線CS、串行時鐘線CLK、串行數(shù)據(jù)線DATA、鍵盤申請線KEY,分別與AT89C51的P1.0、P1.2、圖3-12鍵盤/顯示接口電路P1.3、P1.4口相連。顯示電路由4個共陰極LED數(shù)碼管組成。4個LED數(shù)碼管用于顯示溫度和濕度,前兩位顯示溫度的十位和個位,后兩位顯示濕度的十位和個位。3.6通信接口由于PC機的通信口為RS-232電平標(biāo)準(zhǔn),而單片機則是TTL電平,所以要實現(xiàn)單片機與PC機串行通信,就需采用MA*232將TTL電平轉(zhuǎn)換為RS-232電平。電路中串入了美國電子工業(yè)協(xié)會制定的RS-232-C標(biāo)準(zhǔn)串行通訊接口。串行通信是指外設(shè)和計算機間使用一根數(shù)據(jù)信號線,數(shù)據(jù)在一根數(shù)據(jù)信號線上一位一位地進(jìn)展傳輸,每一位數(shù)據(jù)都占據(jù)一個固定的時間長度。這種通信方式的優(yōu)點是傳輸線少,配線簡單,本錢低。RS-232-C通常以9個引腳〔DB-9〕或是25個引腳〔DB-25〕的型態(tài)出現(xiàn)。它的標(biāo)準(zhǔn)接口有25條線:4條數(shù)據(jù)線、11條控制線、3條定時線、7條備用和未定義線,常用的只有3~9根。在RS-232-C中任何一條信號線的電壓均為負(fù)邏輯關(guān)系。即要求接收器能識別低至+3V的信號作為邏輯“0”,高到-3V的信號作為邏輯“1圖3-13RS232與單片機連接圖RS232與單片機連接圖如3-13所示,單片機的T*D和R*D引腳分別與T2IN和R2OUT相連接。3.7系統(tǒng)電源電路設(shè)計系統(tǒng)電源局部采用單相全波整流電路,最常用的是單相橋式整流電路。單相橋式整流電路由四只二極管組成,其構(gòu)成原則就是保證在變壓器副邊電壓u2的整個周期內(nèi),負(fù)載上的電壓和電流方向始終不變,假設(shè)想到達(dá)這一目的,就要在u2的正,負(fù)半周內(nèi)正確引導(dǎo)流向負(fù)載的電流,使其方向不變。由于本設(shè)計采用+12v電源作為主電源,所以需要經(jīng)過變換才能得到所需的+5V,-5V,的電源。系統(tǒng)電源電路的工作原理如下〔以+5V為例〕:電源電路由輸入變換電路和穩(wěn)壓電路組成,輸入變換電路由降壓變壓器,整流橋,濾波電容組成;穩(wěn)壓電路由三端穩(wěn)壓集成電路和電容器組成。220V的交流電壓經(jīng)過降壓變壓器得到9V的交流電壓,9V交流電壓經(jīng)單相橋式整流電路,得到如以下圖1所示的整流波形,整流后的電壓再經(jīng)電容濾波,濾去雜波和交流成分,之后經(jīng)LM7805三端穩(wěn)壓集成電路和電容器得到+5V電壓。圖3-14整流后的電壓波形注意:在實際應(yīng)用中,應(yīng)在三端集成穩(wěn)壓電路上安裝足夠大的散熱器〔當(dāng)然小功率的條件下不用〕。當(dāng)穩(wěn)壓管溫度過高時,穩(wěn)壓性能將變差,甚至損壞。當(dāng)制作中需要一個能輸出1.5A以上電流的穩(wěn)壓電源,通常采用幾塊三端穩(wěn)壓電路并聯(lián)起來,使其最大輸出電流為N個1.5A,但應(yīng)用時需注意:并聯(lián)使用的集成穩(wěn)壓電路應(yīng)采用同一廠家、同一批號的產(chǎn)品,以保證參數(shù)的一致。另外在輸出電流上留有一定的余量,以防止個別集成穩(wěn)壓電路失效時導(dǎo)致其他電路的連鎖燒毀。圖3-15電源電路3.8小結(jié)本章首先介紹了利用溫度補償進(jìn)展液面測距系統(tǒng)的系統(tǒng)組成。并分別對溫度檢測電路,超聲波發(fā)射及控制電路,超聲波承受及信號處理電路,HD7279A鍵盤顯示電路,微處理器及其輔助電路,系統(tǒng)電源以及RS-232通信接口電路7個局部的硬件電路進(jìn)展詳細(xì)的論述分析。第四章系統(tǒng)軟件設(shè)計4.1液面測距系統(tǒng)的軟件規(guī)劃液面測距系統(tǒng)的程序主要包括以下功能模塊:主模塊,分為系統(tǒng)的初始化,按鍵處理及各子程序的調(diào)度管理等局部;基于HD7279A的顯示模塊,分為HD7279A初始化程序,寫入子程序及顯示子程序等局部;DS18B20溫度傳感器接口模塊,分為初始化子程序,寫入子程序及讀取子程序等局部;溫度補償及距離計算模塊,分為超聲波發(fā)射控制程序,承受處理子程序,溫度補償子程序及距離計算子程序等局部;圖4-1各程序模塊功能及相互關(guān)系4.2距離計算及其程序?qū)崿F(xiàn)距離計算程序設(shè)計中涉及到溫度補償問題,聲速計算問題,數(shù)制轉(zhuǎn)換〔十六進(jìn)制轉(zhuǎn)換為BCD碼〕與數(shù)據(jù)標(biāo)定問題,以及多進(jìn)位制數(shù)大小比較問題等。而由于數(shù)大小比較問題相比照擬簡單,且作為通用程序可在很多資料上獲得,因此不作為重點介紹,以下主要討論溫度補償、數(shù)制轉(zhuǎn)換與數(shù)據(jù)標(biāo)定處理及距離計算等問題。主程序設(shè)計本設(shè)計的主程序的構(gòu)建的主要原則如下:1.溫度顯示在先,為兩位整數(shù),距離顯示在后,為四位整數(shù),單位為mm;2.溫度每1s采樣一次,距離每10ms采樣一次。10ms時基定時器0定時中斷產(chǎn)生。因為DS18B20在12位轉(zhuǎn)換精度下的轉(zhuǎn)換周期為750ms,取1s滿足該速度要求;3.鍵盤S0-S9分別表示0-9這10個數(shù)字,S14、S15的功能為設(shè)定和啟動。4.沒有使用看門狗功能;5.系統(tǒng)采用AT89C51的內(nèi)時鐘;6.超聲波發(fā)生在一定的時間延遲后才啟動定時器1計數(shù),防止發(fā)射的超聲波被接頭接收誤判為反射波,定時器1采用查詢工作方式。以下圖為圖4-2主程序流程圖:溫度補償溫度補償是在求取聲速過程中的一個必要環(huán)節(jié),因為將它結(jié)合在聲速求取子程序中加以闡釋。為簡化設(shè)計,采用查表進(jìn)展溫度補償,其主要目的是為了避開復(fù)雜的浮點計算,在基于微處理器的系統(tǒng)中通??梢詫⒏↑c運算改為定點運算。查表法的前提是,必須事先得到溫度與聲速的二維關(guān)系表,表格的密度可根據(jù)精度的要求和微處理器資源的分配來決定。由于表格中的典型溫度為23,而表格中與之最相近的特征溫度為20和30,對應(yīng)的聲速分別為344和349,即溫度變化10,聲速變化5,也即每升高2度聲速加1,于是進(jìn)展最簡便的線性插補得到聲速為345。圖4-3溫度補償子程序距離計算距離計算程序設(shè)計的關(guān)鍵在于根據(jù)溫度值進(jìn)展聲速的溫度補償,得到聲速,以及超聲波的發(fā)送與接收的時間差的獲取。溫度補償以及聲速計算已經(jīng)在上面進(jìn)展了介紹,時間差的獲取則是通過定時器1的計數(shù)實現(xiàn)的,即在發(fā)射后啟動該定時器的計算對象為機器周期,其折合為時間還必須乘以機器周期,考慮到運算復(fù)雜性和為常數(shù)的特點,該乘法運算已在聲速的溫度補償過程中事先進(jìn)展,不需要在程序中進(jìn)展處理了。4.3DS18B20的接口程序設(shè)計DS18B20的一線工作協(xié)議流程式,初始化→ROM→數(shù)據(jù)傳輸。其工作時序包括:初始化程序,寫時序和讀時序。每種工作時序都有相應(yīng)的要求。DS18B20的初始化DS18B20初始化的實質(zhì)是使DS18B20復(fù)位,主要是通過判斷存在脈沖的形式來實現(xiàn)的。首先,主機發(fā)復(fù)位脈沖,即寬度*圍為480μs≤t≤960μs的負(fù)脈沖,拉高10-90μs以延時等待,然后通過輸入/輸出線讀存在脈沖,為低則說明存在,復(fù)位成功;否則說明不存在,復(fù)位失敗,必須對DS18B20重新初始化。字節(jié)寫DS18B20程序字節(jié)寫的時序是拉低輸入輸出線至少15μs以作為其始信號,按從低位到高位順序取出欲寫字節(jié)中的1位數(shù)據(jù),寫入輸入/輸出線拉高作為停頓信號,以等待下一位的寫入。字節(jié)寫DS18B20的程序設(shè)計只要嚴(yán)格按照上述時序即可。字節(jié)讀DS18B20程序字節(jié)讀DS18B20的程序設(shè)計思想是:16位數(shù)據(jù)同樣也是從低位到高位被逐一讀出存儲的。而且,由于讀出的溫度值是補碼形式,在使用前必須進(jìn)展補碼轉(zhuǎn)換。圖4-4DS18B20初始化程序圖4-5DS18B20寫入子程序圖4-6DS18B20讀子程序4.4其他程序流程圖圖4-7中斷效勞子程序圖4-8設(shè)定報警限值子程序圖4-9HD7279A寫入子程序4.5小結(jié)本章首先對超聲波測距系統(tǒng)的軟件局部進(jìn)展了規(guī)劃,然后分別對規(guī)劃后的各局部進(jìn)展設(shè)計。并對DS18B20的接口程序設(shè)計、距離計算及其程序?qū)崿F(xiàn)和主程序設(shè)計思想進(jìn)展了詳細(xì)的論述。最后畫出了系統(tǒng)主程序圖及各局部子程序的軟件流程圖。致謝致謝四年的讀書生活在這個季節(jié)即將劃上一個句號,而于我的人生卻只是一個逗號,我將面對又一次征程的開場。四年的求學(xué)生涯在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文即將付梓之際,思緒萬千,心情久久不能平靜。偉人、名人為我所崇拜,可是我更急迫地要把我的敬意和贊美獻(xiàn)給一位平凡的人,我的導(dǎo)師,金晉教師,我不是您最出色的學(xué)生,而您卻是我最尊敬的教師。您治學(xué)嚴(yán)謹(jǐn),學(xué)識淵博,思想深邃,視野雄闊,為我營造了一種良好的精神氣氛。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅承受了全新的思想觀念,樹立了宏偉的學(xué)術(shù)目標(biāo),領(lǐng)會了根本的思考方式,從論文題目的選定到論文寫作的指導(dǎo),經(jīng)由您悉心的點撥,再經(jīng)思考后的領(lǐng)悟,常常讓我有“山重水復(fù)疑無路,柳暗花明又一村〞的感覺。我也要特別感謝我的同學(xué)*再興,*偉,楊雪,李麗鋒,*衛(wèi)華以及508寢室所有的室友們,沒有你們大家的幫助,我不可能如此順利的完成論文,希望今后在人生的旅途中,大家繼續(xù)互相扶持,雖然即將別離,但是未來的每一次與你們相遇都會讓我充滿期待。感謝我的爸爸媽媽,焉得諼草,言樹之背,養(yǎng)育之恩,無以回報,你們永遠(yuǎn)**快樂是我最大的心愿。在論文即將完成之際,我的心情無法平靜,從開場進(jìn)入課題到論文的順利完成,又有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請承受我誠摯謝意!同時也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計的環(huán)境。最后再一次感謝所有在畢業(yè)設(shè)計中曾經(jīng)幫助過我的良師益友和同學(xué)!*青釗附錄1:程序清單*中斷入口程序*ORG0000HLJMPSTARTORG0003HLJMPPINT0ORG000BHLJMPINTT0ORG0013HRETIORG001BHLJMPINTT1ORG0023HRETIORG002BHRETI*主程序*START:MOVSP,*4FHMOVR0,*40H;40~43H為顯示數(shù)據(jù)存放單元〔40為最高位〕MOVR7,*0BHCLEARDISP:MOVR0,*00HINCR0DJNZR7,CLEARDISPMOV20H,*00HMOVTMOD,*21H;T1為8位自動重裝模式,T0為16位定時器MOVTH0,*00H;65ms初值MOVTL0,*00H;40KHz初值MOVTH1,*0F2HMOVTL1,*0F2HMOVP0,*0FFHMOVP1,*0FFHMOVP2,*0FFHMOVP3,*0FFHMOVR4,*04H;超聲波脈沖個數(shù)控制〔為賦值的一半〕SETBP*0SETBET0STEBEACLR00HSETBTR0;開啟測距定時器START1:LCALLDISPLAYJNB00H,START1;收到反射信號時標(biāo)志位為1CLREALCALLWORK;計算距離子程序SETBEACLR00HSETBTR0;重新開啟測距定時器MOVR2,*64H;測量間隔控制〔約4*100=400ms〕LOOP:LCALLDISPLAYDJNZR2,LOOPSJMPSTART1*中斷程序*;T0中斷,65ms中斷一次INTT0:CLREACLRTR0MOVTH0,*00HMOVTL0,*00HSETBET1SETBEASETBTR0;啟動計時器T0,用以計算超聲波來回時間SETBTR1;開啟發(fā)超聲波用定時器T1OUT:RETI;T1中斷,發(fā)超聲波用INTT1:CPLVOUTDJNZR4,RETIOUTCLRTR1;超聲波發(fā)送完畢,關(guān)T1CLRET1MOVR4,*04HSETBE*0;開啟接收回波中斷RETIOUT:RETI;外中斷0,收到回波時進(jìn)入PINT0:CLRTR0;關(guān)計數(shù)器CLRTR1CLRET1CLREACLRE*0MOV44H,TL0;將計數(shù)值移入處理單元MOV45H,TH0SETB00H;接收成功標(biāo)志RETI*延時程序*DL1MS:MOVR6,*14HDL1:MOVR7,*19HDL2:DJNZR6,DL2DJNZR6,DL1RET*顯示程序*;40H為最高位,43H為最低位,先掃描高位DISPLAY:MOVR1,*40H;GMOVR5,*0F7H;GPLAY:MOVA,R5MOVP0,*0FFHMOVP2,AMOVA,R1MOVDPTR,*TABMOVCA,A+DPTRMOVP0,ALCALLDLIMSINCR1MOVA,R5JNBACC.0,ENDOUT;GRRAMOVR5,AAJMPPLAYENDOUT:MOVP2,*0FFHMOVP0,*0FFHRETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH;共陽數(shù)碼管0,1,2,3,4,5,6,7,8,9,不亮,A,*距離計算程序(=計算值×17/1000cm)近似WORK:PUSHACCPUSHPSWPUSHBMOVPSW,*18HMOVR3,45HMOVR2,44HMOVR1,*00DMOVR0,*17DLCALLMUL2BY2MOVR3,*03HMOVR2,*0E8HLCALLDIV4BY2LCALLDIV4BY2MOV40H,R4MOVA,40HJNZJJ0MOV40H,*0AH;最高位為0,不點亮JJ0:MOVAR0MOVR4,AMOVAR1MOVR5,AMOVR3,*00DMOVR2,*100DLCALLDIV4BY2MOV41H,R4MOVA,41HJNZJJ1MOVA,40H;此高位為0,先看最高位是否為不亮SUBBA,*0AHJNZJJ1MOV41H,*0AH;最高位不亮,次高位也不亮JJ1:MOVA,R0MOVR4,AMOVA,R1MOVR5,AMOVR3,*00DMOVR2,*10DLCALLDIV4BY2MOV42H,R4MOVA42HJNZJJ2MOVA,41H;次高位為0,先看次高位是否為不亮SUBBA,*0AHJNZJJ2MOV42H,*0AH;次高位不亮,次高位也不亮JJ2:MOV43H,R0POPBPOPPSWPOPACCRET*兩字節(jié)無符號數(shù)乘法程序MUL2BY2:CLRAMOVR7,AMOVR6,AMOVR5,AMOVR4,AMOV46H,*10HMULLOOP1:CLRCMOVA,R4RLCAMOVR4,AMOVA,R5RLCAMOVR5,AMOVA,R6RLCAMOVR6,AMOVA,R7RLCAMOVR7,AMOVA,R0RLCAMOVR0,AMOVA,R1RLCAMOVR1,AJNCMULLOOP2MOVA,R4ADDA,R2MOVR4,AMOVA,R5ADDCA,R3MOVR5,AMOVA,R6ADDCA,*00HMOVR6,AMOVA,R7ADDCA,*00HMOVR7,AMULLOOP2:DJNZ46H,MULLOOP1RET*四字節(jié)/兩字節(jié)無符號數(shù)除法程序*DIV4BY2:MOV46H,*20HMOVR0,*00HMOVR1,*00HDIVLOOP1:MOVA,R4RLCAMOVR4,AMOVA,R5RLCAMOVR5,AMOVA,R6RLCAMOVR6,AMOVA,R7RLCAMOVR7,AMOVA,R0RLCAMOVR0,AM

溫馨提示

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

評論

0/150

提交評論