




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.電信學(xué)院綜合實(shí)驗(yàn)報(bào)告基于單片機(jī)的超聲波測(cè)距儀設(shè)計(jì)1總體設(shè)計(jì)方案介紹1.1超聲波測(cè)距原理發(fā)射器發(fā)出的超聲波以速度在空氣中傳播,在到達(dá)被測(cè)物體時(shí)被反射返回,由接收器接收,其往返時(shí)間為t,由s=vt/2即可算出被測(cè)物體的距離。由于超聲波也是一種聲波,其聲速v與溫度有關(guān),下表列出了幾種不同溫度下的聲速。在使用時(shí),如果溫度變化不大,則可認(rèn)為聲速是基本不變的。如果測(cè)距精度要求很高,則應(yīng)通過溫度補(bǔ)償?shù)姆椒右孕U1?-1 超聲波波速與溫度的關(guān)系表溫度()-30-20-100102030100聲速(ms)313319325323338344349386表1-11.2超聲波測(cè)距儀原理框圖如下圖單片機(jī)發(fā)出40
2、kHZ的信號(hào),經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號(hào)經(jīng)放大器放大,用鎖相環(huán)電路進(jìn)行檢波處理后,啟動(dòng)單片機(jī)中斷程序,測(cè)得時(shí)間為t,再由軟件進(jìn)行判別、計(jì)算,得出距離數(shù)并送LED顯示。超聲波發(fā)射器放大電路超聲波接收器放大電路鎖相環(huán)檢波電路定時(shí)器單片機(jī)控制顯示器圖1-1 超聲波測(cè)距儀原理框圖2 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測(cè)接收電路三部分。單片機(jī)采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測(cè)量誤差。單片機(jī)用P1.0端口輸出超聲波換能器所需的40kHz的方波信號(hào),利用外中斷0口監(jiān)測(cè)
3、超聲波接收電路輸出的返回信號(hào)。顯示電路采用簡(jiǎn)單實(shí)用的4位共陽LED數(shù)碼管,段碼用74LS244驅(qū)動(dòng),位碼用PNP三極管8550驅(qū)動(dòng)。2.1 51系列單片機(jī)的功能特點(diǎn)及測(cè)距原理2.1.1 51系列單片機(jī)的功能特點(diǎn) 5l系列單片機(jī)中典型芯片(AT89C51)采用40引腳雙列直插封裝(DIP)形式,內(nèi)部由CPU,4kB的ROM,256 B的RAM,2個(gè)16b的定時(shí)計(jì)數(shù)器TO和T1,4個(gè)8 b的工O端I:IP0,P1,P2,P3,一個(gè)全雙功串行通信口等組成。特別是該系列單片機(jī)片內(nèi)的Flash可編程、可擦除只讀存儲(chǔ)器(EPROM),使其在實(shí)際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)
4、中更為有用。 5l系列單片機(jī)提供以下功能:4 kB存儲(chǔ)器;256 BRAM;32條工O線;2個(gè)16b定時(shí)計(jì)數(shù)器;5個(gè)2級(jí)中斷源;1個(gè)全雙向的串行口以及時(shí)鐘電路。空閑方式:CPU停止工作,而讓RAM、定時(shí)計(jì)數(shù)器、串行口和中斷系統(tǒng)繼續(xù)工作。掉電方式:保存RAM的內(nèi)容,振蕩器停振,禁止芯片所有的其他功能直到下一次硬件復(fù)位。5l系列單片機(jī)為許多控制提供了高度靈活和低成本的解決辦法。充分利用他的片內(nèi)資源,即可在較少外圍電路的情況下構(gòu)成功能完善的超聲波測(cè)距系統(tǒng)。2.1.2 單片機(jī)實(shí)現(xiàn)測(cè)距原理 單片機(jī)發(fā)出超聲波測(cè)距是通過不斷檢測(cè)超聲波發(fā)射后遇到障礙物所反射的回波,從而測(cè)出發(fā)射和接收回波的時(shí)間差tr
5、,然后求出距離SCt2,式中的C為超聲波波速。限制該系統(tǒng)的最大可測(cè)距離存在4個(gè)因素:超聲波的幅度、反射的質(zhì)地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對(duì)聲波脈沖的直接接收能力將決定最小的可測(cè)距離。為了增加所測(cè)量的覆蓋范圍、減小測(cè)量誤差,可采用多個(gè)超聲波換能器分別作為多路超聲波發(fā)射接收的設(shè)計(jì)方法。由于超聲波屬于聲波范圍,其波速C與溫度有關(guān)。2.2 超聲波發(fā)射電路超聲波發(fā)射電路原理圖如圖2-2所示。發(fā)射電路主要由反相器74LS04和超聲波發(fā)射換能器T構(gòu)成,單片機(jī)P1.0端口輸出的40kHz的方波信號(hào)一路經(jīng)一級(jí)反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級(jí)反向器后送到超聲波換能器
6、的另一個(gè)電極,用這種推換形式將方波信號(hào)加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。輸出端采兩個(gè)反向器并聯(lián),用以提高驅(qū)動(dòng)能力。上位電阻R1O、R11一方面可以提高反向器74LS04輸出高電平的驅(qū)動(dòng)能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時(shí)間。圖2-2 超聲波發(fā)射電路原理圖 壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內(nèi)部有兩個(gè)壓電晶片和一個(gè)換能板。當(dāng)它的兩極外加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng)產(chǎn)生超聲波,這時(shí)它就是一個(gè)超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動(dòng)
7、,將機(jī)械能轉(zhuǎn)換為電信號(hào),這時(shí)它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時(shí)應(yīng)分清器件上的標(biāo)志。2.3 超聲波檢測(cè)接收電路集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器。考慮到紅外遙控常用的載波頻率38 kHz與測(cè)距的超聲波頻率40 kHz較為接近,可以利用它制作超聲波檢測(cè)接收電路(如圖2-3)。實(shí)驗(yàn)證明用CX20106A接收超聲波(無信號(hào)時(shí)輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)更改電容C4的大小,可以改變接收電路的靈敏度和抗干擾能力。圖2-3 超聲波檢測(cè)接收電路2.4 超聲波測(cè)距系統(tǒng)的硬件電路設(shè)計(jì)本系統(tǒng)的特點(diǎn)是
8、利用單片機(jī)控制超聲波的發(fā)射和對(duì)超聲波自發(fā)射至接收往返時(shí)間的計(jì)時(shí),單片機(jī)選用AT89C51,經(jīng)濟(jì)易用,且片內(nèi)有4K的ROM,便于編程。電路原理圖如見附件。其中只畫出前方測(cè)距電路的接線圖,左側(cè)和右側(cè)測(cè)距電路與前方測(cè)距電路相同,故省略之。3 系統(tǒng)軟件的設(shè)計(jì)超聲波測(cè)距儀的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。我們知道C語言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細(xì)計(jì)算程序運(yùn)行的時(shí)間,而超聲波測(cè)距儀的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時(shí)),又要求精細(xì)計(jì)算程序運(yùn)行時(shí)間(超聲波測(cè)距時(shí)),所以控制程序可采用C語言和匯編語言混合編程。 3.1
9、超聲波測(cè)距儀的算法設(shè)計(jì) 超聲波測(cè)距的原理為超聲波發(fā)生器T在某一時(shí)刻發(fā)出一個(gè)超聲波信號(hào),當(dāng)這個(gè)超聲波遇到被測(cè)物體后反射回來,就被超聲波接收器R所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號(hào)到接收到返回信號(hào)所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計(jì)算公式為: d=s/2=(c×t)/2 (1) 其中,d為被測(cè)物與測(cè)距儀的距離,s為聲波的來回的路程,c為聲速,t為聲波來回所用的時(shí)間。 在啟動(dòng)發(fā)射電路的同時(shí)啟動(dòng)單片機(jī)內(nèi)部的定時(shí)器T0,利用定時(shí)器的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和收到
10、反射波的時(shí)間。當(dāng)收到超聲波反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在INT0或INT1端產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào),單片機(jī)響應(yīng)外部中斷請(qǐng)求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。其部分源程序如下: RECEIVE0:PUSH PSW PUSH ACC CLR EX0 ;關(guān)外部中斷0 MOV R7, TH0 ;讀取時(shí)間值 MOV R6, TL0? CLR C MOV A, R6 SUBB A, #0BBH;計(jì)算時(shí)間差 MOV 31H, A ;存儲(chǔ)結(jié)果 MOV A, R7 SUBB A, #3CH MOV 30H, A SETB EX0 ;開外部中斷0 POP ACC POP PSW RETI
11、3.2 主程序流程圖 軟件分為兩部分,主程序和中斷服務(wù)程序,如圖3-1(a)(b) (c) 所示。主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。 定時(shí)中斷服務(wù)子程序完成三方向超聲波的輪流發(fā)射,外部中斷服務(wù)子程序主要完成時(shí)間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。主程序首先是對(duì)系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器T0工作模式為16位定時(shí)計(jì)數(shù)器模式。置位總中斷允許位EA并給顯示端口P0和P1清0。然后調(diào)用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時(shí)約0.1 ms(這也就是超聲波測(cè)距儀會(huì)有一個(gè)最小可測(cè)距離的原因)后,才打開外中斷0接收返回的超聲波信
12、號(hào)。由于采用的是12 MHz的晶 振,計(jì)數(shù)器每計(jì)一個(gè)數(shù)就是1s,當(dāng)主程序檢測(cè)到接收成功的標(biāo)志位后,將計(jì)數(shù)器T0中的數(shù)(即超聲波來回所用的時(shí)間)按式(2)計(jì)算,即可得被測(cè)物體與測(cè)距儀之間的距離,設(shè)計(jì)時(shí)取20時(shí)的聲速為344 m/s則有: d=(c×t)/2=172T0/10000cm (2)其中,T0為計(jì)數(shù)器T0的計(jì)算值。 測(cè)出距離后結(jié)果將以十進(jìn)制BCD碼方式送往LED顯示約0.5s,然后再發(fā)超聲波脈沖重復(fù)測(cè)量過程。為了有利于程序結(jié)構(gòu)化和容易計(jì)算出距離,主程序采用C語言編寫。3.3超聲波發(fā)生子程序和超聲波接收中斷程序&
13、#160; 超聲波發(fā)生子程序的作用是通過P1.0端口發(fā)送2個(gè)左右超聲波脈沖信號(hào)(頻率約40kHz的方波),脈沖寬度為12s左右,同時(shí)把計(jì)數(shù)器T0打開進(jìn)行計(jì)時(shí)。超聲波發(fā)生子程序較簡(jiǎn)單,但要求程序運(yùn)行準(zhǔn)確,所以采用匯編語言編程。 超聲波測(cè)距儀主程序利用外中斷0檢測(cè)返回超聲波信號(hào),一旦接收到返回超聲波信號(hào)(即INT0引腳出現(xiàn)低電平),立即進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計(jì)時(shí)器T0停止計(jì)時(shí),并將測(cè)距成功標(biāo)志字賦值1。如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測(cè)到超聲波返回信號(hào),則定時(shí)器T0溢出中斷將外中斷0關(guān)閉,并將測(cè)距成
14、功標(biāo)志字賦值2以表示此次測(cè)距不成功。 前方測(cè)距電路的輸出端接單片機(jī)INT0端口,中斷優(yōu)先級(jí)最高,左、右測(cè)距電路的輸出通過與門IC3A的輸出接單片機(jī)INT1端口,同時(shí)單片機(jī)P1.3和P1.4接到IC3A的輸入端,中斷源的識(shí)別由程序查詢來處理,中斷優(yōu)先級(jí)為先右后左。部分源程序如下: RECEIVE1:PUSH PSWPUSH ACC CLR EX1 ;關(guān)外部中斷1 JNB P1.1, RIGHT ;P1.1引腳為0,轉(zhuǎn)至右測(cè)距電路中斷服務(wù)程序JNB P1.2, LEFT ;P1.2引腳為0,轉(zhuǎn)至左測(cè)距電路中斷服務(wù)程序 RETURN:SETB EX1;開外部中斷1 POP ACC POP
15、PSW RETI RIGHT: . ;右測(cè)距電路中斷服務(wù)程序入口 AJMP RETURN LEFT:. ;左測(cè)距電路中斷服務(wù)程序入口 AJMP RETURN4系統(tǒng)的軟硬件的調(diào)試超聲波測(cè)距儀的制作和調(diào)試都比較簡(jiǎn)單,其中超聲波發(fā)射和接收采用15的超聲波換能器TCT40-10F1(T發(fā)射)和TCT40-10S1(R接收),中心頻率為40kHz,安裝時(shí)應(yīng)保持兩換能器中心軸線平行并相距48cm,其余元件無特殊要求。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。根據(jù)測(cè)量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容C0的大小,以獲得合適的接收靈敏度和抗干擾能力。
16、160; 硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。根據(jù)實(shí)際情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測(cè)量的間隔時(shí)間,以適應(yīng)不同距離的測(cè)量需要。根據(jù)所設(shè)計(jì)的電路參數(shù)和程序,測(cè)距儀能測(cè)的范圍為0.075.5m,測(cè)距儀最大誤差不超過1cm。系統(tǒng)調(diào)試完后應(yīng)對(duì)測(cè)量誤差和重復(fù)一致性進(jìn)行多次實(shí)驗(yàn)分析,不斷優(yōu)化系統(tǒng)使其達(dá)到實(shí)際使用的測(cè)量要求。5設(shè)計(jì)總結(jié)由于時(shí)間和其它客觀上的原因,此次設(shè)計(jì)沒有做出實(shí)物。但是對(duì)設(shè)計(jì)有一個(gè)很好的理論基礎(chǔ)。設(shè)計(jì)的最終結(jié)果是使超聲波測(cè)距儀能夠產(chǎn)生超聲波,實(shí)現(xiàn)超聲波的發(fā)送與接收,從而實(shí)現(xiàn)利用超聲波方法測(cè)量物體間的距離。以數(shù)字的形式
17、顯示測(cè)量距離。超聲波測(cè)距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時(shí)間來計(jì)算出傳播距離。實(shí)用的測(cè)距方法有兩種,一種是在被測(cè)距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計(jì);一種是發(fā)射波被物體反射回來后接收的反射波方式,適用于測(cè)距儀。此次設(shè)計(jì)采用反射波方式。超聲波測(cè)距儀硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測(cè)接收電路三部分。單片機(jī)采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測(cè)量誤差。單片機(jī)用P1.0端口輸出超聲波換能器所需的40kHz的方波信號(hào),利用外中斷0口監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào)。顯示電路采用簡(jiǎn)單
18、實(shí)用的4位共陽LED數(shù)碼管,段碼用74LS244驅(qū)動(dòng),位碼用PNP三極管8550驅(qū)動(dòng)。超聲波發(fā)射電路主要由反相器74LS04和超聲波發(fā)射換能器T構(gòu)成,單片機(jī)P1.0端口輸出的40kHz的方波信號(hào)一路經(jīng)一級(jí)反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級(jí)反向器后送到超聲波換能器的另一個(gè)電極,用這種推換形式將方波信號(hào)加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。輸出端采兩個(gè)反向器并聯(lián),用以提高驅(qū)動(dòng)能力。上位電阻R1O、R11一方面可以提高反向器74LS04輸出高電平的驅(qū)動(dòng)能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時(shí)間。壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能
19、器內(nèi)部有兩個(gè)壓電晶片和一個(gè)換能板。當(dāng)它的兩極外加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng)產(chǎn)生超聲波,這時(shí)它就是一個(gè)超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),這時(shí)它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時(shí)應(yīng)分清器件上的標(biāo)志。超聲波檢測(cè)接收電路主要是由集成電路CX20106A組成,它是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器??紤]到紅外遙控常用的載波頻率38 kHz與測(cè)距的超聲波頻率40 kHz較為接近,可以利用它制作超聲波檢測(cè)接收電路
20、。實(shí)驗(yàn)證明用CX20106A接收超聲波(無信號(hào)時(shí)輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)更改電容C4的大小,可以改變接收電路的靈敏度和抗干擾能力。超聲波測(cè)距儀的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。我們知道C語言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細(xì)計(jì)算程序運(yùn)行的時(shí)間,而超聲波測(cè)距儀的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時(shí)),又要求精細(xì)計(jì)算程序運(yùn)行時(shí)間(超聲波測(cè)距時(shí)),所以控制程序可采用C語言和匯編語言混合編程。主超聲波測(cè)距儀主程序利用外中斷0檢測(cè)返回超聲波信號(hào),一旦接收到返回超聲波信號(hào)(即INT0引腳出現(xiàn)低電平),立即
21、進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計(jì)時(shí)器T0停止計(jì)時(shí),并將測(cè)距成功標(biāo)志字賦值1。如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測(cè)到超聲波返回信號(hào),則定時(shí)器T0溢出中斷將外中斷0關(guān)閉,并將測(cè)距成功標(biāo)志字賦值2以表示此次測(cè)距不成功。 前方測(cè)距電路的輸出端接單片機(jī)INT0端口,中斷優(yōu)先級(jí)最高,左、右測(cè)距電路的輸出通過與門IC3A的輸出接單片機(jī)INT1端口,同時(shí)單片機(jī)P1.3和P1.4接到IC3A的輸入端,中斷源的識(shí)別由程序查詢來處理,中斷優(yōu)先級(jí)為先右后左。超聲波測(cè)距的算法設(shè)計(jì)原理為超聲波發(fā)生器T在某一時(shí)刻發(fā)出一個(gè)超聲波信號(hào),當(dāng)這個(gè)超聲波遇到被測(cè)物體后反射回來,就被超聲波接收器R所接收到。這樣只要計(jì)算出從發(fā)出超聲
22、波信號(hào)到接收到返回信號(hào)所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。在啟動(dòng)發(fā)射電路的同時(shí)啟動(dòng)單片機(jī)內(nèi)部的定時(shí)器T0,利用定時(shí)器的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。當(dāng)收到超聲波反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在INT0或INT1端產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào),單片機(jī)響應(yīng)外部中斷請(qǐng)求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。在元件及調(diào)制方面,由于采用的電路使用了很多集成電路。外圍元件不是很多,所以調(diào)試應(yīng)該不會(huì)太難。一般只要電路焊接無誤,稍加調(diào)試應(yīng)該會(huì)正常工作。電路中除集成電路外,對(duì)各電子元件也無特別要求。根據(jù)測(cè)量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容C0的大小,
23、以獲得合適的接收靈敏度和抗干擾能力。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。小組成員姓名班級(jí)學(xué)號(hào)蘇 濤07電子二班07205010244胡 朝07電子二班07205010215楊宇翔07電子二班小組成員簽字:附錄附錄1 超聲波測(cè)距電路原理圖附錄2 超聲波測(cè)距程序清單#INCLUDE <REG2051.H>#DEFINE K1 P3_4#DEFINE CSBOUT P3_5 /超聲波發(fā)送#DEFINE CSBINT P3_7 /超聲波接收#DEFINE CSBC=0.034#DEFINE BG P3_3 UNSIGNED CHAR CSBDS,OPTO,DIGIT,
24、BUFFER3,XM1,XM2,XM0,KEY,JPJS;/顯示標(biāo)識(shí)UNSIGNED CHAR CONVERT10=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F;/09段碼UNSIGNED INT S,T,I, XX,J,SJ1,SJ2,SJ3,MQS,SX1;BIT CL; VOID CSBCJ();VOID DELAY(J); /延時(shí)函數(shù)VOID SCANLED(); /顯示函數(shù)VOID TIMETOBUFFER(); /顯示轉(zhuǎn)換函數(shù)VOID KEYSCAN();VOID K1CL();VOID K2CL();VOID K3CL();V
25、OID K4CL();VOID OFFMSD();VOID MAIN() /主函數(shù) EA=1; /開中斷 TMOD=0X11; /設(shè)定時(shí)器0為計(jì)數(shù),設(shè)定時(shí)器1定時(shí) ET0=1; /定時(shí)器0中斷允許 ET1=1; /定時(shí)器1中斷允許 TH0=0X00; TL0=0X00; TH1=0X9E; TL1=0X57; CSBDS=0; CSBINT=1; CSBOUT=1; CL=0; PTO=0XFF; JPJS=0; SJ1=45; SJ2=200; SJ3=400; K4CL(); TR1=1; WHILE(1) KEYSCAN(); IF(JPJS<1) CSBCJ(); IF(S>
26、;SJ3) BUFFER2=0X76; BUFFER1=0X76; BUFFER0=0X76; ELSE IF(S<SJ1) BUFFER2=0X40; BUFFER1=0X40; BUFFER0=0X40; ELSE TIMETOBUFFER(); ELSE TIMETOBUFFER(); /將值轉(zhuǎn)換成LED段碼 OFFMSD(); SCANLED(); /顯示函數(shù) IF(S<SJ2) BG=0; BG=1; VOID SCANLED() /顯示功能模塊 DIGIT=0X04; FOR( I=0; I<3; I+) /3位數(shù)顯示 P3=DIGIT&OPTO; /依次
27、顯示各位數(shù) P1=BUFFER; /顯示數(shù)據(jù)送P1口 DELAY(20); /延時(shí)處理 P1=0XFF; /P1口置高電平(關(guān)閉) IF(P3&0X10)=0) /判斷3位是否顯示完 KEY=0; DIGIT>>=1; /循環(huán)右移1位 VOID TIMETOBUFFER() /轉(zhuǎn)換段碼功能模塊 XM0=S/100; XM1=(S-100*XM0)/10; XM2=S-100*XM0-10*XM1; BUFFER2=CONVERTXM2; BUFFER1=CONVERTXM1; BUFFER0=CONVERTXM0;VOID DELAY(I) WHILE(-I);VOID TIMER1INT (VOID) INTERRUPT 3 USING 2 TH1=0X9E; TL1=0X57; CSBDS+; IF(CSBDS>=40) CSBDS=0; CL=1; VOID CSBCJ() IF(CL=1) TR1=0; TH0=0X00; TL0=0X00; I=10; WHILE(I-) CSBOUT=!
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教育產(chǎn)業(yè)借款協(xié)議
- 2025年度書畫家簽約經(jīng)紀(jì)代理服務(wù)合同
- 2025年度住宅小區(qū)公共設(shè)施保潔服務(wù)合同
- 游泳館裝飾設(shè)計(jì)合同
- 2025年全球能源安全情景報(bào)告(英文版)-殼牌
- 2025年度抖音平臺(tái)用戶增長(zhǎng)與活躍度提升合同
- 2025年度企業(yè)社保代繳與人才引進(jìn)激勵(lì)協(xié)議
- 二零二五年度退定金協(xié)議:高端酒店預(yù)訂管理服務(wù)合同
- 2025年度多功能手摩托車購銷合同范本
- 倉儲(chǔ)用地租賃合同
- 滬教版二年級(jí)下冊(cè)計(jì)算題100道及答案
- 2023新課標(biāo)魯教版九年級(jí)化學(xué)下冊(cè)全教案
- 《開學(xué)第一課:一年級(jí)新生入學(xué)班會(huì)》課件
- 右側(cè)腹股溝疝教學(xué)查房
- 《趣味經(jīng)濟(jì)學(xué)》課件
- 人工智能與自動(dòng)駕駛技術(shù)
- 醫(yī)院放射診療中的輻射防護(hù)常識(shí)學(xué)習(xí)培訓(xùn)
- 城市排水系統(tǒng)雨污分流改造
- 法學(xué)涉外法治方向課程設(shè)計(jì)
- 廣州市2023年中考:《道德法治》考試真題與參考答案
- 無人駕駛技術(shù)的傳感器技術(shù)應(yīng)用
評(píng)論
0/150
提交評(píng)論