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

正文內(nèi)容

基于單片機的循跡小車畢業(yè)論文-資料下載頁

2025-06-24 16:05本頁面
  

【正文】 社. 1999:1361[11] 李全利,遲榮強編著.,2004:14191[12] 王守中編著.. 人民郵電出版社,2007:103108附錄A 原理圖及PCB圖 系統(tǒng)總設(shè)計電路圖單片機原理圖TCRT5000 傳感器模塊原理圖L298電機控制驅(qū)動模塊原理圖PCB圖:單片機PCB圖L298N電機驅(qū)動模塊PCB圖附錄B 程序代碼/智能循跡小車的C程序/include/*********************第一部分*********************/ //以下是電機驅(qū)動芯片L298N 管腳位聲明 sbit PWM1=P1^0。 //電機A/B使能端 sbit PWM2=P1^1。 sbit IN1=P1^2。 //電機控制端 sbit IN2=P1^3。sbit IN3=P1^4。 sbit IN4=P1^5。 sbit RP1=P2^0。 //傳感器管腳位聲明sbit RP2=P2^1。 sbit RP3=P2^2。 sbit RP4=P2^3。int count1,count2。 //用于中斷計數(shù)//延時函數(shù),延時z秒void delay(int z) { int x,y。 for(x=z。x0。xp for(y=124。y0。y)。 } /*********************第二部分 電機控制子函數(shù)*********************/void forward1() //電機1前進 { IN1=0。 IN2=1。 } void forward2() //電機2前進 { IN3=0。 IN4=1。 }void back1() //電機1后退{(lán) IN1=1。 IN2=0。 } void back2() //電機2后退{(lán) IN3=1。 IN4=0。 } /*********************電機的速度控制 用PWM調(diào)速*********************/void speed(int t1,int sd1,int t2,int sd2) { if(t1sd1) //電機1 PWM調(diào)速 PWM1=1。 else PWM1=0。 if(t2sd2) //電機2 PWM調(diào)速PWM2=1。 else PWM2=0。 }/**************電機的前進、左轉(zhuǎn)、右轉(zhuǎn)控制***************/void turn(int t1,int sd1,int t2,int sd2){ forward1()。 forward2()。 speed(t1,sd1,t2,sd2)。 } /*********************電機的后退控制*********************/void back(int t1,int sd1,int t2,int sd2) { back1()。 back2()。 speed(t1,sd1,t2,sd2)。 } /*********************第三部分 主函數(shù)*********************/void main() { int num=0。TMOD=0x01。 //中斷模式設(shè)置 EA=1。 TH0=(655361000)/256。 //定時 1ms TL0=(655361000)%256。 ET0=1。 TR0=1。 turn(count1,250,count2,250)。 //使小車沖上黑色軌道 delay(350)。 //延時等待小車沖上黑色軌道while(1) { if(RP1==1amp。amp。RP2==1amp。amp。RP3==1amp。amp。RP4==1) back(count1,50,count2,50)。 //1111 當(dāng)四個LED都沒檢測到黑線時,小車后退 if(RP1==1amp。amp。RP2==0amp。amp。RP3==0amp。amp。RP4==1) turn(count1,200,count2,200)。 //1001 當(dāng)?shù)诙?、第三個LED檢測到黑線時,小車前進if(RP1==0amp。amp。RP2==1amp。amp。RP3==1amp。amp。RP4==0)turn(count1,150,count2,150)。 // 0110 當(dāng)?shù)谝?、第四個LED檢測到黑線時,小車減速前進 /*********************小車左轉(zhuǎn)*********************/if(RP1==0amp。amp。RP2==1amp。amp。RP3==1amp。amp。RP4==1) turn(count1,0,count2,150)。 // 0111 當(dāng)只有第一個LED檢測到黑線時,小車左轉(zhuǎn)if(RP1==1amp。amp。RP2==0amp。amp。RP3==1amp。amp。RP4==1)turn(count1,80,count2,150)。 // 1011 當(dāng)?shù)诙€LED檢測到黑線時,小車偏左轉(zhuǎn) if(RP1==0amp。amp。RP2==0amp。amp。RP3==1amp。amp。RP4==1) turn(count1,0,count2,100)。 // 0011 當(dāng)?shù)谝弧⒍€LED檢測到黑線時,小車左轉(zhuǎn)if(RP1==0amp。amp。RP2==0amp。amp。RP3==0amp。amp。RP4==1) turn(count1,0,count2,200)。 // 0001 當(dāng)?shù)谝?、二、三個LED檢測到黑線時,小車左大轉(zhuǎn) /*********************小車右轉(zhuǎn)*********************/if(RP1==1amp。amp。RP2==1amp。amp。RP3==0amp。amp。RP4==1)turn(count1,150,count2,80)。 // 1101 當(dāng)?shù)谌齻€LED檢測到黑線時,小車偏右轉(zhuǎn)if(RP1==1amp。amp。RP2==1amp。amp。RP3==1amp。amp。RP4==0) turn(count1,180,count2,0)。 // 1110 當(dāng)?shù)谒膫€LED檢測到黑線時,小車右轉(zhuǎn) if(RP1==1amp。amp。RP2==1amp。amp。RP3==0amp。amp。RP4==0) turn(count1,100,count2,0)。 // 1100 當(dāng)?shù)谌⑺膫€LED檢測到黑線時,小車右轉(zhuǎn) if(RP1==1amp。amp。RP2==0amp。amp。RP3==0amp。amp。RP4==0)turn(count1,200,count2,0)。 // 1000當(dāng)?shù)诙?、三、四個LED檢測到黑線時,小車右大轉(zhuǎn) /****************小車檢測到全黑情況的處理****************/if(RP1==0amp。amp。RP2==0amp。amp。RP3==0amp。amp。RP4==0) { if(num==0){ back1()。 // 0000 當(dāng)四個LED第一次檢測到黑線時,左輪后退右輪前進,小車左轉(zhuǎn) forward2()。 delay(100)。 //延時100ms,等待小車轉(zhuǎn)過彎道} if(num0 amp。amp。 num6) { turn(count1,200,count2,200)。 // 0000 當(dāng)四個LED再次檢測到黑線的次數(shù)小于6次時 //即到達(dá)黑線時小車前進速度大于后退速度 } if(num=6){ PWM1=0。 PWM2=0。 //當(dāng)四個LED第六次檢測到黑線時,小車停止} num++。 } } /*************第四部分 中斷服務(wù)函數(shù)*************/ void time0()interrupt 1 { TH0=(655361000)/256。 //定時1ms TL0=(655361000)%256。 count1++。 count2++。 if(count1=500) //周期是500ms count1=0。 if(count2=500) //周期是500ms count2=0。 }附錄C 硬件實物圖自動循跡小車TCRT5000 循跡傳感器模塊L298N 電機驅(qū)動模塊單片機電路3
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1