久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 4驅51循跡智能小車程序!已調試 [打印本頁]

作者: oubujieshi    時間: 2015-5-9 20:53
標題: 4驅51循跡智能小車程序!已調試
                                  自己寫的程序!歡迎大家提出意見

完美循跡111.rar

33.17 KB, 下載次數: 285, 下載積分: 黑幣 -5

可以自己稍微修改


作者: admin    時間: 2015-5-9 23:15
樓主的程貼出來一下方便沒有黑幣的朋友下載

  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar pro_left,pro_right,i,j,w,t,z,y,a,c; //左右占空比標志


  5. sbit BI1=P1^6;           //         避障
  6. //sbit BI2=P1^7;


  7. sbit P04=P0^4;           //電機1               
  8. sbit P05=P0^5;
  9. sbit P06=P0^6;          
  10. sbit P07=P0^7;
  11.                                         //電機2
  12. sbit P08=P0^0;
  13. sbit P09=P0^1;
  14. sbit P10=P0^2;
  15. sbit P11=P0^3;

  16. sbit LED1=P1^3;
  17. sbit LED2=P1^4;
  18. sbit LED3=P1^5;
  19. sbit LED4=P1^6;

  20. sbit en1=P2^4;                  //使能端
  21. sbit en2=P2^5;

  22. //循跡口 三個紅外傳感器
  23. sbit left_red=P1^0; //白線位置
  24. sbit mid_red=P1^1; //黑線位置
  25. sbit right_red=P1^2; //白線位置
  26. void delay(uint z)
  27. {
  28. uchar i;
  29. while(z--)
  30. {for(i=0;i<121;i++);}
  31. }
  32. void init()
  33. {
  34.         P04=1;                                //電機1        左輪
  35.         P05=1;
  36.         P06=1;                           //電機2         右轉
  37.         P07=1;

  38.         P08=1;
  39.         P09=1;
  40.     P10=1;
  41.     P11=1;
  42. TMOD=0X01;//定時器0選用方式1
  43. TH0=(65536-100)/256;
  44. TL0=(65536-100)%256;
  45. EA=1;
  46. ET0=1;
  47. TR0=1;
  48. en1=1;
  49. en2=1;
  50. }
  51. void time0(void)interrupt 1
  52. {
  53. i++;
  54. j++;
  55. if(i<=pro_right) {en1=1;}
  56. else en1=0;
  57. if(i==40) {en1=~en1;i=0;}
  58. if(j<=pro_left) {en2=1;}
  59. else en2=0;
  60. if(j==40) {en2=~en2;j=0;}
  61. TH0=(65536-100)/256;
  62. TL0=(65536-100)%256;
  63. }
  64. void straight() //走直線函數
  65. {
  66. pro_right=22;
  67. pro_left=22;
  68.         P04=1;                                //電機1        左輪
  69.         P05=0;
  70.         P06=1;                           //電機2         右轉
  71.         P07=0;

  72.         P08=1;
  73.         P09=0;
  74.     P10=1;
  75.     P11=0;
  76. }
  77. void turn_left() //左轉彎函數
  78. {
  79. pro_right=15;
  80. pro_left=22;
  81.         P04=0;                                //電機1
  82.             P05=1;                                       
  83.             P06=0;                           //電機2
  84.             P07=1;

  85.                 P08=1;
  86.             P09=0;
  87.         P10=1;
  88.         P11=0;
  89. }
  90. void turn_right() //右轉彎函數
  91. {
  92. pro_right=22;
  93. pro_left=15;
  94.     P04=1;                                //電機1                         左輪
  95.         P05=0;                        
  96.         P06=1;                       //電機2
  97.         P07=0;

  98.     P08=0;
  99.         P09=1;
  100.     P10=0;
  101.     P11=1 ;
  102. }
  103. void turn_back() //后退(反轉)函數
  104. {         pro_right=18;
  105. pro_left=7;
  106.     P04=0;                                //電機1                         左輪
  107.         P05=1;                        
  108.         P06=0;                       //電機2
  109.         P07=1;

  110.     P08=0;
  111.         P09=1;
  112.     P10=0;
  113.     P11=1 ;

  114. }
  115. void ting_back() //后退(反轉)函數
  116. {
  117.     P04=0;                                //電機1                         左輪
  118.         P05=0;                        
  119.         P06=0;                       //電機2
  120.         P07=0;

  121.     P08=0;
  122.         P09=0;
  123.     P10=0;
  124.     P11=0 ;

  125. }



  126. void infrared() //循跡
  127. {

  128. if(mid_red==1) //直
  129. {        straight();

  130. //        if((left_red==0)&&(mid_red==0)&&(right_red==0))
  131. //                  {
  132. //                          t=1;
  133. //                                                    while(t)
  134. //                                                 {
  135. //                                                   turn_back();
  136. //                                                  
  137. //                                                   if(mid_red==1)
  138. //                                                   {
  139. //                                                             t=0;
  140. //                                                   }
  141. //                                                 }
  142. //                                                 }

  143. }

  144. if(left_red==1)//左
  145. {  
  146. //        turn_left();

  147. //        if((left_red==0)&(mid_red==0)&(right_red==0))
  148.                   
  149.                           w=1;
  150.                                                     while(w)
  151.                                                  {
  152.                                                    turn_left();
  153.                                                
  154.                                                    if(mid_red==1)
  155.                                                    {
  156.                                                              w=0;
  157.                                                    }
  158.                                                  }
  159.                                                  
  160. }
  161. if(right_red==1) //右
  162. {       
  163. //   turn_right();

  164. //        if((left_red==0)&(mid_red==0)&(right_red==0))
  165.                   
  166.                           z=1;
  167.                                                     while(z)
  168.                                                  {
  169.                                                    turn_right();
  170.                                        
  171.                                                    if(mid_red==1)
  172.                                                    {
  173.                                                              z=0;
  174.                                                    }
  175.                                                  }
  176.                                                  
  177. }

  178. //if((left_red==0)&(mid_red==0)&(right_red==0))
  179. //{        turn_back();       
  180. //       
  181. //                          y=1;
  182. //                                                    while(y)
  183. //                                                 {
  184. //                                                   straight();
  185. //                       
  186. //                                                   if(mid_red==1)
  187. //                                                   {
  188. //                                                             y=0;
  189. //                                                   }
  190. //                                                 }
  191. //                                                 }

  192. if((left_red==1)&(mid_red==1)&(right_red==1))
  193. {

  194.    ting_back();
  195. }
  196. if(BI1==0)
  197. {
  198.        c=1;
  199.                                                     while(c)
  200.                                                  {
  201.                                                    turn_right();
  202.                                        
  203.                                                    if(mid_red==1)
  204.                                                    {
  205.                                                              c=0;
  206.                                                    }
  207.                                                  }


  208. }                                  



  209. }
  210. void main(void)
  211. {
  212. init();
  213. delay(1);
  214. while(1)
  215. {
  216. infrared();
  217. // straight();
  218. }

  219. }
  220. void int0(void)interrupt 0
  221. {

  222. }


復制代碼

作者: liuqin    時間: 2015-5-9 23:16
你好 能共享一下電路圖和制作資料嗎?
作者: 1176658950    時間: 2015-5-10 01:25
好東西帶走!
作者: 龍之骨    時間: 2015-5-23 23:23
好東西!
作者: oubujieshi    時間: 2015-8-10 20:16
liuqin 發表于 2015-5-9 23:16
你好 能共享一下電路圖和制作資料嗎?

電路圖!看程序接就可以了
作者: 紫色落夢    時間: 2015-8-14 23:17
來學習~~~~~~~
作者: nieli12345    時間: 2015-9-22 09:55
電路圖!看程序接就可以了
作者: moose    時間: 2015-10-15 18:01
感謝樓主
作者: 小菜鳥零號1    時間: 2015-10-15 20:53
好東西

作者: Smile_TJQ    時間: 2016-6-2 17:25
本帖最后由 Smile_TJQ 于 2016-6-2 17:27 編輯

不知道對不對
作者: 單片機新人    時間: 2016-10-7 16:53
想問一下樓主,這個程序中用到了光電紅外開關了嗎?
作者: SNO    時間: 2016-11-30 15:42
四驅的話使能端是不是要用4個
作者: hxj1172387625    時間: 2017-4-11 20:39
有問題啊

作者: xin4633    時間: 2017-4-11 21:10
謝謝這么有用的教程
作者: IKNOW    時間: 2019-6-11 21:36
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS     SEGMENT: ?PR?TURN_BACK?XUNJIJIJI
一直不明白這個警告什么意思

作者: IKNOW    時間: 2019-6-11 21:38
我定義了四個使能端口,為什么車不走了
就是在en1=1后加上自己的en3=1

作者: golbh    時間: 2019-6-12 12:49
比較簡單的控制方法
作者: wdliming    時間: 2019-11-14 13:11
謝謝分享,謝謝管理員
作者: 夏一    時間: 2021-6-1 13:14
liuqin 發表于 2015-5-9 23:16
你好 能共享一下電路圖和制作資料嗎?

某一個寶有成品的




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产成人精品一区二区三 | 一级毛片免费看 | 日韩在线不卡视频 | 成人午夜免费福利视频 | 久久精品一区二区 | 国产一区 | 伊人色综合久久久天天蜜桃 | 精品国产一区二区三区性色av | 91久久国产综合久久 | 欧美在线观看黄色 | 日本电影免费完整观看 | 97成人在线| 日韩欧美国产精品一区 | 久久久久久久av | 粉嫩国产精品一区二区在线观看 | h视频在线观看免费 | 久久久久久国产精品免费免费 | www.国产精| 国产免费看 | 国产一区二区在线免费 | 成人午夜激情 | 久久久久久国产精品久久 | 国产视频线观看永久免费 | 欧美日韩精品一区 | 欧美视频网 | 国产精品一区二区三区久久 | 亚洲三级在线观看 | 中文av电影 | 亚洲一区二区三区视频 | 精品国模一区二区三区欧美 | 亚洲一区三区在线观看 | av播播 | 国产一区二区三区色淫影院 | 日批日韩在线观看 | 日本成人在线网址 | www久| 欧美一级片在线 | 亚洲精品一区在线 | 欧美精品在线免费 | 国产日韩欧美一区 | 羞羞视频在线免费 |