基于超聲波的液位測距系統設計畢業(yè)設計論文.doc_第1頁
基于超聲波的液位測距系統設計畢業(yè)設計論文.doc_第2頁
基于超聲波的液位測距系統設計畢業(yè)設計論文.doc_第3頁
基于超聲波的液位測距系統設計畢業(yè)設計論文.doc_第4頁
基于超聲波的液位測距系統設計畢業(yè)設計論文.doc_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘 要本文是利用超聲波測距的原理而設計的一種液位測距系統。該系統采用STC12C5A08S2單片機為核心控制器,并為超生測距模塊提供觸發(fā)控制信號,在發(fā)射超聲波的同時,啟動單片機的內部定時器開始計時,超聲波在空氣中傳播遇到障礙物后反射回波,超聲波接收電路檢測到回波信號時停止計時,則根據公式:S=Vt/2 即可計算出液位距離。文中設計的系統著重解決了超聲波測距的時間計算和溫度補償問題。其中通過溫度傳感器將溫度值采集到單片機中,經過一定的數值修正即可得到當時溫度值下的超聲波傳播速度V。本文采用了硬件和軟件相結合的設計方法,在軟件方面,采用了匯編語言進行程序編寫。在數據處理上充分利用匯編語言的查表優(yōu)勢,建立了速度修正值表和數碼管顯示值表,可以便捷、明了地進行數據處理和顯示。關鍵詞: 超聲波測距 STC12C5A08S2 溫度補償 液位測距系統 Title Design of liquid level based on ultrasonic distance measurement systemAbstractThis article designs a liquid level measurement system which is based on the principle of ultrasonic distance measurement. The system takes STC12C5A08S2 as the core of the system controller. The SCM provides control signals for ultrasonic distance measurement modules, and starts the monolithic integrated circuit internal timer to work while emitting ultrasonic. Ultrasonic reflection echo after the communication obstacles in the air, and the SCM stops timing when the echo signal is detected by the ultrasonic receiver. According to the formula: S=Vt/2, the liquid level distance is calculated. The system is designed to focus on the time and temperature compensation of ultrasonic distance measurement. The temperature value is collected in the SCM through the temperature sensor, undergoing a certain numerical correction to get the ultrasonic wave propagation velocity under the temperature. This article uses a combination of hardware and software design. In software, we use assembly language to program. Full use of Assembly language reference table advantages in data processing, we established the speed correction table and the digital display values table which can be convenient and clear for data processing and display. Keywords:Ultrasonic distance-measuring; STC12C5A08S2; Temperature compensation; Liquid level measurement system 目 錄1 引言11.1 測距在工業(yè)方面的應用11.2 現有的測距方法及其優(yōu)缺點11.3 超聲波測距的原理及優(yōu)點21.4 課題研究的意義22 總體方案論證22.1 系統方案簡化32.2 系統軟件設計說明43 系統硬件電路設計43.1 HCSR04超聲波測距模塊簡介43.2 單片機的選型(STC12C5A08S2)63.3 顯示電路的設計93.4 溫度傳感器的選型104 系統軟件設計114.1 主程序設計124.2 子程序設計134.3 數碼管顯示程序185 系統調試與分析19結 論21致 謝22參考文獻23附錄A 匯編程序清單24圖 一 系統完整電氣原理圖26III1 引言1.1 測距在工業(yè)方面的應用在現代工業(yè)現場,測距技術的應用可以說是無處不在。在水利水電、污水處理領域,利用測距技術可對水面高度實現實時監(jiān)測。在冶金、物料液位、管道等不宜直接接觸的場合,非接觸式測量技術發(fā)揮了重要作用。激光測距技術作為非接觸式測量技術的一種,可以實現對工業(yè)生產線上的物料傳送定位、電梯的運行監(jiān)測、移動機器人的測距定位等。在車載導航、石油、化工等領域,超聲波測距技術都得到了廣泛的應用。1.2 現有的測距方法及其優(yōu)缺點最早的測距技術大多是基于機械傳動工作原理的測距,隨著工業(yè)控制的需求,慢慢過渡到機電一體化式測距,而隨著系統集成性的需要正朝著智能式測距發(fā)展。其中作為機械式測距技術的代表,機械鋼帶式液位計優(yōu)點是結構簡單、價格低廉,但是機械傳動部件較多,安裝、維護比較困難,且只限于測液位。非接觸式測距技術因其獨特的優(yōu)勢已經廣泛應用于工業(yè)現場控制?,F在典型的非接觸測距方法有雷達探測、激光探測、CCD探測和超聲波測距等方法。其中激光具有穿透力強、強度高等特點適合在惡劣天氣如大霧天或遠距離測距系統中使用,成本較高。而CCD測距不需要信號發(fā)射器,主要利用光電耦合器將光信號轉化為電信號,所得模擬信號經A/D轉換電路后轉化為便于處理的數字信號。全過程需要采集大量的信息,計算量大。相比之下,超聲波測距因其獨特的優(yōu)勢適合短距離的測距系統,特別是在工業(yè)現場不易人們直接接觸的場合發(fā)揮了很大的作用。超聲波主要應用于車輛導航、物料定位、建筑工地以及空氣中和水下目標的探測、定位等場合。從上世紀八十年代開始,國外就開始利用微電子技術和計算機等高科技成果,帶動液位測量技術的發(fā)展。就目前為止,工業(yè)中運用的液位測量方式就有幾十種,比如常見的有壓電式、應變式、電容式等。這些方法同早期的機械測量相比,運用比較簡單,但大都采用了如壓力值、電氣量等中間量來反映液位值,增加了測量誤差。而超聲波測距卻可實現精確測距,改善了系統的精度。因此,無論是工業(yè)現場控制,還是人們的日常生活中,超聲波的應用已經很成熟。1.3 超聲波測距的原理及優(yōu)點超聲波測距模塊主要有超聲波發(fā)射和接受兩部分,給定的觸發(fā)信號經過放大電路放大后產生超聲波,并開啟定時/計數器計時;當超聲波在傳播途中遇到障礙物后反射回波,測距模塊接收電路檢測到反射回波時就停止計時。通過查表獲取聲速在當時溫度的修正值V,從定時/計數器中獲取傳播時間t,即可根據公式S=Vt/2計算出測試點到障礙物之間的距離S。由于超聲波在空氣中的方向感很強,探測距離很遠,基于超生波的測距被廣泛應用,而且其數據處理比較簡單,利用軟件編程即可實現計算機實時控制,通過溫度補償更是可以大大提高測量精度,基本上可以滿足工業(yè)現場控制要求。超聲波液位測量采用高速高性能的單片機為微控制器不僅能夠實現定點連續(xù)測量液位,還可以提供需要的信號進行遠距離控制。與價格昂貴、系統復雜的激光測量系統相比,超聲波測距成本較低、系統可靠性高。應用于工業(yè)現場的超聲波測距系統大多沒有復雜的傳動、運動部件,安裝、維護時比較方便,尤其是在氣體或液體中測量時超聲波測距系統性能表現出較大的優(yōu)越性。比如在工業(yè)或生活污水處理現場中,超聲波測距技術就得到了很好的應用。1.4 課題研究的意義在石油、化工、渠道、污水處理等領域的過程控制當中,經常要對管道、倉儲進行液位的實時監(jiān)測。尤其是在石油、化工和污水處理等領域,工業(yè)現場的環(huán)境很惡劣,若采用接觸式測量,則各種腐蝕性液體、氣體等會損壞傳感器探頭而影響測量精度和可靠性。在這種環(huán)境下,非接觸式測量成為人們的首選,而超聲波測距因為系統可靠性高、不易受環(huán)境因素(如磁場、腐蝕性氣體或液體等)影響,能夠滿足一般工業(yè)精度要求,得到了很廣泛的應用和發(fā)展。隨著技術的發(fā)展和需要,新型的、智能化超聲波測距逐漸得到應用,因此,通過超聲波液位測距系統設計,掌握超聲波測距原理的應用及液位測距系統硬件電路的設計,通過編程實現液位測距功能,可以讓我們更加熟悉一個系統設計的流程及應具備的基本知識,提高我們的實戰(zhàn)能力和經驗。2 總體方案論證文中利用超聲波測距的原理設計了一套液位測距系統。利用超聲波在空氣中傳播遇到障礙物后反射回波,并通過回波接收電路檢測回波信號,用t表示超聲波從發(fā)出到檢測到回波信號的時間,V為超聲波在空氣中的傳播速度,則可計算出液位的距離S=Vt/2。采用硬件設計和軟件設計相結合的方式,選用單片機為微控制器,超聲波發(fā)射和接收器分別通過相應電路與單片機相連,這樣就可以通過單片機來控制超聲波的發(fā)射和接收,并利用單片機的內部定時器/計數器計算超聲波的傳輸時間t。對于超聲波的傳播速度V的溫度補償問題,可以通過溫度傳感器與單片機連接,實時測得溫度值并通過公式V=331.5+0.607T來修正速度V13。文中設計系統的控制框圖(如圖2.1)。 圖2.1 系統控制結構框圖2.1 系統方案簡化為了系統設計的簡單化,在超聲波發(fā)射和接受這塊進行了簡化,經過比較和文獻資料的查閱,選用HCSR04超聲波測距集成模塊代替復雜的超聲波發(fā)射、接收和檢波電路,這樣系統控制就簡單的多。只需要單片機提供一定的電平觸發(fā)信號,HCSR04模塊就會自動發(fā)射、接收和檢測回波信號。簡化后的系統控制框圖(如圖2.2)。圖2.2 系統控制結構簡化框圖2.2 系統軟件設計說明系統的軟件部分是使用keil軟件編程,程序采用匯編語言編寫。充分利用匯編語言查表的優(yōu)勢,在程序中建立了超聲波傳播速度修正值表和4位共陰數碼管顯示值表,從而大大簡化了數據處理和顯示。單片機通過P1.3、和P1.4口控制超聲波測距模塊的觸發(fā)和接收回波信號。對于超聲波傳播時間t的計算,利用單片機的內部定時器/計數器通過軟件編程來實現。在發(fā)射超聲波的同時啟動定時器T0,當接收到回波信號時關閉T0停止計數。事先設置單片機工作頻率為11.0592MHz,則計數一次代表1US。最終的速度計算結果通過P0口輸給數碼管顯示部分。數碼管的選通與控制是通過P2口經74HC138譯碼器來實現。3 系統硬件電路設計該超聲波液位測距系統硬件電路主要有四大部分組成,主要是HCSR04超聲波測距集成模塊、溫度傳感器、單片機和數碼管顯示部分。本章將分別從這四大部分進行設計和說明,包括器件的選型和模塊的電氣連接等。3.1 HCSR04超聲波測距模塊簡介HCSR04超聲波測距模塊主要包括超聲波發(fā)射器、超生波接收器和相關的控制電路。該模塊主要是利用超聲波的測距原理,適用于2cm450cm的非接觸測量。該模塊有4個引腳,分別是VCC、Trig、Echo、GND,實物圖(如圖3.1)。其中VCC是電源端,接DC5V電源,GND是接地端,Trig為觸發(fā)控制信號的輸入端,在試驗中接單片機的P1.3口,Echo是回波信號輸出端,接單片機的P1.4端口。圖3.1 HCSR04實物圖3.1.1 HCSR04主要電氣參數介紹電氣參數HCSR04超聲波測距模塊工作電壓DC 5V工作電流15mA最遠射程450cm最近射程2cm輸入觸發(fā)信號10us的TTL脈沖輸出回響信號輸出TTL電平信號,與射程成比例 3.1.2 超聲波測距模塊工作時序圖HCSR04模塊工作時只需要單片機的P1.3口送一個不低于10us的高電平觸發(fā)信號,模塊內部會自動循環(huán)發(fā)出8個40KHz的脈沖,且模塊的回響信號輸出端會自動檢測回波信號,當檢測到回響信號時該端口會輸出一個高電平信號,該高電平信號的持續(xù)時間與檢測距離成比例。其工作時序圖(如圖3.2所示)。圖3.2 工作時序圖3.2 單片機的選型(STC12C5A08S2)作為液位測距系統的核心控制部分,單片機擔負著給HCSR04超聲波測距模塊發(fā)送觸發(fā)信號和超聲波的傳輸時間計時、溫度值采集、距離計算及結果輸出等功能。經過資料的查閱和對比,最終選擇價格便宜、性能穩(wěn)定、低功耗的STC12C5A08S2單片機。選擇該型號單片機的另一個重要因素是在導師的實驗室有許多現成的該型號單片機,這樣就節(jié)省了系統設計的額外成本。3.2.1 STC12C5A08S2簡介STC12C5A08S2是STC公司生產的一種單片機,是增強型8051單片機的一種,兼容傳統51單片機的指令系統。STC12C5A08S2采用雙列直插式封裝共40管腳,有8K的Flash存儲空間,兩個16位的定時器T0、T1。以下是STC12C5A08S2單片機的引腳功能圖3.3及相關介紹。圖3.3 STC12C5A08S2單片機管腳圖(1) 電源端:40管腳是VCC端,連接供電電源+5V。20管腳是GND端,工作時接地。(2) 時鐘電路端XTAL2和XTAL1引腳:XTAL1是內部時鐘電路反相放大器輸入端,接外部晶振的一個引腳。當直接使用外部是時鐘電源時,XTAL1作為外部時鐘源的輸入端(STC12C5A08S2應用技術手冊)。XTAL2則是內部時鐘電路反相放大器的輸出端,和外部晶振的另一端相連,當直接使用外部時鐘電源時,此引腳可懸空,此時XTAL2實際將XTAL1輸入的時鐘進行輸出(STC12C5A08S2應用技術手冊)。(3) 串口部分:在此著重介紹在系統設計中用到的P0、P1、P2口相關串口。P0.0P0.7P0口可以作為標準的8位輸入/輸出口,此時內部有弱上拉電阻而無需外接上拉電阻。P0口也可以分時作為數據/地址復用總線。在本系統中P0口用作數據輸出口,對應數據的AD0-AD7。P1.0P1.7P1口是8位標準的I/O口,部分管腳有擴展功能。在本系統中利用P1.7口連接溫度傳感器的信號輸入端。P2.0P2.7P2口內部也有弱上拉電阻,可以作為輸入/輸出口,也可以作為8位地址總線使用。在本系統設計中,就是利用P2.0、P2.1、P2.2分別連接74HC138地址譯碼器的A、B、C端進行地址的擴展和選通。3.2.2 單片機最小應用系統一個單片機的最小應用系統包涵如下幾個部分:工作電源、接地、復位電路、晶振電路等。該系統中單片機的所用晶振為11.0592MHz,因此只需利用STC12C5A08S2單片機的第一復位功能鍵即可。當系統工作頻率大于12MHz時需采用STC12C5A08S2的第二復位功能鍵,在此不做詳細介紹。至于晶振電路部分,采用的是可以更換晶振的電路設計,在本系統中所采用晶振頻率為12MHz。STC12C5A08S2單片機的最小應用系統的電路圖(如圖3.4)。圖3.4 STC12C5A08S2單片機最小應用系統電路圖3.3 顯示電路的設計系統的顯示采用的數碼管顯示電路,測量的距離結果用4位共陰極的數碼管顯示。數碼管的a、b、c、d、e、f、g、dp分別對應一個發(fā)光二級管,其中dp代表小數點。每個數碼管都有一個公共的外部選通端COM,當選擇共陰極連接時,8個發(fā)光二級管的陰極都連接到COM端。在系統中,單片機的P0.0P0.7口分別對應連接每個數碼管的a、b、c、d、e、f、g、dp的陽極,當相應P0口輸出高電平時相應的發(fā)光二級管就會亮,從而顯示出對應的數值。在利用單片機的數碼管顯示時有兩種顯示方式可選,即數碼管的動態(tài)顯示和靜態(tài)顯示。而本系統主要采用的是動態(tài)顯示的方式。相比較與數碼管的靜態(tài)顯示,采用動態(tài)顯示可以省掉繁瑣的電路連接,可以直接通過74HC138譯碼器分別與相應數碼管的公共端COM相連,再利用人的視覺差逐個選通每個數碼管顯示相應數字,這樣動態(tài)的掃描顯示,在人眼看來就會是連續(xù)的穩(wěn)定顯示了。顯示模塊的電路圖(如圖3.5)。圖3.5 數碼管顯示電路原理圖3.4 溫度傳感器的選型溫度值的多少直接影響超聲波的傳播速度V的值,能夠實時準確地采集溫度值就可以解決超聲波測距中的溫度補償問題。所以選擇合適的溫度傳感器可以使系統的硬件電路更簡單化,從而提高測距系統的性能穩(wěn)定性。3.4.1 溫度傳感器的類型及特點人們對溫度傳感器的研究和應用起步較早,現在技術已經相當成熟。在不同的工業(yè)應用場合會有不同工作原理的傳感器的應用。溫度傳感器大致有如下幾個類型:熱電阻式傳感器、熱電偶式傳感器、半導體集成模擬溫度傳感器、半導體集成數字溫度傳感器等幾種。熱電阻式溫度傳感器:其工作原理是利用導體或半導體的的電阻值隨溫度變化而變化的特性來測量溫度的9。主要特點是測量精度高,響應速度快,性能穩(wěn)定。但是線路電阻的變化會導致溫度測量的偏差,需要額外的補償電路來消除偏差。熱電偶式溫度傳感器:其主要是基于熱電效應原理來工作的,具有測量范圍廣、精度高、結構簡單、使用方便等優(yōu)點9。半導體集成模擬溫度傳感器:利用晶體二極管或三極管PN結的結電壓隨溫度變化的原理來工作的,主要優(yōu)點是具有較好的線性度,而且反應很靈敏,測溫范圍也很廣,可以測到-50-150C9。無論是上述哪種原理的溫度傳感器,其主要都是將溫度信號轉化為可以測量的電信號,再經過相應的信號放大電路放大到合適值范圍,再經A/D轉換將測量信號轉化為數字量顯示出來。與這些溫度傳感器相比,半導體集成數字傳感器因自帶A/D轉換部分而是應用電路設計更趨簡單。目前DS18B20數字式溫度傳感器是應用最廣泛的數字式傳感器之一。3.4.2 數字式DS18B20溫度傳感器簡介DS18B20溫度傳感器是美國DALLAS半導體公司推出的一種改進型智能溫度傳感器。DS18B20溫度傳感器使用比較方便,可以直接從讀出數字溫度值,并且可根據實際應用的需要通過簡單的編程實現912位的數字值讀數方式6。DS18B20只有3個管腳:1電源線,2信號線,3接地線。它的通信只需單根信號線聯結。在本設計系統中它的信號通信端跟單片機的P1.7口相連,其接線圖如下圖3.6所示。圖3.6 溫度傳感器連線圖4 系統軟件設計本系統軟件部分設計包括主程序、子程序(時間計算、速度計算)和顯示子程序組成。編程語言選擇的是匯編語言,能夠做到直接控制硬件電路,且能精確計算程序運行時間。在數據處理上雖不能做到高精度,但充分利用了匯編語言編程的易于查表的優(yōu)勢,建立了時間值和速度修正值表,并且在編程時做了一定的簡化處理,旨在重點掌握系統的工作原理及控制流程。4.1 主程序設計主程序先是對單片機環(huán)境的初始化,設置定時器T0的工作方式為16位的計數器模式,并對其做清零處理。接著就是對顯示單元清零,即對輸出P0口清零;然后調用聲速V修正值子程序得到超聲波傳播速度后調用距離計算子程序計算距離S;最后是顯示子程序的調用。輸出顯示結果后延時一段時間再次重啟超聲波測距模塊進行下次測量。主程序流程圖如圖4.1所示。圖4.1 主程序流程圖4.2 子程序設計4.2.1 溫度采集程序設計單片機上電復位后,需對傳感器DS18B20執(zhí)行復位命令并開始采集溫度數值。其工作流程大致如下:上電啟動后通過單片機初始化DS18B20,然后檢測設備是否存在,若存在則發(fā)送ROM命令,然后發(fā)送溫度轉換命令獲取溫度值。溫度采集程序流程圖如下圖4.2所示。圖 4.2 溫度采集程序流程圖主要程序如下:DQ BIT P1.7 ;DS18B20的數據口位P1.7TPH DATA 20H ;存放溫度值的高字節(jié)TPL DATA 21H ;存放溫度值的低字節(jié) ORG 0 JMP Reset ORG 100HReset:LCALL DS18B20_Reset ;設備復位 MOV A,#0CCH ;跳過ROM命令 LCALL DS18B20_WriteByte ;送出命令 MOV A,#044H ;開始轉換 LCALL DS18B20_WriteByte ;送出命令 JNB DQ,$ ;等待轉換完成 LCALL DS18B20_Reset ;設備復位 MOV A,#0CCH ;跳過ROM命令 LCALL DS18B20_WriteByte ;送出命令 MOV A,#0BEH ;讀暫存存儲器 LCALL DS18B20_WriteByte ;送出命令 LCALL DS18B20_ReadByte ;讀溫度低字節(jié) MOV TPL,A ;存儲數據 LCALL DS18B20_ReadByte ;讀溫度高字節(jié) MOV TPH,A ;存儲數據 JMP $;*DelayXus: NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R7,DelayXus RET ;*;復位DS18B20,并檢測設備是否存在;*DS18B20_Reset: CLR DQ ;送出低電平復位信號 MOV R7,#240 ;延時至少480us LCALL DelayXus MOV R7,#240 LCALL DelayXus SETB D ;釋放數據線 MOV R7,#60 ;等待60us LCALL DelayXus MOV C,DQ ;檢測存在脈沖 MOV R7,#240 ;等待設備釋放數據線 LCALL DelayXus MOV R7,#180 LCALL DelayXus JC DS18B20_Reset ;若沒有檢測到設備,則繼續(xù)等待 RET;*;從DS18B20讀1字節(jié)數據;*DS18B20_ReadByte: CLR A PUSH 0 MOV 0,#8 ;8位計數器ReadNext: CLR DQ ;開始時間片 MOV R7,#1 ;延時等待 LCALL DelayXus SETB DQ ;準備接收 MOV R7,#1 LCALL DelayXus MOV C,DQ ;讀取數據 RRC A MOV R7,#60 ;等待時間片結束 LCALL DelayXus DJNZ 0,ReadNext POP 0 RET;*;向DS18B20寫1字節(jié)數據;*DS18B20_WriteByte: PUSH 0 MOV 0,#8 ;8位計數器WriteNext: CLR DQ ;開始時間片 MOV R7,#1 ;延時等待 LCALL DelayXus RRC A ;輸出數據 MOV DQ,C MOV R7,#60 ;等待時間片結束 LCALL DelayXus SETB DQ ;準備送出下一位數據 MOV R7,#1 LCALL DelayXus DJNZ 0,WriteNext POP 0 RET END4.2.1 速度查表程序由超聲波測距的溫度補償公式V=331.5+0.607T,建立了一張溫度V的修正值表格TAB1。結合實際情況,TAB1包含了0度到40度對應的速度修正值。編程時將DS18B20采集的溫度值送到R1中,并將其作為查表偏移量進行查表,查表所得結果仍放R1中。部分程序如下:ORG 1000HSTART: MOV A,R1 MOV DPTR,#TAB1 MOVC A,A+DPTR MOV R1,ATAB1:DB 014CH,014CH,014DH,014DH,014EH,014FH,014FH,0150H,0150H,0151H DB 0152H,0152H,0153H,0153H,0154H,0155H,0155H,0156H,0156H,0157H DB 0158H,0158H,0159H,0159H,015AH,015BH,015BH,015CH,015CH,015DH DB 015EH,015EH,015FH,015FH,0160H,0161H,0161H,0162H,0162H,0163H DB 0164H RET4.2.2 距離計算程序由于單片機選擇12MHz的晶振,則計數器T0沒計數一次就代表1uS,設計時取14時的聲速為340m/s,則既可計算出距離:S=(Vt)/2=(17T0/1000)cm。式子中T0是一個16位的數由TH0和TL0兩個8位組成,在程序中一個8位數和一個16位數相乘的原理如下示意圖所示,其中a、b、c都是8位無符號數。除以1000用結果右移10次來實現。具體程序如下: a b c (bc)H (bc)L (ac)H (ac)L (ac)H (bc)H+(ac)L (bc)LWORK:MOV A,TH0 MOV R7,A MOV A,TL0 MOV R6,A MOV R5,#11H MOV A,R6 MOV B,R5 MUL AB ;bc MOV R2,A ;(bc)L (R2) MOV R3,B ;(bc)H R3 MOV A,R7 MOV B,R5 MUL AB ;ac ADD A,R3 ;(bc)H+(ac)L A INC R2 MOV R2,A MOV A,B ;(ac)H A ADDC A,#00H CLR C INC R2 MOV R2,A LCALL RIGHT RET1 ;*循環(huán)右移10位子程序*RIGHT:MOV R4,#10 LOP3:MOV A,R2 RR A DEC R2 MOV A,R2 RRC A DEC R2 MOV A,R2 RRC A INC R2 INC R2 DEC R4 DJNZ R4,LOP3 RET4.3 數碼管顯示程序距離計算結果需要先轉換成相應的BCD碼再送往數碼管顯示,這個可以通過查表來實現轉換。結果的顯示采用動態(tài)掃描的方式顯示,每次通過74HC138譯碼器選通一個數碼管顯示相應的數字,再經過一定的延時掃描顯示下一位數碼管。其程序流程圖(如圖4.2)。圖4.2 數碼管顯示流程圖5 系統調試與分析系統的硬件部分包含兩大部分:HCSR04超聲波測距模塊和單片機開發(fā)板。弄清開發(fā)板上的元件電氣連接后,將STC12C5A08S2單片機芯片正確插入鎖緊插座,用四根連接線分別將HCSR04模塊的VCC和GND端接單片機的VCC和GND端,將Trig端接至單片機的P1.3口,Echo接單片機的P1.4口。HCSR04超聲波測距模塊在通電之前一定要確保接地端可靠接地,否則模塊很容易被燒壞而導致測量失敗。在可靠正確連接之后,在測量時還要盡力確保模塊水平放置,從而減小測量誤差。系統的軟件部分通過Keil軟件編寫并進行編譯,修改無誤后下載到單片機內部進行測量。圖5.1是通過相關軟件下載程序到單片機的截圖。下載成功后即可進行測距。圖5.1 下載程序到單片機中測試中選取了室溫14度時聲速為340m/s時80cm200cm之間的距離進行了驗證。將事先編譯好的程序下載到單片機,并沒有顯示預期的測量數據,這也是一般調試經常出現的狀況,經過反復幾次下載、執(zhí)行,還是沒有數據顯示。針對調試出現的問題,首先想到的是編譯程序的計算和顯示部分出現了差錯。并將整個程序進行了剪切,只保留計算和顯示模塊,并根據預期距離給定時計數器賦值,程序編譯無誤后下載到單片執(zhí)行,測試結果(如圖5.2所示),顯示結果和預期計算相符,由此推斷程序計算、顯示部分沒有錯誤。圖 5.2 計算、顯示部分調試結果圖 5.3 串口信號變化邏輯分析結果第二步:檢測調試超聲波測距模塊的觸發(fā)和響應信號。由于實驗中給超聲波測距模塊的觸發(fā)電平是高于10uS的高電平,而回響信號的持續(xù)時間經計算也只是微秒級的,因此,使用一般的萬用表是無法檢測到管腳信號變化的。經過查閱資料,選擇邏輯分析儀來檢測觸發(fā)信號即P1.3口的電平變化和回響信號即P1.4口的電平變化情況。由于邏輯分析儀每次可以抓取6S的串口電平變化情況,因此可以達到預期的檢測功能。調試結果(如圖5.3所示)。經過多次檢測,我們可以檢測到P1.3口出現了30多微秒的高電平信號,即程序給超聲波測距模塊送了觸發(fā)信號。然而P1.4口卻一直是低電平信號,即超聲波測距模塊并沒有返回回波信號,因此可以推斷導致測試失敗的原因可能是超聲波測距模塊內部觸發(fā)無法響應的問題。結 論文中設計的液位測距系統是基于STC12C5A08S2單片機為核心控制器,采用了HCSR04超聲波測距集成模塊。由單片機的P1.3口控制超聲波的發(fā)射,P1.4口控制回波信號的檢測。通過軟件給P1.3口送至少20uS的高電平即可啟動發(fā)射超聲波,檢測P1.4口的電平信號變化,P1.4口由低電平變高電平時啟動單片機T0計數器進行計數,P1.4口由高電平變低電平時停止計數。由于單片機工作頻率為11.0592MHz,則記一次數就是1uS,從而解決了超聲波傳播時間的計算問題。采用DS18B20數字溫度傳感器實時采集溫度值對聲速V進行修正,從而解決了溫度補償問題。從調試過程和調試結來果看,雖然沒有出現預期的結果顯示,但是經過了一番的排查,找到了問題的根源,鑒于調試時間的緊迫性,未能及時更換模塊解決問題,確實有些遺憾,但是通過一些列的設計,從硬件電路到軟件部分設計,再小到編程的細節(jié)問題,自己確實學到了很多。任何系統設計都或多或少存在著一定的誤差,而文中設計的液位測距系統也不例外。對于誤差的分析,相信隨著超聲波測距集成模塊的技術改進誤差會隨之減少。就本系統設計而言,由于軟件部分采用的是匯編語言編程,在時間的準確度上做到很好,但在數據處理上采用了很多的近似處理,從而給測量結果帶來了一定的誤差。針對這種情況,可以考慮采用匯編與C語言相結合來編程,充分利用兩者的優(yōu)勢來減少測量誤差。致 謝本液位測距系統設計是在我的導師吳才章教授的悉心指導下完成的。我真的很慶幸有這樣一位知識淵博、認真負責的導師。在大學最后的這幾個月的相處和溝通中,我受益匪淺。吳老師不僅給我輔導了系統設計原理和單片機的相關知識,還為我提供了很多硬件設備幫助我更好的了解系統的工作原理,對我的畢業(yè)設計有很大的幫助。此外,在吳老師的實驗室里,我還有幸掌握了一些其他設備的使用和操作方法,學到了一些吳老師所做科研項目的知識,相信這些都是我在別處無法學到的。在此我由衷的感謝吳老師的耐心指導和幫助,相信在以后的工作和學習中我會努力做到更好。此外,我要感謝我的專業(yè)課老師們,他們引導我入門并掌握基礎知識,要知道這是所有擴展的開始!我還要感謝身邊可愛的同學們和實驗室里盡職盡責的學長研究生們,尤其是我的學長王繼偉同學。他在單片機的匯編語言方面很有建樹,給了我很大的幫助和建議。從Keil軟件的入門到匯編語言的細節(jié)問題,他都給了我耐心解釋和指導。當我做完系統設計回過頭看時,我覺得我的導師吳教授、我的學長王繼偉,還有身邊其他可愛的同學們,他們給我最大的幫助不是去解決什么具體的問題,而是在于遇到問題時該如何去解決。慢慢的我開始享受著去查各種文獻資料,遇到硬件的使用時我會首先去找到相應芯片的技術手冊,去了解芯片的管腳功能及相關的擴展功能,然后我會去查閱相關的應用資料啦,去學學高手們的應用經驗嘍!我覺得不論系統設計的怎么樣,測量的精度高不高,關鍵是我們能全身心的投入到設計中去,真正弄懂系統的工作原理,自己動手去做,掌握去解決問題的方法和途徑。最后,我還要感謝各位評委老師能在百忙之中查看我的系統設計說明書。由于閱歷和經驗的不足,這次系統設計中還存在著很多的缺陷和不足。我相信您的嚴格是對我的負責,您的批評是對我的認可,您的意見是我學習改進的方向參考文獻1馬瑩,鄭文斌.基于單片機的超聲波液位檢測系統設計J.海峽科學,2007(10)2張敏,寇為剛.基于超聲波的自動測距系統設計J.自動化技術與應用,2011(04)3趙廣濤,程蔭杭.基于超聲波傳感器的測距系統設計J.微計算機信息,2006(01)4莫德舉,劉艷艷.超聲波液位測量方法的研究J.儀器儀表與分析監(jiān)測,2007(01)5卜英勇.一種高精度超聲波測距方法的研究J.鄭州大學學報,2006(27)6樓然苗,李光飛.單片機課程設計指導M.北京:北京航空航天大學出版社,2007.7 7田志宏,曹建光,劉秀紅.超聲波傳感器在電動輪椅車上的應用研究J.傳感技術學報,2007(20)8彭翠云,趙廣耀,戎海龍.汽車倒車系統中超聲波測距模塊的設計J.壓電與聲光,2008(30)9孫寶元,楊玉清.傳感器及其應用手冊M.北京:機械工業(yè)出版社,2004.510應崇福主編.超聲學M.北京:科學出版社,199011Murugavel Raju. Ultrasonic Distance Measurement With the MSP430. Aplication Report SLAA136A . 2001 12彭廣亮.新型超聲波液位計的開發(fā)研究D.河北工業(yè)大學,201113趙小強,趙連玉.超聲波測距系統中的溫度補償J.組合機床與自動化加工技術,2008(11)14趙亮,王余.基于AT89S51單片機超聲波測距儀器設計J.內江科技,2009(02)15姚來鳳,馮益華,王麗.超聲波及超聲檢測J.山東輕工業(yè)學院學報(自然科學版),2007(02)16李冬梅.國內外液位計量儀表技術發(fā)展動向J.儀器儀表用戶,2002(05)17焦冰,唐慧強,葉松,溫雅婷.液位測量中超聲回波信號的采集與處理J.測控技術,2010(08)18李戈,孟

溫馨提示

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

評論

0/150

提交評論