freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

超聲波模塊dyp-me007和單片機(jī)的使用畢業(yè)論文(完整版)

  

【正文】 號(hào),這時(shí)它就成為超聲波接收器了。圖31 時(shí)序圖超聲波測(cè)距模塊的發(fā)射端在T0時(shí)刻發(fā)射方波,同時(shí)啟動(dòng)定時(shí)器開(kāi)始計(jì)時(shí),當(dāng)收到回波后,產(chǎn)生一負(fù)跳變到單片機(jī)中斷口,單片機(jī)響應(yīng)中斷程序,定時(shí)器停止計(jì)數(shù)。該信號(hào)通過(guò)C1高通濾波后經(jīng)LM741放大,最后經(jīng)二極管整形后輸出到單片機(jī)中斷口。式中T是環(huán)境攝氏溫度,所以溫度每變化1攝氏度,可見(jiàn)溫度對(duì)聲速的影響很大,測(cè)量時(shí)必須進(jìn)行溫度補(bǔ)償。七段LED顯示管比八段LED少一只發(fā)光二極管SP,其他與八段相同。外部中斷子程序計(jì)算距離結(jié)果輸出定時(shí)器及中斷初始化發(fā)射超聲波開(kāi)外部中斷指示燈閃爍單片機(jī)初始化DS18B20初始化開(kāi) 始收到回波? NO YES 圖41 主程序流程圖主程序首先是對(duì)系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器T0工作模式為16位定時(shí)計(jì)數(shù)器模式。void display(uint distance_date){ uchar dm,cm,mm。 wela=0。 dula=0。 dula=0。 outeL =TL1。據(jù)該狀態(tài)可以來(lái)確定它的存在,但是應(yīng)注意不能無(wú)限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制)。(6) 重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。(7)讀數(shù)據(jù)線的狀態(tài)得到1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。 while(i0)i。 dat=DS。i++) {j=tmpreadbit()。j++) { testb=datamp。while(i0)i。 delay(1)。 tmpwritebyte(0xbe)。 return temp。在硬件電路的設(shè)計(jì)中,分別詳細(xì)介紹了發(fā)射電路,接收電路及顯示模塊的設(shè)計(jì)方法。單片機(jī)采用AT89C51或其兼容系列。但由于經(jīng)驗(yàn)不足,電路硬件、軟件部分都有不夠完善的地方,在今后的學(xué)習(xí)中會(huì)進(jìn)一步改進(jìn)。 //測(cè)試燈引腳sbit dula =P2^6。 while(count) { i=200。 dm=distance_date/100。 P0=0x7f。 wela=0。 P0=0xdf。 DS=1。i++。 for(i=1。 for(j=1。 DS=1。i++。 delay(1)。 tt=temp*。 sn2=tmpread()。 //對(duì)定時(shí)器1選擇16位模式 IT0=0。 TL1=0。 TF1=0。 //先保存高8位 distance_data=8。 //代入晶振頻率及當(dāng)前波速算出距離 for(a=300。 EX0=0。電路原理圖如圖2所示。部分源程序如下:receive1:push psw push acc clr ex1 ; 關(guān)外部中斷1 jnb , right ; ,轉(zhuǎn)至右測(cè)距電路中斷服務(wù)程序 jnb , left ; ,轉(zhuǎn)至左測(cè)距電路中斷服務(wù)程序return: SETB EX1; 開(kāi)外部中斷1 pop? acc pop? psw retiright: ...? ; 右測(cè)距電路中斷服務(wù)程序入口 ? ajmp? returnleft: ... ; 左測(cè)距電路中斷服務(wù)程序入口 ? ajmp? return計(jì)算超聲波傳播時(shí)間在啟動(dòng)發(fā)射電路的同時(shí)啟動(dòng)單片機(jī)內(nèi)部的定時(shí)器T0,利用定時(shí)器的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。其部分源程序如下: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 ; 開(kāi)外部中斷0 POP ACC? POP PSW RETI四、超聲波測(cè)距系統(tǒng)的軟件設(shè)計(jì) 軟件分為兩部分,主程序和中斷服務(wù)程序,如圖3(a)(b)(c) 所示。40kHz 脈沖的產(chǎn)生與超聲波發(fā)射測(cè)距系統(tǒng)中的超聲波傳感器采用UCM40的壓電陶瓷傳感器,它的工作電壓是40kHz的脈沖信號(hào),這由單片機(jī)執(zhí)行下面程序來(lái)產(chǎn)生。(類似GPS定位系統(tǒng)) 一 超聲波測(cè)距原理 壓電式超聲波發(fā)生器原理壓電式超聲波發(fā)生器實(shí)際上是利用壓電晶體的諧振來(lái)工作的。a) { display(distance_data)。 //將高低八位組成新的16位數(shù)據(jù) tem=tmp()。 while((TH125)amp。 //讓TRIG引腳為高電平 delay_20us()。 EA=1。 uchar a。 return temp。 tmpwritebyte(0xbe)。 delay(1)。while(i0)i。j++) { testb=datamp。i++) { j=tmpreadbit()。 dat=DS。 while(i0)i。 wela=0。 wela=1。 wela=0。 //計(jì)算厘米位 mm=distance_date%10。 count。 //位碼選通引腳sbit DS =P2^2。了解了超聲波傳感器的原理,也掌握了單片機(jī)的開(kāi)發(fā)過(guò)程和利用單片機(jī)設(shè)計(jì)電路的方法。利用外中斷0口監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào)。 結(jié) 論本設(shè)計(jì)介紹了一種基于單片機(jī)的超聲波測(cè)距系統(tǒng)的原理和設(shè)計(jì)。 dsreset()。 b=tmpread()。 // address all drivers on bus tmpwritebyte(0x44)。 //write 0 i=8。 dat=dat1。//讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個(gè)字節(jié)在DAT里 } return(dat)。while(i0)i。 b
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1