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

正文內(nèi)容

利用超聲波實(shí)現(xiàn)躲避障礙物小車_電子設(shè)計(jì)大賽技術(shù)報(bào)告(已改無錯(cuò)字)

2022-08-24 10:15:58 本頁面
  

【正文】 行計(jì)算。 TX1和 TX2端口不停的發(fā) 射超聲波,當(dāng)超聲波遇到障礙物被反彈回來時(shí),就被 RX1和 RX2接收端接收到,觸發(fā)外部中斷,讀取超聲波發(fā)射到接收的時(shí)間間隔,并且使 succeed_flag,succeed_flag2 為 1標(biāo)志 關(guān)閉外部中斷 返回 計(jì)算距離 計(jì)算距離 結(jié)束 a《 =10amp。a》0? b《 =15amp。b》0? c《 =35amp。c》0? 后退并左轉(zhuǎn) b 》15||b==0? c 》35||c==0? 直走 c《 =35amp。c》0? 后退并左轉(zhuǎn) 左轉(zhuǎn) 右轉(zhuǎn) 后退并右轉(zhuǎn) c《 =35amp。c》0? 后退并左轉(zhuǎn) 后退并左轉(zhuǎn) 回波接收成功。距離的計(jì)算公式為: d=s/2=(c t)/2 其中, d 為被測物與測距儀的距離, s 為聲波的來回的路程, c 為聲速, t 為聲波來回所用的時(shí)間。 C聲速我們采用的是常溫下 340m/s 距離 d化為厘米的公式為: d=(t 17)/1000 其中部分程序如下: sbit Tx1 = P1^4。 //產(chǎn)生脈沖 引腳 sbit Rx1 = P3^2。 //回波引腳 sbit Tx2 = P1^5。 //產(chǎn)生脈沖引腳 sbit Rx2 = P3^3。 //回波引腳 uchar outeH,outeL,outeH1,outeL1。 //自定義寄器 sbit succeed_flag,succeed_flag2。 //測量成功標(biāo)志 void delay_20us() //20us延時(shí)函數(shù) { uchar bt 。 for(bt=0。bt60。bt++)。 } void fas1() //產(chǎn)生一個(gè) 20us的脈沖,在 Tx1引腳 { EA=0。 Tx1=1。 delay_20us()。 Tx1=0。 } void fas2() //產(chǎn)生一個(gè) 20us的脈沖,在 Tx2引腳 { EA=0。 Tx2=1。 delay_20us()。 Tx2=0。 } void ding1() //產(chǎn)生超聲波,定時(shí)器 T0的初始化 { fas1()。 EX0=1。 //打開外部中斷 while(Rx1==0)。 //等待 Rx回波引腳變高電平 succeed_flag=0。 //清測量成功標(biāo)志 TH0=0。 //定時(shí)器 0清零 TL0=0。 //定時(shí)器 0清零 TF0=0。 // TR0=1。 //啟動(dòng)定時(shí)器 1 EA=1。 while(TH0 30)。//等待測量的結(jié)果,周期 (可用中斷實(shí)現(xiàn)) TR0=0。 //關(guān)閉定時(shí)器 1 EX0=0。 //關(guān)閉外部中斷 } void ding2() //產(chǎn)生超聲波,定時(shí)器 T0的初始化 { fas2()。 EX1=1。 //打開外部中斷 while(Rx2==0)。 //等待 Rx回波引腳變高電平 succeed_flag2=0。 //清測量成功標(biāo)志 TH0=0。 //定時(shí)器 0清零 TL0=0。 //定時(shí)器 0清零 TF0=0。 // TR0=1。 //啟動(dòng)定時(shí)器 1 EA=1。 while(TH0 30)。//等待測量的結(jié)果,周期 (可用中斷實(shí)現(xiàn)) TR0=0。 //關(guān)閉定時(shí)器 0 EX1=0。 //關(guān)閉外部中斷 } if(succeed_flag==1) //接收到回波時(shí)計(jì)算距離 { time=outeH*256+outeL。 a=(time*17)/1000。 } if(succeed_flag==0) { a=0。 } if(succeed_flag2==1) { time1=outeH1*256+outeL1。 b=(time1*17)/1000。 } if(succeed_flag2==0) { b=0。 } //外部中斷 0,用做判斷回波電平 INTO_() interrupt 0 // 外部中斷是 0號(hào) { outeH =TH0。 //取出定時(shí)器的值 outeL =TL0。 //取出定時(shí)器的值 succeed_flag=1。 //至成功測量的標(biāo)志 EX0=0。 //關(guān)閉外部中斷 } //****************************************************************** //外部中斷 1,用做判斷回波電平 INT1_() interrupt 2 // 外部中斷是 2號(hào) { outeH1 =TH0。 //取出定時(shí)器的值 outeL1 =TL0。 //取出定時(shí)器的值 succeed_flag2=1。 //至成功測量的標(biāo)志 EX1=0。 //關(guān)閉外部中斷 1 主從機(jī)串口通信程序設(shè)計(jì) 單片機(jī)串口通信用 TI( P31)發(fā)送數(shù)據(jù)、 RI( P30)接收,把要發(fā)送到數(shù)據(jù)給 SBUF就能發(fā)送了,接收時(shí)從 SBUF讀取數(shù)據(jù)。程序如下: void chuank() //從機(jī)串口初始化 { SCON=0x40。 PCON=0x00。 TMOD=0x20。 PS=1。 TH1=0xfd。 //波特率 9600,由定時(shí)器 T1產(chǎn)生 TL1=0xfd。 TR1=1。 } v
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1