版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目 錄摘 要.1關(guān)鍵詞.1abstract.1key words.11 緒論.21.1 超聲波測距儀的發(fā)展及現(xiàn)狀.21.2 本設(shè)計目的和意義.21.3 設(shè)計思路.21.3.1 設(shè)計原理.21.3.2 總體框圖.22 論計方案與論證.32.1 系統(tǒng)整體方案的設(shè)計.32.2 系統(tǒng)整體方案的論證.33 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計.33.1 51 系列單片機的功能特點及測距原理.33.2 超聲波發(fā)射電路.43.3 超聲波檢測接收電路.43.4 超聲波測距顯示電路.44 系統(tǒng)軟件的設(shè)計.54.1 系統(tǒng)程序流程圖.54.2 系統(tǒng)的軟件主程序.74.3 超聲波接受中斷程序.74.4 系統(tǒng)的軟件的調(diào)試.85 總結(jié).8
2、參考文獻.9附錄一 程序清單.10附錄二 超聲波測距實物圖.16基于單片機的超聲波測距儀摘摘 要:要:本設(shè)計是基于單片機實現(xiàn)的超聲波測距儀。利用單片機的嵌入式功能,將軟、硬件有機地結(jié)合起來,運用超聲波測距的原理,使得系統(tǒng)能夠正確地執(zhí)行各功能模塊。本系統(tǒng)能夠?qū)崿F(xiàn):測量 17cm 到 650cm 的距離,精度為 1cm。本論文首先介紹了單片機 at89c51 的基礎(chǔ)知識,然后對超聲波測距基礎(chǔ)功能進行分析,給出設(shè)計方案和論證,進行編程設(shè)計和硬件焊接。本設(shè)計較好的完成了該課題指定的基本功能,并有所擴展,方便修改和改進。關(guān)鍵詞:關(guān)鍵詞:單片機;超聲波;嵌入式scm-based ultrasonic ra
3、ngefinderabstract:this paper is going to study the realization of scm-based ultrasonic rangefinder. by using of flushbonading function of scm, we combine software and hardware organically, use the ultrasonic ranging principle to make the system implement each functional module correctly. the system
4、can make the following comes true: by measuring the distance between 17cm and 650cm to achieve the 1cm precision. this topic introduces some basic knowledge of scm-at89c51, and then analyses the basic function of ultrasonic distance ranging to show out design scheme and argumentation and then to pro
5、ceed programming and hardware welding. it has almost accomplished the task of basic function and has some extended expansion, which is convenient for modification and improvement.key words:scm;ultrasonic;flushbonading1 緒論1.1 超聲波測距儀的發(fā)展及現(xiàn)狀隨著科學(xué)技術(shù)的快速發(fā)展,超聲波將在測距儀中的應(yīng)用越來越廣。但就目前技術(shù)水平來說,人們可以具體利用的測距技術(shù)還十分有限,因此,這
6、是一個正在蓬勃發(fā)展而又有無限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。超聲波測距運用主要有聲納測距和倒車雷達。聲納測距的發(fā)展趨勢基本為:研制具有更高定位精度的被動測距聲納,以滿足水中武器實施全隱蔽攻擊的需要;繼續(xù)發(fā)展采用低頻線譜檢測的潛艇拖曳線列陣聲納,實現(xiàn)超遠程的被動探測和識別;研制更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標識別問題;大力降低潛艇自噪聲,改善潛艇聲納的工作環(huán)境。隨著經(jīng)濟的發(fā)展,人們的生活水平越來越高。汽車進入家庭已不再是奢望,但隨之而來的事情就是如何保證汽車使用過程中的安全問題,特別是如何防止汽車與其他物體碰撞的事情發(fā)生。據(jù)初步調(diào)查統(tǒng)計,l5%的汽車事故是由汽車倒車“后視”不良造成的。因
7、此,增強汽車的后視能力,對于提高行車安全,減輕司機的勞動強度和心理壓力,是十分重要的。如果車輛能適時檢測與周圍障礙物的距離并給出警告信息,使司機及早采取行動,可避免車輛相撞事故的發(fā)生。倒車雷達的廣泛應(yīng)用可以減少汽車事故發(fā)生率。1.2 本設(shè)計目的和意義隨著科學(xué)技術(shù)的快速發(fā)展,超聲波將在測距儀中的應(yīng)用越來越廣。但是運用超聲波測距技術(shù)很有限,一般運用于高定位精度的聲納測距、汽車倒車雷達等。它們都運用了超聲波定向性好、能量集中、在傳輸過程中衰減較小,反射能力較強,在惡劣工作環(huán)境下具有一定的適應(yīng)能力等優(yōu)點。超聲波測距儀作為一種非常有用的工具在各方面都有很大的發(fā)展空間,它將朝著更加精確的方向發(fā)展,以滿足日
8、益發(fā)展的社會需求。本設(shè)計基于單片機實現(xiàn)超聲波測距離,其中考慮到了溫度對超聲波的影響,合理的提高了測量精度。1.3 設(shè)計思路1.3.1 設(shè)計原理發(fā)射器發(fā)出的超聲波以速度 v 在空氣中傳播,在到達被測物體時被反射返回,由接收器接收,計算其往返時間 t,由 s=vt/2 即可算出被測物體的距離。由于超聲波也是一種聲波,其聲速v 與溫度有關(guān),下表列出了幾種不同溫度下的聲速。在使用時,如果溫度變化不大,則可認為聲速是基本不變的。如果測距精度要求很高,則應(yīng)通過溫度補償?shù)姆椒右孕U?。本設(shè)計采用常溫 20 攝氏度時超聲波的波速,這樣既可以滿足精度 1cm 的要求,又可以適合正常環(huán)境下的測量要求。表 1-1
9、超聲波波速與溫度的關(guān)系表 溫度()-30-20-100102030100 聲速(ms)3133193253233383443493861.3.2 總體框圖單片機發(fā)出啟動信號,經(jīng)放大后通過超聲波發(fā)射器發(fā)出;超聲波反射回來時,超聲波接收器將接收到的超聲波信號經(jīng)放大器放大,啟動單片機中斷程序,測得時間為 t,再由軟件進行判別、計算,得出距離數(shù)并送 led 顯示。超聲波接收 單片機控制器超聲波發(fā)送led 顯示掃描驅(qū)動圖 1-1 超聲波測距儀原理框圖2 論計方案與論證2.1 系統(tǒng)整體方案的設(shè)計電路的設(shè)計主要包括三端穩(wěn)壓電源電路,單片機及其輔助電路、超聲波發(fā)射和超聲波檢測接收電路,顯示電路四部分組成。單片
10、機采用 at89c51,用 12mhz 高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機用 p1.0 端口輸出超聲模塊所需的啟動信號,超聲波發(fā)射探頭發(fā)出 40khz 的超聲波。利用外中斷 0 口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用實用的 4 位共陽 led 數(shù)碼管,段碼 af 接單片機的 p0.0p0.6,位碼用 pnp 三極管 9012驅(qū)動。2.2 系統(tǒng)整體方案的論證超聲波測距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時間來計算出傳播距離。實用的測距方法有兩種,一種是在被測距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計;一種是發(fā)射波被物體反射回來后接收的反
11、射波方式,適用于測距儀。本設(shè)計采用反射波方式。測距儀的分辨率取決于對超聲波傳感器的選擇。超聲波傳感器是一種采用壓電效應(yīng)的傳感器,常用的材料是壓電陶瓷。由于超聲波在空氣中傳播時會有相當(dāng)?shù)乃p,衰減的程度與頻率的高低成正比;而頻率高分辨率也高,故短距離測量時應(yīng)選擇頻率高的傳感器,而長距離的測量時應(yīng)用低頻率的傳感器。本設(shè)計采用 40khz 頻率的超聲波。3 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計3.1 51 系列單片機的功能特點及測距原理5l 系列單片機中典型芯片(at89c51)采用 40 引腳雙列直插封裝(dip)形式,內(nèi)部由cpu,4kb 的 rom,256b 的 ram,2 個 16b 的定時和計數(shù)器 to 和
12、 t1,4 個 8 b 的 io 端:p0,p1,p2,p3,一個全雙功串行通信口等組成。特別是該系列單片機片內(nèi)的 flash 可編程、可擦除只讀存儲器(eprom),使其在實際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。該系列單片機引腳與封裝如下圖所示1。圖 3-1 at89c51 引腳圖單片機發(fā)出超聲波測距是通過不斷檢測超聲波發(fā)射后遇到障礙物所反射的回波,從而測出發(fā)射和接收回波的時間差 t,然后求出距離 svt2,式中的 v 為超聲波波速。限制該系統(tǒng)的最大可測距離存在 4 個因素:超聲波的幅度、反射的質(zhì)地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換
13、能器對聲波脈沖的直接接收能力將決定最小的可測距離。為了增加所測量的覆蓋范圍、減小測量誤差,可采用多個超聲波換能器分別作為多路超聲波發(fā)射和接收的設(shè)計方法。由于超聲波屬于聲波范圍,其波速 v 與溫度有關(guān)2。3.2 超聲波發(fā)射電路 超聲波發(fā)射電路原理圖,如圖 3-2 所示。發(fā)射電路主要由反相器 74ls04 和超聲波發(fā)射換能器 t 構(gòu)成,單片機 p1.0 端口輸出的 40khz 的方波信號一路經(jīng)一級反向器后送到超聲波換能器的一個電極,另一路經(jīng)兩級反向器后送到超聲波換能器的另一個電極,用這種形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強度。輸出端采兩個反向器并聯(lián),用以提高驅(qū)動能力。上位電
14、阻 r10、r11 一方面可以提高反向器 74ls04 輸出高電平的驅(qū)動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時間3。u4a74ls04u4b74ls04u4c74ls04u4d74ls04u4e74ls04r101kr111ktv cc123456891011圖3-2 超聲波發(fā)射電路原理圖壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內(nèi)部有兩個壓電晶片和一個換能板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片會發(fā)生共振,并帶動共振板振動產(chǎn)生超聲波,這時它就是一個超聲波發(fā)生器;反之,如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波時,將壓
15、迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時應(yīng)分清器件上的標志4。3.3 超聲波檢測接收電路集成電路cx20106a是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器??紤]到紅外遙控常用的載波頻率38 khz與測距的超聲波頻率40 khz較為接近,可以利用它制作超聲波檢測接收電路,如圖3-3所示。用cx20106a接收超聲波,具有很好的靈敏度和較強的抗干擾能力。適當(dāng)更改電容c4的大小,可以改變接收電路的靈敏度和抗干擾能力。r12220kr1310kr141012345678cx 20106au5c7330pf
16、c40.056uf+c51uf+c63.3ufrv ccgndp3.2圖3-3 超聲波檢測接收電路3.4 超聲波測距顯示電路硬件電路的設(shè)計主要包括三端穩(wěn)壓電源電路,單片機及其輔助電路、超聲波發(fā)射和超聲波檢測接收電路,顯示電路四部分組成。單片機采用 at89c51,系統(tǒng)采用 12mhz 高精度的晶振,以獲得較穩(wěn)定的時鐘頻率,并減小測量誤差。單片機用 p1.0 端口輸出超聲模塊所需的啟動信號,利用外中斷 0 口檢測超聲波接收電路輸出的返回信號。顯示電路采用簡單實用的 4 位共陽 led數(shù)碼管,段碼用 74ls245 驅(qū)動,位碼用 pnp 三極管 9012 驅(qū)動5。單片機系統(tǒng)及顯示電路如下圖:p1.
17、0/t1p1.1/t2p1.23p1.34p1.45p1.56p1.67p1.78in t113in t012t014t115ea/v p31x 218x 119reset9rd17wr16psen29ale/p30rx d10tx d11p2.021p2.122p2.223p2.324p2.425p2.526p2.627p2.728p0.732p0.633p0.534p0.435p0.336p0.237p0.138p0.039at89c52u5*40khz入入入入入入入入y212mhz5vc430pfc530pf+20ufreset10kv ccabcdefga1b2c3d4e5f6g7dp
18、yledres2abcdefga1b2c3d4e5f6g7dpyledres2abcdefga1b2c3d4e5f6g7dpyledres2abcdefga1b2c3d4e5f6g7dpyledres290129012901290124.7k4.7k4.7kv ccp2.3p2.2p2.1p2.0圖 3-4 顯示電路4 系統(tǒng)軟件的設(shè)計4.1 系統(tǒng)程序流程圖 軟件分為兩部分,主程序和中斷服務(wù)程序,如下圖所示6。主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。定時中斷服務(wù)子程序完成超聲波發(fā)射,外部中斷服務(wù)子程序主要完成時間值的讀取、距離計算、結(jié)果的輸出等工作7。單片機初始化 定時中斷子程序
19、有 回 波 外部中斷子程序 n y 開 始 結(jié) 束 圖 4-1 主程序流程圖定時器初始化 發(fā)射超聲波 發(fā)射完否 停止發(fā)射 n y 定時中斷入口 返 回 圖 4-2 定時中斷服務(wù)子程序關(guān)外部中斷 讀取時間值 輸出結(jié)果 計算距離 開外部中斷 外部中斷入口 返 回 圖 4-3 外部中斷服務(wù)子程序主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)置定時器 t0 工作模式為 16 位定時計數(shù)器模式。置位總中斷允許位 ea 并給顯示端口 p0 和 p1 清 0。然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時約 0.1 ms(這也就是超聲波測距儀會有一個最小可測距
20、離的原因)后,才打開外中斷 0 接收返回的超聲波信號6。由于采用的是 12 mhz 的晶振,計數(shù)器每計一個數(shù)就是 1s,當(dāng)主程序檢測到接收成功的標志位后,將計數(shù)器 t0 中的數(shù)(即超聲波來回所用的時間)按式(1)計算,即可得被測物體與測距儀之間的距離,設(shè)計時取 20時的聲速為 344 m/s 則有:d=(ct)/2=172t0/10000cm(1)其中,t0 為計數(shù)器 t0 的計算值。測出距離后結(jié)果將以十進制 bcd 碼方式送往 led 顯示約 0.5s,然后再發(fā)超聲波脈沖重復(fù)測量過程8。 4.2 系統(tǒng)的軟件主程序start: mov sp,#4fh mov r0,#40h ;4043h 為顯
21、示數(shù)據(jù)存放單元(40 為最高位) mov r7,#0bhcleardisp: mov r0, #00h inc r0 djnz r7, cleardisp mov 20h, #00h mov tmod, #21h ;t1 為 8 位自動重裝模式,t0 為 16 位定時器 mov th0, #00h ;65ms 初值 mov tl0, #00h mov th1, #0f2h ; 40khz 初值 mov tl1, #0f2h mov p0, #0ffh mov p1, #0ffh mov p2, #0ffh mov p3, #0ffh mov r4, #04h ;超聲波脈沖個數(shù)控制(為賦值的一半
22、) setb px0 setb et0 setb ea setb tr0 ;開啟測距定時器start1: lcall display jnb 00h, start1 ;收到反射信號時標志位為 1 clr ea lcall work ;計算距離子程序 setb ea clr 00h setb tr0 ;重新開啟測距定時器 mov r2, #64h ;測量間隔控制(約 4*100=400ms)loop: lcall display djnz r2, loop sjmp start1 4.3 超聲波接受中斷程序;t0 中斷,65ms 中斷一次intt0: clr ea clr tr0 mov th0
23、, #00h mov tl0, #00h setb et1 setb ea setb tr0 ;啟動計時器 t0,用以計算超聲波來回時間 setb tr1 ;開啟發(fā)超聲波用定時器 t1out: reti ;t1 中斷,發(fā)超聲波用intt1: cpl vout djnz r4,retiout clr tr1 ;超聲波發(fā)送完畢,關(guān) t1 clr et1 mov r4,#04h setb ex0 ;開啟接收回波中斷retiout: reti ;外中斷 0,收到回波時進入pint0: clr tr0 ;關(guān)計數(shù)器 clr tr1 clr et1 clr ea clr ex0 mov 44h,tl0 ;將
24、計數(shù)值移入處理單元 mov 45h,th0 setb 00h ;接收成功標志 reti4.4 系統(tǒng)的軟件的調(diào)試超聲波測距儀的制作和調(diào)試都比較復(fù)雜,其中超聲波發(fā)射和接收采用 15 的超聲波換能器tct40-10f1(t 發(fā)射)和 tct40-10s1(r 接收) ,中心頻率為 40khz,安裝時應(yīng)保持兩換能器中心軸線平行并相距 48cm,其余元件無特殊要求。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。根據(jù)測量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容 c4的大小,以獲得合適的接收靈敏度和抗干擾能力9。 硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機試運行。根據(jù)實際
25、情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測量的間隔時間,以適應(yīng)不同距離的測量需要。根據(jù)所設(shè)計的電路參數(shù)和程序,測距儀能測的范圍為 17cm650cm,測距儀最大誤差不超過 1cm。系統(tǒng)調(diào)試完后應(yīng)對測量誤差和重復(fù)一致性進行多次實驗分析,不斷優(yōu)化系統(tǒng)使其達到實際使用的測量要求10。5 總結(jié)本設(shè)計利用超聲波測距的原理,即利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時間來計算出傳播距離。實用的測距方法有兩種,一種是在被測距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計;一種是發(fā)射波被物體反射回來后接收的反射波方式,適用于測距儀。本設(shè)計采用反射波方式。本設(shè)計硬件電路主要包括三端穩(wěn)壓電源
26、電路、單片機及其輔助電路、超聲波發(fā)射和超聲波檢測接收電路、顯示電路四部分組成。單片機 at89c51 采用 12mhz 高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機用 p1.0 端口輸出超聲波換能器所需的 40khz 的方波信號,利用外中斷 0 口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用簡單實用的 4 位共陽 led數(shù)碼管,段碼用 74ls245 驅(qū)動,位碼用 pnp 三極管 9012 驅(qū)動。超聲波發(fā)射電路主要由反相器 74ls04 和超聲波發(fā)射換能器 t 構(gòu)成,單片機 p1.0 端口輸出的 40khz 的方波信號一路經(jīng)一級反向器后送到超聲波換能器的一個電極,另一路經(jīng)兩級反向
27、器后送到超聲波換能器的另一個電極,用這種形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強度。輸出端采兩個反向器并聯(lián),用以提高驅(qū)動能力。超聲波檢測接收電路主要是由集成電路cx20106a組成,它是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器。考慮到紅外遙控常用的載波頻率38 khz與測距的超聲波頻率40 khz較為接近,可以利用它制作超聲波檢測接收電路。實驗證明用cx20106a接收超聲波(無信號時輸出高電平),具有很好的靈敏度和較強的抗干擾能力。適當(dāng)更改電容c4的大小,可以改變接收電路的靈敏度和抗干擾能力。超聲波測距的算法設(shè)計原理為超聲波發(fā)生器 t 在某一時刻發(fā)出一個超
28、聲波信號,當(dāng)這個超聲波遇到被測物體后反射回來,就被超聲波接收器 r 所接收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。在啟動發(fā)射電路的同時啟動單片機內(nèi)部的定時器 t0,利用定時器的計數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當(dāng)收到超聲波反射波時,接收電路輸出端產(chǎn)生一個負跳變,在 int0 或 int1 端產(chǎn)生一個中斷請求信號,單片機響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時間差,計算距離。增加電源穩(wěn)壓模塊的目的是為了得到系統(tǒng)所需的+5v穩(wěn)定電壓,只要給系統(tǒng)提供+7v+28v的直流電源,系統(tǒng)都能夠正常工作,這樣設(shè)計就使得該系統(tǒng)能夠
29、在更多的供電環(huán)境下使用;超聲波是一種聲波,其傳播速度受環(huán)境溫度的影響,因此本設(shè)計了溫度檢測模塊,雖然對于短距離的測量來說,溫度產(chǎn)生的誤差是微乎其微的,但這樣設(shè)計可以體現(xiàn)出對精度的追求,以及對誤差分析的理念;增加rs232通信功能的目的是為了便于擴展,增加了系統(tǒng)的靈活性;另外,系統(tǒng)還預(yù)設(shè)了四個按鍵s1-s4,它們暫時保留未用,但是可以對它進行擴展,使它們具有不同的功能,與此對應(yīng)的還有蜂鳴器報警電路,當(dāng)測距范圍處于測量盲區(qū)時進行報警提示。在焊接及調(diào)制方面,超聲波測距儀元件較多,而且電路較為復(fù)雜,所以對焊接要求較高。調(diào)試則更加復(fù)雜,因為超聲波的發(fā)射和接收過程中有很多干擾因素。可適當(dāng)調(diào)整與接收換能器并
30、接的濾波電容 c4 的大小,以獲得合適的接收靈敏度和抗干擾能力。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。參考文獻1 肖看單片機原理、接口及應(yīng)用m北京:清華大學(xué)出版社,2005 年:1213 頁2 沈紅衛(wèi)基于單片機的智能系統(tǒng)設(shè)計與實現(xiàn)m北京:電子工業(yè)出版社,2005 年:125 頁3 劉海成單片機及應(yīng)用系統(tǒng)設(shè)計原理與實踐m北京:北京航空航天大學(xué)出版社,2009 年:192 頁4 張志良單片機原理與控制技術(shù)m北京:機械工業(yè)出版社,2005 年:124245 頁5 郭速學(xué)圖解單片機功能與應(yīng)用m北京:中國電力出版社,2008 年:36210 頁6 樓然苗單片機課程設(shè)計指導(dǎo)m北京:北京
31、航空航天大學(xué)出版社,2007 年:5086 頁7 張義和說例 8051m北京:人民郵電出版社,2006 年:1256 頁8 吳金戌8051 單片機實踐與應(yīng)用m北京:清華大學(xué)出版社,2002 年:110129 頁9 許泳龍單片機原理及應(yīng)用m北京:機械工業(yè)出版社,2005 年:226312 頁10 吳國經(jīng)單片機應(yīng)用技術(shù)m北京:中國電力出版社,2004 年:52156 頁附錄一 程序清單;*;*超聲波測距器 *;*采用 at89c52 12mhz 晶振 *;*采用共陽 led 顯示器 *;*;測距范圍 10cm-5.5m,堆棧在 4fh 以上,20h 用于標志;顯示緩沖單元在 40h43h,使用內(nèi)存
32、 44h、45h、46h 用于計算距離; vout equ p1.0 ;脈沖輸出端口;*;*中斷入口程序 *;*;org 0000h ljmp startorg 0003h ljmp pint0org 000bh ljmp intt0org 0013h retiorg 001bh ljmp intt1org 0023h retiorg 002bh reti;*;* 主程序 *;*;start: mov sp,#4fh mov r0,#40h ;4043h 為顯示數(shù)據(jù)存放單元(40 為最高位) mov r7,#0bhcleardisp: mov r0, #00h inc r0 djnz r7,
33、cleardisp mov 20h, #00h mov tmod, #21h ;t1 為 8 位自動重裝模式,t0 為 16 位定時器 mov th0, #00h ;65ms 初值 mov tl0, #00h mov th1, #0f2h ; 40khz 初值 mov tl1, #0f2h mov p0, #0ffh mov p1, #0ffh mov p2, #0ffh mov p3, #0ffh mov r4, #04h ;超聲波脈沖個數(shù)控制(為賦值的一半) setb px0 setb et0 setb ea setb tr0 ;開啟測距定時器start1: lcall display j
34、nb 00h, start1 ;收到反射信號時標志位為 1 clr ea lcall work ;計算距離子程序 setb ea clr 00h setb tr0 ;重新開啟測距定時器 mov r2, #64h ;測量間隔控制(約 4*100=400ms)loop: lcall display djnz r2, loop sjmp start1;*;* 中斷程序 *;*;t0 中斷,65ms 中斷一次intt0: clr ea clr tr0 mov th0, #00h mov tl0, #00h setb et1 setb ea setb tr0 ;啟動計時器 t0,用以計算超聲波來回時間
35、setb tr1 ;開啟發(fā)超聲波用定時器 t1out: reti ;t1 中斷,發(fā)超聲波用intt1: cpl vout djnz r4,retiout clr tr1 ;超聲波發(fā)送完畢,關(guān) t1 clr et1 mov r4,#04h setb ex0 ;開啟接收回波中斷retiout: reti ;外中斷 0,收到回波時進入pint0: clr tr0 ;關(guān)計數(shù)器 clr tr1 clr et1 clr ea clr ex0 mov 44h,tl0 ;將計數(shù)值移入處理單元 mov 45h,th0 setb 00h ;接收成功標志 reti;*;* 顯示程序 *;*;40h 為最高位,43h
36、 為最低位,先掃描高位display: mov r1,#40h mov r5,#0f7hplay: mov a,r5 mov p0,#0ffh mov p2,a mov a,r1 mov dptr,#tab movc a,a+dptr mov p0,a lcall dl1ms incr1 mova,r5 jnbacc.0,endout rra movr5,a ajmpplayendout: movp2,#0ffh movp0,#0ffh ret;tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0ffh,88h,0bfh;共陽數(shù)碼管 0,
37、 1, 2,3,4,5,6,7,8,9,不亮,a, ;*;* 延時程序 *;*;dl1ms: mov r6,#14hdl1: mov r7,#19hdl2: djnz r7,dl2 djnz r6,dl1 ret;*;* 距離計算程序(=計算值17/1000cm) 近似 *;*;work: push acc push psw push b mov psw,#18h mov r3,45h mov r2,44h mov r1,#00d mov r0,#17d lcall mul2by2 mov r3,#03h mov r2, #0e8h lcall div4by2 lcall div4by2 mov 40h, r4 mov a, 40h jnz jj0 mov 40h,#0ah ;最高位為 0,不點亮jj0: mov a,r0 mov r4,a mov a,r1 mov r5,a mov r3,#00d mov r2,#100d lcall div4by2 mov 41h,r4 mov a,41h jnz jj1 mov a,40h
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體檢科主任先進事跡(7篇)
- 二級職稱專業(yè)技術(shù)工作總結(jié)(5篇)
- 企業(yè)舉辦年會總結(jié)主持詞結(jié)束語
- DB12T 487-2013 放射性同位素與射線裝置安全使用管理制度編制規(guī)范
- 書香校園演講稿模板九篇
- 中考前國旗下講話稿
- 個人師德師風(fēng)剖析材料范文(6篇)
- 與感恩同行演講稿錦集六篇
- DB12∕T 1048-2021 蚯蚓養(yǎng)殖技術(shù)規(guī)程
- 驗光技術(shù)課件教學(xué)課件
- 第十七課《拒絕誘惑》課件心理健康六年級上冊北師大版
- 如何在企業(yè)管理中融入可持續(xù)發(fā)展理念
- 實驗室消毒培訓(xùn)課件
- 中醫(yī)培訓(xùn)課件:《拔罐技術(shù)》
- 筋傷概論-骨傷科
- 惠安女課件完
- 鹽酸采購和儲存和使用安全管理
- 健身及體育運動服務(wù)領(lǐng)域:第一體育企業(yè)組織架構(gòu)及部門職責(zé)
- 安全保衛(wèi)常識課件
- 乳腺癌放療后的皮膚護理課件
- 《培訓(xùn)與開發(fā) 》課件
評論
0/150
提交評論