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

正文內(nèi)容

基于單片機的智能跟蹤小車1-資料下載頁

2025-06-22 01:10本頁面
  

【正文】 /************************************************************************///延時函數(shù)void delay(unsigned int k){unsigned int x,y。for(x=0。xk。x++)for(y=0。y2000。y++)。}/************************************************************************///外部中斷解碼程序void intersvr0(void) interrupt 1 using 1{Tc=TH0*256+TL0。 //提取中斷時間間隔時長TH0=0。TL0=0。 //定時中斷重新置零if((TcImin)amp。amp。(TcImax)){m=0。f=1。return。} //找到啟始碼if(f==1){if(TcInum1amp。amp。TcInum3){Im[m/8]=Im[m/8]1|0x80。 m++。}if(TcInum2amp。amp。TcInum1){Im[m/8]=Im[m/8]1。 m++。 //取碼}if(m==32){m=0。f=0。 }if(Im[2]==~Im[3]){IrOK=1。}else IrOK=0。 //取碼完成后判斷讀碼是否正確}//準備讀下一碼 }}/************************************************************************///前速前進void run(void){Left_moto_go 。 //左電機往前走Right_moto_go 。 //右電機往前走}//前速后退void backrun(void){Left_moto_back 。 //左電機后退Right_moto_back 。 //右電機后退}//右轉(zhuǎn)void rightrun(void){Left_moto_go 。 //左電機前進Right_moto_Stop 。 //右電機停止}//左轉(zhuǎn)void Leftrun(void){Left_moto_Stop 。 //左電機停止Right_moto_go 。 //右電機前進}//停止void stoprun(void){Left_moto_Stop 。 //左電機停止Right_moto_Stop 。 //右電機停止}/*********************************************************************//*主函數(shù)*/void main(void){m=0。f=0。IT0=1。EX0=1。TMOD=0x11。TH0=0。TL0=0。TR0=1。EA=1。delay(100)。while(1) /*無限循環(huán)*/{if(IrOK==1){switch(Im[2]){case 0x18: run()。 //前進break。case 0x52: backrun()。 //后退break。case 0x08: leftrun()。 //左轉(zhuǎn)break。case 0x5A: rightrun()。 //右轉(zhuǎn)break。case 0x1C: stoprun()。 //停止break。default:break。}IrOK=0。}}}附錄二:主程序分析include //包含51單片機頭文件,內(nèi)部有各種寄存器定義//主函數(shù)void main(void){ unsigned char i。P1=0X00。 //關(guān)電車電機 B: for(i=0。i50。i++) //判斷K4是否按下 { delay(1)。 //1ms內(nèi)判斷50次,如果其中有一次被判斷到K4沒按下,便重新檢測 if(P3_7!=0)//當K4按下時,啟動小車前進. goto B。 //跳轉(zhuǎn)到標號B,重新檢測 } BUZZ=0。 //50次檢測K4確認是按下之后,蜂鳴器發(fā)出“滴”聲響,然后啟動小車。 delay(50)。 BUZZ=1。//響50ms后關(guān)閉蜂鳴器TMOD=0X01。 TH0= 0XFc。 //1ms定時 TL0= 0X18。 TR0= 1。 ET0= 1。EA = 1。 //開總中斷 while(1) //無限循環(huán) { if(Left_1_led==1amp。amp。Right_1_led==1) //有信號為1 沒有信號為0run()。 //調(diào)用前進函數(shù) else { if(Left_1_led==1amp。amp。Right_1_led==0)//左邊檢測到紅外信號 {leftrun()。//調(diào)用小車左轉(zhuǎn)函數(shù)} if(Right_1_led==1amp。amp。Left_1_led==0) //右邊檢測到紅外信號 { rightrun()。 //調(diào)用小車右轉(zhuǎn)函數(shù) } if(Right_1_led==0amp。amp。Left_1_led==0) //兩邊傳感器同時檢測到紅外 { run(); } } }}//后為程序的注釋//電機驅(qū)動程序:void run(void){IN1=1。IN2=0。IN3=1。IN4=0; EN1=1。 EN2=1。}//前進函數(shù)左轉(zhuǎn)函數(shù):void leftrun(void){IN1=0。 IN2=1。 IN3=1。 IN4=0。 EN1=0。 EN2=1。 }右轉(zhuǎn)函數(shù):void rightrun(void){IN1=0。 IN2=1。 IN3=0。 IN4=1。 EN1=1。 EN2=0。 }后退函數(shù): void backrun(void){ IN1=1。 IN2=0。 IN3=0。 IN4=1。 EN2=1。 EN1=1。 }所以跟蹤系統(tǒng)的主函數(shù)包括轉(zhuǎn)向的部分如下所示://主函數(shù)void main(void){ run()。 //調(diào)用前進函數(shù) 前進后再進入 無限循環(huán) 前進再后退運動delay(100)。while(1) //無限循環(huán){ run()。 //調(diào)用前進函數(shù)delay(200)。backrun()。 //調(diào)用后退函數(shù)delay(200)。 leftrun()。 //調(diào)用左轉(zhuǎn)函數(shù)delay(200)。rightrun()。 //調(diào)用右轉(zhuǎn)函數(shù)delay(200)。stop()。 //調(diào)用停止轉(zhuǎn)動函數(shù)}液晶顯示程序:void WriteCommandLCM(unsigned char WCLCM,BuysC) {if (BuysC) ReadStatusLCM()。LCM_Data = WCLCM。LCM_RS = 0。LCM_RW = 0。 LCM_E = 0。LCM_E = 0。LCM_E = 1。 }unsigned char ReadDataLCM(void){ LCM_RS = 1。 LCM_RW = 1。 LCM_E = 0。 LCM_E = 0。 LCM_E = 1。 return(LCM_Data)。 …. 附錄三:系統(tǒng)實物圖系統(tǒng)實物圖實物圖45
點擊復制文檔內(nèi)容
教學教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1