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

正文內(nèi)容

基于51單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)畢業(yè)論文-資料下載頁(yè)

2025-06-18 21:44本頁(yè)面
  

【正文】 =0xF7。/**/} }////void time(uint x) //普通延時(shí)函數(shù) {uint j。 for(j=0。jx。j++) { for(i=0。i122。i++)。//延時(shí)1mS } }// void Send_40K(void) //輸出15個(gè)40k方波函數(shù) { for(i=30。i0。i) { _nop_()。 _nop_()。 _nop_()。 Sout=!Sout。 } }//float Dis_count() //距離計(jì)算函數(shù){ float cm。 cm=TH1*256+TL1。 cm=7610。 //減去限制10M的初值+可調(diào)誤差值 cm*=speed。 //計(jì)算距離uS*34650m cm/=20000。 //轉(zhuǎn)換為s 單程 return cm。}//void led_display(void) //LED顯示函數(shù){ LED_Data=temp[2]。led_3H=0。 //顯示個(gè)位,帶小數(shù)點(diǎn) time(5)。led_3H=1。 LED_Data=temp[1]。led_2H=0。 //顯示1位,無(wú)小數(shù)點(diǎn) time(5)。led_2H=1。 LED_Data=temp[0]。led_1H=0。 //顯示2位,無(wú)小數(shù)點(diǎn) time(5)。led_1H=1。 LED_Data=0xFF。 //關(guān)閉數(shù)據(jù)輸出顯示}//void LED_temp(uint x) //顯示轉(zhuǎn)換 {// x=(unsigned int)x。 temp[2]=LED0[x%10]。 //2位 x/=10。 temp[1]=LED0[x%10]。 //1位 x/=10。 temp[0]=LED1[x]。 //個(gè)位 }////裝入初值void TT1(void){TH1=(6553558000)/256。 //初值裝入定時(shí)器T1,用于發(fā)射超聲波后計(jì)數(shù),TL1=(6553558000)%256。 //初值限定測(cè)量范圍10M}//uint C_speed(void) { uchar y。 y=Read_Temperature()。 if(r){ //若1820存在則處理 if(T_C!=y) 速 { T_C=y。 if(tu==0)speed=332+T_C*。 else speed=332T_C*。 } }else speed=。 return speed。}//void show(uint x){for(。x0。x){led_display()。}}//多次顯示函數(shù)//void key(void) {if(k1==0||k2==0||k3==0) { show(5)。 if(k1==0){bell=0。show_temperature=~show_temperature。while(k1==0)。bell=1。} if(k2==0){bell=0。while(k2==0)。bell=1。} if(k3==0){bell=0。while(k3==0)。bell=1。} }}//void main(void)//=================主函數(shù)==================={ uchar w。 Read_Temperature()。 for(w=11。w255。w) //啟動(dòng)顯示9~0,H~A,{ LED_Data=LED0[w]。 led_1H=0。led_2H=0。led_3H=0。 time(400)。 bell=0。 LED_Data=0xff。 time(20)。 bell=1。 OFF=0xff。 //關(guān)閉P3口 }//key()。T_show: //標(biāo)號(hào) EA=0。 //關(guān)總中斷 TR1=0。 //停止計(jì)數(shù)do{ LED_T_C(Read_Temperature())。 show(25)。 key()。 show(25)。 key()。 show(25)。 key()。 show(25)。 key()。 show(25)。 key()。 show(25)。 key()。 show(25)。 key()。 }while(show_temperature==1)。 //測(cè)距部分開始 TMOD=0X11。 //設(shè)定時(shí)器T0、T1工作于16位定時(shí)/計(jì)數(shù)模式 EA=1。 //開總中斷 IT1=1。 //外部中斷下降沿觸發(fā)方式 w=0。while(1){ TT1()。//裝T1初值 TR1=1。 //啟動(dòng)定時(shí)器T1 Send_40K()。 //發(fā)送測(cè)量方波 time_11uS(6)。 //延時(shí)66uS,限制最小測(cè)量 ET1=1。 //允許T1中斷 EX0=1。 //允許外部中斷0中斷 do{ led_display()。} while(flag==0amp。amp。TO==0)。 //判斷是否有收到回波 如有則計(jì)算 判斷是否超出測(cè)量范圍 if(flag==1) { if(w27){C_speed()。w=0。} w++。 dis=Dis_count()。 //轉(zhuǎn)換距離 flag=0。 if(dis=8||dis=996){temp[0]=0xF7。temp[1]=0xF7。temp[2]=0xF7。}//溢出處理 else{ bell=0。 LED_temp(dis)。 bell=1。 show(10)。 //測(cè)量數(shù)據(jù)顯示 } } TO=0。 show(10)。 key()。 if(show_temperature==1)goto T_show。 }}//void int1(void) interrupt 0 //外部中斷0服務(wù){(diào)TR1=0。 //停止計(jì)數(shù)EX1=0。 //關(guān)外部中斷1flag=1。}//void timer1(void) interrupt 3 //T1定時(shí)器中斷服務(wù){(diào)// ET1=0。 //關(guān)中斷 EX1=0。 //關(guān)外部中斷1 TR1=0。 //關(guān)定時(shí) TO=1。 temp[0]=0xF7。 //未收到回波則顯示 temp[1]=0xF7。 temp[2]=0xF7。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1