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

正文內容

電動智能小車畢業(yè)設計論文-資料下載頁

2025-06-27 16:07本頁面
  

【正文】 IN1 = 1。 IN2 = 0。 IN3 = 1。 IN4 = 0。}/*********************剎車控制**********************/ void Brake(void){ IN1 = 1。 IN2 = 1。 IN3 = 1。 IN4 = 1。 }/********************避障傳感器*********************/uchar Sen1In(void){ uchar i,temp。 //載入數據 sen1ld=0。 _nop_()。 _nop_()。 sen1ld=1。 //移出數據 for(i=0。i8。i++) { temp=1。 sen1clk=0。 if(sen1dat)temp=temp|0x01。 sen1clk=1。 } sen2clk=0。 temp=tempamp。0x3f。 return(temp)。} /********************循跡傳感器*********************/uchar Sen2In(void){ uchar i,temp。 //載入數據 sen2ld=0。 _nop_()。 _nop_()。 sen2ld=1。 //移出數據 for(i=0。i8。i++) { temp=1。 sen2clk=0。 if(sen2dat)temp=temp|0x01。 sen2clk=1。 } sen2clk=0。 return(temp)。}/*********************循跡程序**********************/void Track(void){ xped=Sen2In()。 switch (~xped) { case 0x80: Leftself()。 for(。0x18!=~Sen2In()。)。 Forward()。 break。 case 0xc0: Right()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x60: Right()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x40: Right()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x30: Right()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x20: Right()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x18: Forward()。 break。 case 0x0c: Left()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x08: Left()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x06: Left()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x04: Left()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x02: Left()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x03: Left()。 for(。xped==Sen2In()。)。 Forward()。 break。 case 0x01: Rightself()。 for(。0x18!=~Sen2In()。)。 Forward()。 break。 case 0x00: Delay1ms(100)。 if(Sen2In()==0xff) { Brake()。 } break。 }}void Avoidance(void){ hped = Sen1In()。 h0 = hpedamp。0x01。 h1 = hpedamp。0x02。 h2 = hpedamp。0x04。 // 右側標志位 測不到物體時 , 向右轉90度 h3 = hpedamp。0x08。 // 左側標志位 測不到 物體時 向左轉 90度 h4 = hpedamp。0x10。 h5 = hpedamp。0x20。 //替代 H3 // 如果左右兩邊都有障礙 if((h2==0)amp。amp。(h5==0)) { Forward()。 // if((h1==0)amp。amp。(h0==1)) { Forward()。 Right()。 while(hped==Sen1In())。 Forward()。 } // 左側有障礙 else if((h0==0)amp。amp。(h1==1)) { Forward()。 Left()。 while(hped==Sen1In())。 Forward()。 } // 右邊有障礙 else if((h0==0)amp。amp。(h1==0)) Brake()。 // 同時檢測到障礙 } // 如果左側無障礙 if((h2==0)amp。amp。(h5==1)) { Forward()。 Left()。 Delay1ms(2000)。 hped=Sen1In()。 h0=hpedamp。0x01。 h1=hpedamp。0x02。 h2=hpedamp。0x04。 h3=hpedamp。0x08。 h4=hpedamp。0x10。 h5=hpedamp。0x20。 if((h1==0)amp。amp。(h0==1)) { Forward()。 Right()。 while(hped==Sen1In())。 Forward()。 } } // 如果右側無障礙 if((h5==0)amp。amp。(h2==1)) { Forward()。 Right()。 Delay1ms(2000)。 hped=Sen1In()。 h0=hpedamp。0x01。 h1=hpedamp。0x02。 h2=hpedamp。0x04。 h3=hpedamp。0x08。 h4=hpedamp。0x10。 h5=hpedamp。0x20。 if((h0==0)amp。amp。(h1==1)) { Forward()。 Left()。 while(hped==Sen1In())。 Forward()。 } } // 如果左右都無障礙 if((h2==1)amp。amp。(h5==1)) { hped=Sen1In()。 h0=hpedamp。0x01。 h1=hpedamp。0x02。 h2=hpedamp。0x04。 h3=hpedamp。0x08。 h4=hpedamp。0x10。 h5=hpedamp。0x20。 if((h4==0)amp。amp。(h3==0)) // 若前方有障礙,說明仍在迷宮 { Forward()。 Left()。 Delay1ms(2000)。 Forward()。 } else // 若前方沒有障礙,說明已經出迷宮 { Forward()。 if(Sen2In()!=0xff) { OutFlag=1。 MeaTime=0。 LcdStartPos(0x40)。 Print(Tab4)。 } if(OutFlag) { Brake()。 beep=0。 led=0。 Delay1ms(2000)。 beep=1。 led=1。 Forward()。 Left()。 while (1) { Track()。 } } Delay1ms(2000)。 Forward()。 } }}/**********************定時器T0初始化*********************/void init_T0(void){ TMOD=0x01。 //工作方式1 TH0=0x3c。 //定時50ms TL0=0xb0。 ET0=1。 //允許定時器T0中斷 EA=1。 //開總中斷 TR0=1。 //啟動定時器T0}/**********************定時器T0初始化*********************/void init_T1(void){ TMOD = TMOD|0x10。 TH1 = 0x3C。 TL1 = 0x0B0。 ET1 = 1。 TR1 = 1。}/********************定時器TO中斷服務程序****************/void timer0(void) interrupt 1{ TR0=0。 TH0=0x3c。 //重載定時器T0初值 TL0=0xb0。 TR0=1。 Con_word=0x30。 //寫8254計數器0初值 Count0=(uchar)(time1%256)。 Count0=(uchar)(time1/256)。 Con_word=0x70。 //寫8254計數器1初值 Count0=(uchar)(time2%256)。 Count0=(uchar)(time2/256)。}/********************定時器TO中斷服務程序****************/void timer1(void) interrupt 3{ TH1 = 0x3C。 TL1 = 0x0B0。 if(++MeaMs==20) { MeaTime++。 disbuffer[0]=DispTAB[MeaTime/10]。 disbuffer[1]=DispTAB[MeaTime%10]。 LcdStartPos(0x49)。 Print(disbuffer)。 } }void initdisp(void){ LcdStartPos(0x00)。 Print(Tab1)。 LcdStartPos(0x09)。 Print(Tab3)。 LcdStartPos(0x40)。 Print(Tab2)。}void main(void){ init_T0()。 init_T1()。 Inlt_LCD1602()。 initdisp()。 Forward()。 Delay1ms(5000)。 while (1) { Avoidance()。 Delay1ms(200)。 }}附錄B 硬件原理圖
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1