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

下載本文檔

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

文檔簡介

1、摘 要由于超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,被廣泛的用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現(xiàn)。利用超聲波檢測往往比較迅速、快捷、方便簡單、易于做到實時控制。是一種非接觸式的檢測方式,與其他方法相比不受光線,被測對象顏色的影響,對于被物體處于黑暗、有灰塵、煙霧、有毒等惡劣環(huán)境下有一定的適應的能力。本文介紹了超聲波測距系統(tǒng)的方法和原理。本次設計用4049、CX20106芯片實現(xiàn)對超聲波的發(fā)射與接收,采用AT89C52型單片機作為主控制器,對發(fā)射、接收電路的數據進行控制和處理,用動態(tài)掃描的方式實現(xiàn)數碼管的距離數字顯示。在介紹測距系統(tǒng)功能的基礎上,給出系統(tǒng)的整體

2、構成,對系統(tǒng)中發(fā)射、接收、顯示電路給出了軟硬件的論證。經過調試本系統(tǒng)在5200cm的距離內測量精度可達±1cm,實際使用表明該系統(tǒng)工作穩(wěn)定, 性能良好。關鍵詞超聲波;測距;單片機;數碼管The software design of ultrasonic range finderAbstractBecause the ultrasonic wave has the features ,such as strong point, slow energy consumption and a long distance transmission in the medium ,it alway

3、s used for ultrasonic, energy consumed slowly, and transmiting more further in the medium, ultrasonic is often used for distance measurement. Such as range finders and all level measurement can be achieved through the ultrasonic wave .Use of ultrasonic testing is often more rapid, convenient and sim

4、ple terms, easy to real-time control. It is a non-contact detection method. Compared with other methods, it is not influenced by light, color and other effects of the tested object. When the measured objected in the dark, dusty, smoggy, toxic and adverse circumstances, ultrasonic wave has a certain

5、degree of adaptability.This text has mainly described the principle and method of ultrasonic range-finder. This design adopt the 4049, CX20106 chip to achieve transmitting and receiving of ultrasound, using AT89C52 single-chip microcomputer as the main controller to control and process of data of th

6、e transmitter and receiver circuitry, the dynamic scanning method to achieve digital distance display. Basing on introducing the function of ultrasonic ranging system, this thesis raises the overall composition of the system and gives the system transmitter and receiver, the display circuit hard war

7、e and software demonstration. After commissioning of the system the distance measurement can measure in 5 200cm,the accuracy up to ± 1cm, and the actual use shows that the system is stable and good performance.KEY WORDSUltrasonic; distance measuring; single chip microcomputer ; numerical code t

8、ube目 錄1.前言11.1課題的研究背景及意義11.2課題的國內外研究現(xiàn)狀11.3課題的可行性22.整體方案設計和器件選擇32.1超聲波測距的原理32.2超聲波傳感器的工作原理及結構圖32.3 AT89C52型單片機介紹42.4 AT89C52最小系統(tǒng)電路63.1整體電路設計74 超聲波測距系統(tǒng)軟件設計94.1軟件設計分析94.2軟件設計思路94.2.1主程序104.2.3 超聲波接收子程序13運算處理程序15超聲波延時子程序17輸出顯示程序195總 結21致 謝22參考文獻23附錄241.前言1.1課題的研究背景及意義超聲波是指頻率高于20KHz的聲波,屬于機械波的范疇,遵循一般機械波在彈

9、性介質中的傳播規(guī)律,如在介質的分界面處發(fā)生反射和折射現(xiàn)象,在進入介質后被介質吸收而發(fā)生衰減等,正是因為有這些性質,使得超聲波可以用于距離的測量,隨著經濟的發(fā)展,科技水平的不斷提高,電子測量技術應用越來越廣泛,超聲波測量精度高,成本低,性能穩(wěn)定則備受青睞,超聲波測距技術被廣泛的應用于人們生活和工作中。由于超聲波測距是一種非接觸檢測技術,不受光線、被測對象顏色的影響,比其他儀器更衛(wèi)生,具有不污染、高可靠、長壽命等特點,被廣泛應用于紙業(yè)、礦業(yè)、電廠、化工業(yè)、污水處理廠、食品、水文、等行業(yè)中,可在不同環(huán)境中進行距離的準確度在線標定,可直接用于水酒精、糖等液位控制,能達到工業(yè)實用的指標要求。還可以用于移

10、動機器人的視覺系統(tǒng)中,這樣可使機器人自動躲避障礙物行走,及時獲得障礙物的位置信息,同時超聲波測距系統(tǒng)具有以上的這些特點,在汽車倒車雷達的研制方面也得到了廣泛應用。1.2課題的國內外研究現(xiàn)狀目前國際國內,在超聲波測距方面的研究方向和水平的不同,主要體現(xiàn)在對測距原理、超聲波信號處理方法和超聲波測距處理器的選用上。常見的超聲波測距原理分為渡越時間法和相位差法兩種。信號的處理方法大致分為閾值檢驗法、互相關延時估計法、偽隨機碼擴頻測距法和最小均方法四種。在處理器方面大多以單片機為主,其中以51系列應用最為廣泛,采用運算速度更快,效率更高DSP芯片作為處理器,也正成為一個非?;钴S的研究方向。目前已研制的超

11、聲波測距儀中,量程一般為3-12m,美國AIRMAR公司生產的 airducer AR30超聲波傳感器的作用距離可達30m,但價格昂貴,準確度方面已控制在測量誤差的0.4%左右,與真值的差距在厘米級的范圍內,若采用互相關或偽隨機法,最高可控制在0.05m內,在提高精確度方面,超聲波測距還有很大的發(fā)展?jié)摿蜕仙臻g。1.3課題的可行性 隨著現(xiàn)代科技的發(fā)展和電子行業(yè)的興起,各種具有強大功能集成電路的開發(fā)和先進的電子儀器和電子設備,這些都為開發(fā)這種電子產品奠定了堅實的物質基礎。隨著我校的教學質量的提升和教學內容的深入,學生的專業(yè)綜合素質有一定提高,對于研究這一類的產品已經不是什么難題,為開發(fā)這類電子

12、產品奠定了堅實的專業(yè)基礎,只要給予正確的指導,一定能完成本次設計。2.整體方案設計和器件選擇2.1超聲波測距的原理 諧振頻率高于20 kHz 的聲波稱為超聲波。超聲波為直線傳播方式, 頻率越高, 反射能力越強, 而繞射能力越弱。利用超聲波的這種特性, 常常用渡越時間檢測法進行距離的測量。其工作原理是:換能器向介質發(fā)射超聲波, 聲波遇到目標后必然有反射回波作用在換能器上。若已知介質中聲速為c, 回波到達時刻與發(fā)射波時刻的時間差為t, 就可以計算出發(fā)射點與反射點的距離s: (1)式中c 為超聲波的傳播速度,m/s。超聲波在固體中傳播速度最快, 在氣體中傳播速度最慢而且聲速c與溫度有關 。2.2超聲

13、波傳感器的工作原理及結構圖為了研究和利用超聲波, 人們已經設計和制成了許多超聲波發(fā)生器??傮w上講, 超聲波發(fā)生器可以分為兩大類: 即用電氣方式和機械方式產生超聲波。前者包括壓電型、磁致伸縮型和電動型等; 后者有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產生的超聲波的頻率、功率和聲波特性各不相同, 因而用途也各不相同, 目前較為常用的是壓電式超聲波發(fā)生器,壓電式超聲波換能器是利用壓電晶體諧振來工作的。內部結構如圖1所示,它有兩個壓電晶片和一個共振板。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動產生超聲波,這時它就是超聲波發(fā)生器;如沒加電壓,當共振板接

14、受到超聲波時,將壓迫壓電振蕩器作振動,將機械能轉換為電信號,這時它就成為超聲波接受轉換器。超聲波發(fā)射轉換器與接受轉換器其結構稍有不同。共 振 板電極壓電晶片圖 1 超聲波傳感器結構2.3 AT89C52型單片機介紹AT89C52為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標準的C51內核,在內部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調整時的功能控制。功能包括對會聚主IC 內部寄存器、數據RAM及外部接口等功能部件的初始化,會聚調整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等各引腳特性如下:(1)P0 口是一組8 位漏極開路型雙向I/O 口, 也

15、即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的(2)P1 是一個帶內部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯(3)P2 是一個帶有內部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯(4)P3 口是一組帶有內部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏(5)RST復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。(6)ALE/PROG當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址

16、的低8 位字節(jié)。一般情況下,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE 脈沖。對Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE 禁止位無效。(7)PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52 由外部程序存儲器取指令(或數據

17、)時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數據存儲器,將跳過兩次PSEN信號。(8)EA/VPP 外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000HFFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上+12V 的編程允許電源Vpp,當然這必須是該器件是使用12V 編程電壓Vpp。(9)XTAL1振蕩器反相放大器的及內部時鐘發(fā)生器的輸入端。(10)XTAL2振蕩器反相放大器的輸出端。2.

18、4 AT89C52最小系統(tǒng)電路AT89C52的最下系統(tǒng)電路如圖2所示,它由復位電路和晶振電路構成。 圖2 AT89C52的最小系統(tǒng)電路3.超聲波測距系統(tǒng)硬件設計3.1整體電路設計硬件電路的設計主要包括單片機系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分。單片機采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。整體電路圖如圖3-1所示。圖3-1 超聲波測距整體電路3.2超聲波發(fā)射電路設計在這發(fā)射電路電路中,由單片機產生40KHz方波信號,然后信號經過4049放大后輸出到發(fā)射探頭(超聲波換能器),產生超聲波,發(fā)射出去。一路經兩級反向器后送到超

19、聲波換能器的一個電極,另一路經三級反向器后送到超聲波換能器的另一個電極。發(fā)射電路圖如圖3-2所示。圖3-1 超聲波發(fā)射電路3.3 超聲波檢測接收電路設計CX20106是一款應用廣泛的紅外線檢波接收的專用芯片,其具有功能強、性能優(yōu)越、外圍接口簡單、成本低等優(yōu)點,由于紅外遙控常用的載波頻率38kHZ與測距的超聲波頻率40kHZ比較接近,而且CX20106內部設置的濾波器中心頻率f0可由其5腳外接電阻調節(jié),阻值越大中心頻率越低,范圍為30-60kHZ。故本次設計用它來做接收電路。CX20106內部由前置放大器、限幅放大器、帶通濾波器、檢波器、積分器及整形電路構成。接收檢測電路如圖3-3所示。圖3-3

20、 超聲波檢測接收電路4 超聲波測距系統(tǒng)軟件設計4.1軟件設計分析完成了系統(tǒng)的硬件設計之后,接下來的就是系統(tǒng)軟件設計,此設計所需要完成的主要是針對系統(tǒng)功能的實現(xiàn)及數據的處理和應用。由以上所述系統(tǒng)硬件設計和各個電路功能,系統(tǒng)軟件需要實現(xiàn)以下功能:1、信號控制。在系統(tǒng)硬件中,已經完成了發(fā)射電路、回撥檢測接收電路的設計。在系統(tǒng)軟件設計中只需完成發(fā)射脈沖信號及輸出顯示。2、數據存儲。測距系統(tǒng)中需要得到發(fā)射信號與接收回波的時間差,需要讀出計時器的計數值,然后存儲在RAM中,而且每次發(fā)射周期的開始,需要對計數器清零,以備后續(xù)處理。3、信號處理。RAM中存儲的計數值并不能作為距離值直接顯示出來,有這個時間后,

21、可以通過程序來計算出來。4、距離顯示。經過軟件處理得到的距離值需要十進制的數碼管方式。4.2軟件設計思路超聲波軟件測距軟件設計主要由主程序,發(fā)射子程序,外部中斷接收子程序及顯示子程序。因為匯編語言有很高的效率和精確度,所以本程序有匯編語言來編寫實現(xiàn)。主程序主程序首先對系統(tǒng)環(huán)境初始化,設置T0工作模式為16位的定時器模式,及計數初值,然后使超聲波發(fā)射出一串40kHZ的方波。由于采用12MHZ的晶振,機器周期為1us,當主程序檢測到接收成功的標志位后,將計數器T0的數(即超聲波來回所用的時間)按下面的計算可測得被測物體與測距儀之間的距離,算得結果后送往數碼管顯示出來。主程序流程圖如圖4-1所示。圖

22、4-1 超聲波測距主程序流程圖4.2.3 超聲波發(fā)送子程序在設計思路上,當電路通電以后,T1開始計算時鐘周期,溢出,即65ms之后進入T1中斷,并發(fā)送40kHz脈沖信號,持續(xù)25ms。把P1.0口清0即發(fā)送一個脈沖信號,進行反復發(fā)送。程序流程圖如圖4-2所示,部分程序如下:intt11: CPL VOUT ;40KHZ NOP NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R4,intt11 ;超聲波發(fā)送完畢 MOV R4,#04H LCALL delay_250 ;延時,避開發(fā)射的直達聲波信號 SETB EX0 ;開啟接收回波中斷圖4-2 超聲波發(fā)送子程序4.2.

23、3 超聲波接收子程序當超聲波接收器收到返回的信號會給單片機一個外部中斷,在程序中定義為外部中斷0,INT0中斷在程序中的作用是形成中斷進行跳轉進入中斷子程序,能夠實現(xiàn)我在程序設計上的思維,使整個程序符合邏輯設計。在程序中應注意進中斷時變量的保存及出中斷時變量的恢復。當有外部中斷時,將由硬件置位中斷標志寄存器的 EXINTF0或 EXINTF1位 (EXINTF0 或EXINTF1 位由硬件置位,由軟件清零),為避免進入中斷死循環(huán),必須在退出中斷子程序時用軟件清除該標志位。系統(tǒng)在進入中斷時會自動關中斷,之后進入處理子程序。程序流程圖如圖4-3所示,部分程序如下:PINT0: NOP JB p3.

24、2,pint0_exit CLR TR0 ;關計數器 CLR EA ; CLR EX0 ; MOV 44H,TL0 ;將計數值移入處理單元 MOV 45H,TH0 ; MOV th0,#00h MOV tl0,#00h SETB 20H ;接收成功標志 pint0_exit;RETI圖4-3 超聲波接收子程序4.2.4 運算處理程序由于超聲波測距的原理為超聲波發(fā)生器T在某一時刻發(fā)出一個超聲波信號,當這個超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。計算公式為:2*d=s=vt。其中,d為

25、被測物與測距儀的距離,s為聲波的來回的路程,v為聲速,t為聲波來回所用的時間。 在啟動發(fā)射電路的同時啟動單片機內部的定時器T0,利用定時器的計數功能記錄超聲波發(fā)射的時間和收到反射波的時間。當收到超聲波反射波時,接收電路輸出端產生一個負跳變,在INT0端產生一個中斷請求信號,單片機響應外部中斷請求,執(zhí)行外部中斷服務子程序,讀取時間差,計算距離。其部分源程序如下: work: PUSH ACC PUSH PSW PUSH B MOV PSW, #18hMOV 45H,#4EHMOV 44H,#20H MOV R1,#00H MOV R0,#11H MOV R3,45H MOV R2,44H LCA

26、LL MUL2BY2 MOV R3,#27H MOV R2,#10H LCALL DIV4BY2 MOV A,R4 ; 將R4中的十六進制數轉換成10進制 MOV b,#10 ;10 ; 進制/10=10進制 DIV ab MOV 40H,a ; 十位在a MOV 41H,b ;個位在b POP B POP PSW POP ACC RET4.2.5 超聲波延時子程序在傳感器以脈沖發(fā)射方式工作下,電壓很高的發(fā)射電脈沖在激勵傳感器的同時也進入接收部分,此時,在短時間內放大器的放大倍數會降低,甚至沒有放大作用,這種現(xiàn)象成為阻塞。不同的檢測儀阻塞成都不一樣。根據阻塞區(qū)內的缺陷回波高度對缺陷進行定量會使

27、結果偏低,甚至不能發(fā)現(xiàn)障礙物,這是需要注意的。由于發(fā)射脈沖自身有一定的寬度,加上放大器有阻塞問題,在靠近發(fā)射脈沖一段時間范圍內,所要求發(fā)現(xiàn)的缺陷往往不能被發(fā)現(xiàn),這段時間成為盲區(qū)。延時子程序的作用就是在超聲波發(fā)射的同時延遲一些時間,在打開中斷,為了就是防止在超聲波發(fā)射時接收器就收到發(fā)射波,這樣就會產生錯誤,產生比較嚴重的誤差,所以要延遲一定的時間。程序流程圖如圖4-4所示,其源程序如下:DL1MS: MOV 60H,#01H LOOP2: MOV 61H,#28H LOOP21:MOV 62H,#5AH XHD3: DJNZ 62H,XHD3 DJNZ 61H,LOOP21 DJNZ 60H,L

28、OOP2 RET圖4-4 延時子程序4.2.6 輸出顯示程序此顯示模塊是讀取計算好的數值轉化為10進制,對照BCD碼轉化再送至P0口,采用動態(tài)顯示,由P2.0和P2.1輪流控制顯示。DISPLAY: PLAY: CLR P2.0 SETB P2.1 MOV A, 40H MOV DPTR, #TAB MOVC A , A+DPTR MOV P0, A LCALL DL1MS MOV A, 41H MOVC A,A+DPTR SETB P2.0 CLR P2.1 MOV P0, A LCALL DL1MS DJNZ R7, PLAYRETTAB: DB 40H ;0 DB 79H ;1 DB 2

29、4H ;2 DB 30H ;3 DB 19H ;4 DB 12H ;5 DB 02H ;6 DB 78H ;7 DB 00H ;8 DB 10H ;95總 結由于時間和其它客觀上的原因,此次設計沒有做出實物。但是對設計有一個很好的理論基礎。設計的最終結果是使超聲波測距儀能夠產生超聲波,實現(xiàn)超聲波的發(fā)送與接收,從而實現(xiàn)利用超聲波方法測量物體間的距離。以數字的形式顯示測量距離。我主要負責的是軟件設計超聲波測距的原理是利用超聲波的發(fā)射和接受,根據超聲波傳播的時間來計算出傳播距離。實用的測距方法有兩種,一種是在被測距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計;一種是發(fā)射波被物體反射回來后

30、接收的反射波方式,適用于測距儀。此次設計采用反射波方式。超聲波測距儀的軟件設計主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。超聲波測距的算法設計原理為超聲波發(fā)生器T在某一時刻發(fā)出一個超聲波信號,當這個超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。在啟動發(fā)射電路的同時啟動單片機內部的定時器T0,利用定時器的計數功能記錄超聲波發(fā)射的時間和收到反射波的時間。當收到超聲波反射波時,接收電路輸出端產生一個負跳變,在INT0或INT1端產生一個中斷請求信號,單片機響應外部中斷請

31、求,執(zhí)行外部中斷服務子程序,讀取時間差,計算距離。致 謝首先,我要感謝我的崔老師在畢業(yè)設計中對我給予的悉心指導和嚴格要求,在我畢業(yè)論文寫作期間,崔老師給我提供了種種專業(yè)知識上的指導和日常生活上的關懷,沒有您這樣的幫助和關懷,我不會這么順利的完成畢業(yè)設計,借此機會,向您表示由衷的感激。接著,我要感謝和我一起做畢業(yè)設計的同學。在畢業(yè)設計的短短3個月里,你們給我提出很多寶貴的意見,給了我不少幫助還有工作上的支持,在此也真誠的謝謝你們。同時,我還要感謝我的寢室同學和身邊的朋友,正是在這樣一個團結友愛,相互促進的環(huán)境中,在和她們的相互幫助和啟發(fā)中,才有我今天的小小收獲。最后我要深深地感謝我的家人,正是他

32、們含辛茹苦地把我養(yǎng)育成人,在生活和學習上給予我無盡的愛、理解和支持,才使我時刻充滿信心和勇氣,克服成長路上的種種困難,順利的完成大學學習。 還有許許多多給予我學業(yè)上鼓勵和幫助的朋友,在此無法一一列舉,在此也一并表示忠心地感謝!參考文獻1 胡萍.超聲波測距儀的研制.計算機與現(xiàn)代化,2003.102 時德剛,劉嘩.超聲波測距的研究.計算機測量與控制,2002.10 3 華兵.MCS-51單片機原理應用.武漢:武漢華中科技大學出版社,2002 .54 李華.MCU-51系列單片機實用接口技術.北京:北京航空航天大學出版社, 1993. 65 陳光東.單片機微型計算機原理與接口技術(第二版).武漢:華

33、中理工大學出版社,1999.46 徐淑華,程退安,姚萬生.單片機微型機原理及應用.哈爾濱:哈爾濱工業(yè)大學出版社,1999. 6.7 蘇長贊.紅外線與超聲波遙控.北京:人民郵電出版社,1993.78 張謙琳.超聲波檢測原理和方法.北京:中國科技大學出版社,1993.109 九州.放大電路實用設計手冊.沈陽:遼寧科學技術出版社,2002.510 樊昌元,丁義元. 高精度測距雷達研究.電子測量與儀器學報,2000.1011 蘇偉,鞏壁建.超聲波測距誤差分析.傳感器技術,2004.12 永學等.1-Wire總線數字溫度傳感器DS18B20及應用.電子產品世界,2003.1213 勝全.D18B20數字

34、溫度計在微機溫度采集系統(tǒng)中的序編制. 南京:南京大學出版社1998. 314 恒清,張靖.加強單片機系統(tǒng)抗干擾能力的方法.通化師范學院學報,2004 .1015 晗曉,袁慧梅.單片機系統(tǒng)的印制板設計與抗干擾技術.電子工藝技術,2004 .616 豐,薛紅宣.采用軟件抗干擾設計提高微機系統(tǒng)的可靠性.電子產品世界,2004.117 占操,梁厚琴,曹燕.單片機系統(tǒng)中的軟件抗干擾技術.電子技術,2003.318 華兵.MCS-51單片機原理應用.武漢:武漢華中科技大學出版社,2002 .519 繼興,劉霞.單片機系統(tǒng)軟件抗干擾措施分析.電子測量技術,200320 田華等.可編程單總線數字式溫度傳感器D

35、S18B2的原理與應用.電子質量,2004.7附錄以下是用匯編語言編寫的超聲波測距控制源程序:采用AT89S51 、12z晶振;測距范圍7CM-9.9M,堆棧在4FH以上,20H用于標志;顯示緩沖單元在40H-43H,使用內存44H、45H、46H用于計算距離; VOUT EQU P1.0 ; 脈沖輸出端口;*;* 中斷入口程序 *;* ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH RETI ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI ;*;* 主

36、程 序 *;*; START: MOV SP,#4FH MOV R0,#40H ;40H-43H為顯示數據存放單元(40H為最高位) MOV R7,#0BH CLEARDISP: MOV R0,#00H INC R0 DJNZ R7,CLEARDISP CLR 20H ; MOV R7,#3FH MOV TMOD,#11H ;T1、T0為16位定時器 MOV TH0,#00H ;65ms初值 MOV TL0,#00H MOV TH1,#00H MOV TL1,#00H MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV R4,#04H

37、 ;超聲波肪沖個數控制(為賦值的一半) SETB PX0 SETB ET1 SETB EA SETB TR1 ;開啟測距定時器 start1: LCALL DISPLAY JNB 20H,START1 ;收到反射信號時標志位為1 CLR EA LCALL WORK ;計算距離子程序 clr EA MOV R2,# 3FH ;測量間隔控制(約4*100=400MS) LOOP: LCALL DISPLAY DJNZ R2,LOOP CLR 20H SETB et0 MOV th0,00h MOV tl0,00h SETB TR1 ;重新開啟測距定時器 SETB EA SJMP start1;*;

38、* 中斷程序* *;*;T1中斷,發(fā)超聲波用 ;T1中斷,65毫秒中斷一次INTT1: CLR EA CLR TR0 CLR ex0 MOV TH0,#00H MOV TL0,#00H MOV TH1,#00H MOV TL1,#00H SETB ET0 SETB EA SETB TR0 ;啟動計數器T0,用以計 intt11: CPL VOUT ;40KHZ NOP NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R4,intt11 ;超聲波發(fā)送完畢, MOV R4,#04H; LCALL delay_250 ;延時,避開發(fā)射的直達聲波信號 SETB EX0 ;開啟

39、接收回波中斷 RETIOUT: RETI;外中斷0,收到回波時進入PINT0: NOP jb p3.2,pint0_exit CLR TR0 ;關計數器 CLR EA ; CLR EX0 ; MOV 44H,TL0 ;將計數值移入處理單元 MOV 45H,TH0 ; MOV th0,#00h MOV tl0,#00h SETB 20H ;接收成功標志 pint0_exit;RETI;*;* 顯示程序 *;*; 40H為最高位,43H為最低位,先掃描高位 DISPLAY: PLAY: CLR P2.0 SETB P2.1 MOV A,40H MOV DPTR,#TAB MOVC A,A+DPTR

40、 MOV P0,A LCALL DL1MS MOV A,41H MOVC A,A+DPTR SETB P2.0 CLR P2.1 MOV P0,A LCALL DL1MS ; DJNZ R7,PLAY RETTAB: DB 40H ;0 DB 79H ;1 DB 24H ;2 DB 30H ;3 DB 19H ;4 DB 12H ;5 DB 02H ;6 DB 78H ;7 DB 00H ;8 DB 10H ;9;*;* 延時程序 *;*; DL1MS: MOV 60H,#01H LOOP2: MOV 61H,#28H LOOP21:MOV 62H,#5AH XHD3: DJNZ 62H,XHD3 DJNZ 61H,LOOP21 DJNZ 60H,LOOP

溫馨提示

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

評論

0/150

提交評論