欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 18771|回復: 19
打印 上一主題 下一主題
收起左側

4驅51循跡智能小車程序!已調試

  [復制鏈接]
跳轉到指定樓層
樓主
ID:79470 發表于 2015-5-9 20:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
                                  自己寫的程序!歡迎大家提出意見

完美循跡111.rar

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

可以自己稍微修改

評分

參與人數 2黑幣 +56 收起 理由
liuqin + 6 贊一個!
admin + 50 共享資料的積分獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂3 踩
回復

使用道具 舉報

來自 17#
ID:507431 發表于 2019-6-11 21:36 | 只看該作者
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS     SEGMENT: ?PR?TURN_BACK?XUNJIJIJI
一直不明白這個警告什么意思
回復

使用道具 舉報

來自 19#
ID:507431 發表于 2019-6-11 21:38 | 只看該作者
我定義了四個使能端口,為什么車不走了
就是在en1=1后加上自己的en3=1
回復

使用道具 舉報

沙發
ID:1 發表于 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. }


復制代碼
回復

使用道具 舉報

板凳
ID:77496 發表于 2015-5-9 23:16 | 只看該作者
你好 能共享一下電路圖和制作資料嗎?
回復

使用道具 舉報

地板
ID:79481 發表于 2015-5-10 01:25 | 只看該作者
好東西帶走!
回復

使用道具 舉報

5#
ID:80203 發表于 2015-5-23 23:23 | 只看該作者
好東西!
回復

使用道具 舉報

6#
ID:79470 發表于 2015-8-10 20:16 | 只看該作者
liuqin 發表于 2015-5-9 23:16
你好 能共享一下電路圖和制作資料嗎?

電路圖!看程序接就可以了
回復

使用道具 舉報

7#
ID:88341 發表于 2015-8-14 23:17 | 只看該作者
來學習~~~~~~~
回復

使用道具 舉報

8#
ID:90625 發表于 2015-9-22 09:55 | 只看該作者
電路圖!看程序接就可以了
回復

使用道具 舉報

9#
ID:92134 發表于 2015-10-15 18:01 | 只看該作者
感謝樓主
回復

使用道具 舉報

10#
ID:92574 發表于 2015-10-15 20:53 | 只看該作者
好東西
回復

使用道具 舉報

11#
ID:105268 發表于 2016-6-2 17:25 | 只看該作者
本帖最后由 Smile_TJQ 于 2016-6-2 17:27 編輯

不知道對不對
回復

使用道具 舉報

12#
ID:141579 發表于 2016-10-7 16:53 | 只看該作者
想問一下樓主,這個程序中用到了光電紅外開關了嗎?
回復

使用道具 舉報

13#
ID:149612 發表于 2016-11-30 15:42 | 只看該作者
四驅的話使能端是不是要用4個
回復

使用道具 舉報

14#
ID:188592 發表于 2017-4-11 20:39 | 只看該作者
有問題啊
回復

使用道具 舉報

15#
ID:185687 發表于 2017-4-11 21:10 | 只看該作者
謝謝這么有用的教程
回復

使用道具 舉報

16#
無效樓層,該帖已經被刪除
18#
無效樓層,該帖已經被刪除
20#
ID:489285 發表于 2019-6-12 12:49 | 只看該作者
比較簡單的控制方法
回復

使用道具 舉報

21#
ID:20672 發表于 2019-11-14 13:11 | 只看該作者
謝謝分享,謝謝管理員
回復

使用道具 舉報

22#
無效樓層,該帖已經被刪除
23#
無效樓層,該帖已經被刪除
24#
ID:432653 發表于 2021-6-1 13:14 | 只看該作者
liuqin 發表于 2015-5-9 23:16
你好 能共享一下電路圖和制作資料嗎?

某一個寶有成品的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表