wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10431|回復: 4
收起左側

基于51單片機小車尋跡、避障源程序(注釋很詳細)

  [復制鏈接]
ID:290447 發表于 2018-5-2 21:51 | 顯示全部樓層 |閱讀模式
0.jpg
尋跡、避障單片機源程序如下:
  1. /*
  2. * 作者:趙新
  3. * 功能:尋跡小車主函數
  4. * 日期:2015/3/10 進行PWM的修改
  5. * 說明:編譯器會有一些警告,主要是定義的一些函數在這里沒有用到,可以注釋掉或者寫成條件編譯  2015/9/15
  6. */
  7. #include "reg51.h"
  8. #include "intrins.h"
  9. #include "Motor.h"
  10. #define LEFT  0  //左側觸到黑線
  11. #define RIGHT 1  //右側觸到黑線
  12. #define ALL   2         //同時觸到黑線
  13. #define NONE  3         //正常運行沒有觸到黑線

  14. u8 i = 0;
  15. sbit Left = P0^4;
  16. sbit Right = P0^5;
  17. sbit PWM_LEFT  = P1^0;
  18. sbit PWM_RIGHT = P1^1;

  19. u8 JudgeMode();
  20. //void Delay100ms();
  21. void main()
  22. {
  23.   TMOD = 0x01;//定時器0,2工作在模式1 50ms時基
  24.   TH0 = 0xfc;
  25.   TL0 = 0x18;
  26.   ET0 = 1;
  27.   EA  = 1;
  28.   TR0 = 1;
  29.   Go();
  30.   while(1)
  31.   {
  32.      switch(JudgeMode())
  33.          {
  34.             case 0: {
  35.                        Turn_Left(0);
  36.                            //Delay100ms();
  37.                            }break;
  38.             case 1: {
  39.                          Turn_Right(0);
  40.                                  //Delay100ms();
  41.                                  }break;
  42.                 case 2: Stop();       break;
  43.                 case 3: Go();         break;
  44.          }
  45.   }
  46. }

  47. u8 JudgeMode()//用于判斷小車此時狀態
  48. {
  49.    if(Left==0&&Right==1)//左側觸到黑線,應向左轉
  50.      return LEFT;

  51.    if(Left==1&&Right==0)//右側觸到黑線,應向右轉
  52.      return RIGHT;

  53.    if(Left==0&Right==0)//同時觸到黑線,應進一步判斷是‘T’型還是‘十’型路況
  54.      return ALL;

  55.    if(Left==1&&Right==1)//沒有觸到黑線,可能正常運行,可能小車跑偏了
  56.      return NONE;

  57. }






  58. void Time0(void) interrupt 1  //初定周期200ms,空占比50%
  59. {
  60.      
  61.      TH0 = 0xfc;
  62.      TL0 = 0x18;
  63.             ++i;
  64.          if(i>=2) //>=2 1/4空占比
  65.          {
  66.             PWM_LEFT  =         1;
  67. ……………………

  68. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
  1. /*
  2. * 作者:趙新
  3. * 功能:實現小車躲避障礙,通過檢測三個方向的距離,選擇最大距離轉彎
  4. * 日期:2015/3/14
  5. * 說明:STC89c52RC,12MHz
  6. * 注意:1000ms和100ms待測,完成后刪除此行
  7. *—————————————————管腳說明——————————————
  8. * Trig = P1^0
  9. * Echo = P3^2
  10. * PWM_OUT = P0^4
  11. *————————————————————————————————————————
  12. */
  13. #include "stc89c5x.h"
  14. #include "intrins.h"
  15. #include "Motor.h"
  16. #define X 20   //最短距離參考值 約為12厘米 受溫度影響,會存在10%左右的誤差

  17. sbit Trig = P1^0;//發送端
  18. sbit Echo = P3^2;//接收端 若用外部中斷0,則此引腳必須是P3.2

  19. sbit PWM_OUT = P0^4;//PWM信號輸出端
  20. u8 counts = 0;      //設置初值
  21. u8 PWM =6;                        //設置初值,任意值也可不設
  22. u8 Flag_Angle = 1;  //0 左45度 1 右45度 在函數Scan()中調用
  23. u8 Distance_Middle;
  24. u8 Distance_Temp[2];//0 左45度 1 右45度

  25. void Delay20us();
  26. void Delay100ms();
  27. void Delay1000ms();  //@12.000MHz  用于等待
  28. u8 Compute(u8 th,u8 tl);
  29. void Scan_Around();  //掃描左右
  30. void Scan_Middle();  //掃描正中前進方向距離
  31. void main()
  32. {
  33.   TMOD = 0x11;//設置T0,T1 T0用于電平檢測 T1用于產生舵機需要的PWM信號
  34.   
  35.   TH0 = 0x00;           //轉載初值
  36.   TL0 = 0x00;
  37.   ET0 = 1;           //打開定時器中斷
  38.   TF0 = 0;           //失能定時器中斷標志,也可忽略此語句
  39.   TR0 = 0;           //開始時T0關閉

  40.   TH1 =        0xff;  //產生時基100us定時,用于組成舵機各個角度的信號
  41.   TL1 = 0x9c;
  42.   ET1 = 1;
  43.   TF0 = 0;     //可忽略此語句,51復位此位為0
  44.   TR1 = 0;           //暫時關閉T1
  45.    
  46.   EX0 = 1;     //開外部中斷   
  47.   IT0 = 1;     //下降沿觸發中斷

  48.   EA = 1;           //全局中斷開
  49.                                   
  50.   Trig = 0;           //觸發端拉低
  51.   Echo = 0;
  52.   while(1)
  53.   {
  54.     //Scan_Around();
  55.     Scan_Middle();
  56.         if(Distance_Middle<=X)
  57.         {
  58.            Stop();
  59.            Scan_Around();
  60.            if((Distance_Temp[0]>Distance_Temp[1])&&Distance_Temp[0]>=X)
  61.            {
  62.              Turn_Left(0);
  63.                  Delay100ms();
  64.                  //Delay100ms();
  65.            }else
  66.             if((Distance_Temp[0]<Distance_Temp[1])&&Distance_Temp[1]>=X)
  67.                 {
  68.                   Turn_Right(0);
  69.                   Delay100ms();
  70.                   //Delay100ms();
  71.                 }else
  72.                  if((Distance_Temp[0]==Distance_Temp[1])&&Distance_Temp[0]>=X)
  73.                  {
  74.                    Turn_Right(0);
  75.                    Delay100ms();
  76.                    //Delay100ms();
  77.                  }else
  78.                   {
  79.                     Back();
  80.                         Delay100ms();
  81.                         Delay100ms();
  82.                         Delay100ms();
  83.                         Delay100ms();
  84.                         Delay100ms();
  85.                         Turn_Right(0);
  86.                         Delay100ms();
  87.                         //Delay100ms();
  88.                   }
  89.         }else
  90.          {
  91.            Go();
  92.          }
  93.   }
  94. }

  95. void Timer1(void) interrupt 3 //PWM產生
  96. {
  97.   TH1 = 0xff;
  98.   TL1 = 0x9c;
  99.   if(counts<PWM)
  100.     {
  101.           PWM_OUT = 1;
  102.           
  103.         }
  104.   else
  105.     {
  106.          PWM_OUT = 0;
  107.          if(counts==200)
  108.          {
  109.            counts = 0;
  110.          }
  111.         }
  112.          ++counts;
  113. }

  114. void Timer0(void) interrupt 1 //T0溢出中斷函數,一般來說T0溢出是不可能發生的,原因是傳感器最大探測距離為4m左右,所用時間不會超過65536us
  115. {
  116.   
  117. }
  118. void INT0_Test(void) interrupt 0  //下降沿到來之后,進入外部中斷函數,停止T0計數,計算并發送計算值到計算機
  119. {
  120.   TR0 = 0;
  121.   switch(Flag_Angle)
  122.   {
  123.     case 0:Distance_Temp[0]=Compute(TH0,TL0);TH0 = TL0 = 0x00;break;  //左
  124.         case 1:Distance_Temp[1]=Compute(TH0,TL0);TH0 = TL0 = 0x00;break;  //右
  125.     default:break;
  126.   }
  127.                     //為了下一次準確計數,必須清空  
  128. }

  129. void Scan_Around()   //掃描左右
  130. {
  131.    Flag_Angle = 0;
  132.    PWM = 17;//左轉45度
  133.    TR1 = 1;
  134.    Delay1000ms();
  135.    TR1 = 0;                                 

  136.    Trig = 1;                //觸發一次檢測
  137.    Delay20us();
  138.    Trig = 0;
  139.    while(!Echo);        //如果沒有檢測到返回信號,等
  140.    TR0 = 1;                //檢測到高電平,開T0計數,一直計到下降沿到來
  141.    Delay100ms();

  142.    Flag_Angle = 1;
  143.    PWM = 8; //右轉45度
  144.    TR1 = 1;
  145.    Delay1000ms();
  146.    TR1 = 0;

  147.    Trig = 1;                //觸發一次檢測
  148.    Delay20us();
  149.    Trig = 0;
  150.    while(!Echo);        //如果沒有檢測到返回信號,等
  151.    TR0 = 1;                //檢測到高電平,開T0計數,一直計到下降沿到來
  152.    Delay100ms();

  153.    PWM = 12; //測完回到正中
  154.    TR1 = 1;
  155.    Delay1000ms();
  156.    TR1 = 0;
  157. }

  158. void Scan_Middle() //掃描正中前進方向距離
  159. {
  160.   //Stop();
  161.   Flag_Angle = 3;
  162.   Trig = 1;                //觸發一次檢測
  163.   Delay20us();
  164.   Trig = 0;
  165.   while(!Echo);        //如果沒有檢測到返回信號,等
  166.   TR0 = 1;                //檢測到高電平,開T0計數,一直計到下降沿到來
  167.   Delay100ms();
  168.   Distance_Middle = Compute(TH0,TL0);
  169.   TH0 = TL0 = 0x00;
  170.   //Go();
  171. }

  172. u8 Compute(u8 th,u8 tl)
  173. {
  174.    u16 times = 0x0000;
  175.    times = th;
  176.    times = times<<8;
  177.    times |= tl;

  178.    return (times/58);
  179. }
  180. void Delay20us()                //@12.000MHz  用于產生超聲波觸發信號
  181. {
  182.         unsigned char i;

  183.         _nop_();
  184.         i = 7;
  185.         while (--i);
  186. }

  187. void Delay100ms()                //@12.000MHz
  188. {
  189.         unsigned char i, j;

  190.         i = 195;
  191. ……………………

  192. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼


所有資料51hei提供下載:
循跡避障小車.zip (68.38 KB, 下載次數: 122)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:286423 發表于 2018-5-5 20:38 | 顯示全部樓層
樓主這是用紅外循跡和避障的嘛
回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:341867 發表于 2018-6-1 01:00 來自觸屏版 | 顯示全部樓層
應該是紅外避障吧
回復

使用道具 舉報

ID:648017 發表于 2019-11-23 19:09 | 顯示全部樓層
是紅外避障
回復

使用道具 舉報

ID:685399 發表于 2020-1-12 18:03 | 顯示全部樓層
程序用得是C語言吧
回復

使用道具 舉報

7#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
国内自拍第二页| 思思99精品视频在线观看| 国产精品久久久久7777| 欧美中文字幕在线观看| 欧美三日本三级三级在线播放| 激情久久五月天| 亚洲精品无吗| 一二三四视频在线中文| 女同互忝互慰dv毛片观看| 蜜臀久久99精品久久久| 久久国产波多野结衣| 狠狠热免费视频| 精品国产福利| 97涩涩爰在线观看亚洲| 亚洲精品国产美女| 欧美性猛交xxxx黑人猛交| av在线不卡电影| 性久久久久久| 日本黄色精品| 涩涩屋成人免费视频软件| av黄色在线| 欧美写真视频一区| 日日夜夜天堂| 影音先锋日韩| 国产黄色av网站| 日韩伦人妻无码| 中文字幕av网址| 奇米视频888| 蜜桃视频一区二区在线观看| 精品一区二区三区日本| 国产精品成人观看视频国产奇米| 中文字幕免费精品一区高清| 日韩一区二区麻豆国产| 一本一道久久a久久精品| 国产精品高潮久久久久无| 成人短视频下载| 久久精品99国产国产精| 影音先锋日韩资源| 欧美精品一二| 欧美色图婷婷| 日韩国产在线不卡视频| 深夜成人在线| 一区二区三区伦理| 国产一级免费在线观看| 波多野结衣av在线| 成年人免费影院| 国产女主播在线播放| 天天做天天躁天天躁| 日韩经典在线视频| 国产免费一区二区三区| 91久久夜色精品国产网站| 2019亚洲男人天堂| 欧美精品第一页在线播放| 久久久精品国产一区二区| 日韩电影中文字幕av| 欧美大片顶级少妇| 日韩精品一区二| 日韩欧美色电影| 在线不卡欧美精品一区二区三区| 色婷婷精品久久二区二区蜜臂av | 欧美一区免费看| 麻豆91精品91久久久| 国产黄色录像片| 蜜桃av免费在线观看| 无码人妻aⅴ一区二区三区69岛| 久久久久亚洲AV成人网人人小说| a级大片免费看| 日本r级电影在线观看| 中文字幕日韩久久| 特种兵之深入敌后| 日韩少妇一区二区| 艳妇乳肉豪妇荡乳xxx| 色呦呦一区二区| 欧美黄色激情视频| 北条麻妃在线观看视频| 黄色片在线观看网站| 国产精久久久久久| 成人免费毛片视频| 国产又粗又猛又爽又黄的| 国产欧美日韩综合精品一区二区三区| 国产精品久久久久久久久久久久久久久久| 一区二区三区精| 风流老熟女一区二区三区| 手机看片一区二区三区| 久久综合香蕉| 污污视频网站| 成人手机在线| 九色蝌蚪在线| 自拍亚洲图区| 欧美亚洲大片| 国产精品久av福利在线观看| 成人在线电影在线观看视频| 先锋资源久久| 久久久久一区| 波波电影院一区二区三区| 国产欧美日韩精品在线| 亚洲综合久久久| 在线观看91精品国产入口| 日韩精品中文字幕一区| 粉嫩蜜臀av国产精品网站| 韩日欧美一区二区三区| 久久久亚洲精品石原莉奈| 亚洲免费毛片网站| 欧美日韩一区二区欧美激情| 日韩激情av在线播放| 免费91在线视频| 国产免费久久av| 久久99久久99精品蜜柚传媒| www.日本在线视频| www.午夜av| 三上悠亚在线观看视频| 中文永久免费观看| 永久免费黄色软件| 日本成人免费网站| av一本在线| 久久久成人av毛片免费观看| 亚州综合一区| 蜜桃视频一区| 国产精品你懂的在线| 欧美亚洲国产怡红院影院| 亚洲人成电影网站色…| 日本高清不卡的在线| 欧美日韩精品久久| 香蕉视频网站入口| 国产极品视频在线观看| 91丨九色丨丰满| xxxxbbbb欧美| www.91在线| 精品久久亚洲| 日韩天天综合| 欧美激情一区在线| 91精品国产综合久久久久久久久久| 色综久久综合桃花网| 95av在线视频| 欧美精品一区免费| 日韩福利在线视频| 午夜精品无码一区二区三区| 九色网com| 免费黄色网页在线观看| 999久久久精品一区二区| 亚洲黄色毛片| 国产精品久久久久久久久免费樱桃 | 精品亚洲自拍| 日韩高清一区在线| 国产精品情趣视频| 精品国产99国产精品| 欧美亚洲另类视频| avove在线观看| 成年人网站免费在线观看| 一卡二卡三卡在线| 成人网18入口| 成人免费直播| 欧美一区精品| 国产精品女同一区二区三区| 亚洲国产女人aaa毛片在线| 国产精品视频播放| 亚欧无线一线二线三线区别| 特级西西人体高清大胆| 香蕉视频免费看| 日本黄在线观看| 2021年精品国产福利在线| 老司机免费视频一区二区| 午夜日韩在线电影| 久久网福利资源网站| 日韩欧美亚洲v片| 庆余年2免费日韩剧观看大牛| 麻豆久久久av免费| 日批免费观看视频| 国内精品久久久久久久久久| 久久久久久77777| 欧美韩国日本| 青青草视频一区| 欧美亚洲综合久久| 国产精品白嫩初高中害羞小美女| 我的公把我弄高潮了视频| 少妇影院在线观看| 国产福利微拍精品一区二区| 国内在线免费视频| 亚洲国产第一| 岛国av一区二区| 日韩av片永久免费网站| 欧美成人黑人猛交| 蜜臀尤物一区二区三区直播| 国产成人午夜电影| 成人精品毛片| 久久综合久久综合亚洲| 一本色道久久综合亚洲精品小说| 性刺激综合网| 欧美肥妇bbwbbw| 黄色小视频免费看| 电影亚洲一区| 国产 日韩 欧美大片| 亚洲成人三级在线| 奇米影视首页 狠狠色丁香婷婷久久综合 | 欧美成人精品影院| 3d动漫一区二区三区| 中文字幕在线天堂| 污视频免费在线看| 成人av资源电影网站| 亚洲精品乱码久久久久久| 97精品伊人久久久大香线蕉| 亚洲xxxx2d动漫1| 性中国xxx极品hd| 国产精品一卡二卡三卡| 午夜在线播放视频欧美| 欧美日韩在线综合| 国产亚洲二区| 538任你躁在线精品视频网站| 操你啦视频分享| 精品淫伦v久久水蜜桃| 亚洲欧洲国产日本综合| 国产91免费看片| 中文字幕人妻一区| 国产成人精品实拍在线| 全球中文成人在线| 中文字幕不卡在线观看| 4k岛国日韩精品**专区| 午夜影院免费版| 国产一级影片| 91综合精品国产丝袜长腿久久| 国产精品色眯眯| 日本久久亚洲电影| 在线观看国产网站| 国内一级毛片| 国产探花在线精品| 色诱视频网站一区| 日韩一卡二卡在线观看| a视频免费看| 久久中文字幕二区| 色天天综合久久久久综合片| 国产精品国模大尺度私拍| 欧美极品视频在线观看| 在线观看h视频| 99精品国产99久久久久久福利| 91麻豆精品国产91久久久资源速度 | 亚洲小说图片| 色婷婷精品大视频在线蜜桃视频| 就去色蜜桃综合| 在线观看日韩中文字幕| 97电影在线观看| 九色porny丨国产精品| 日韩一级裸体免费视频| 97超碰人人爽| 尤物视频在线视频| 国产区精品区| 日韩欧美国产麻豆| 妞干网在线视频观看| 嫩模一区二区三区| 日韩视频1区| 欧美日韩一区二区在线播放| 欧洲亚洲一区二区三区四区五区| 在线观看免费视频一区| 国模精品视频| 欧美激情中文字幕一区二区| 91青青草免费观看| 无码人妻久久一区二区三区不卡| 天天干在线视频论坛| 99久久er热在这里只有精品15| 欧洲永久精品大片ww免费漫画| 精品成人无码一区二区三区| 亚洲热app| 国模娜娜一区二区三区| 久久久久久久影院| 精品无人区无码乱码毛片国产| 情趣网站在线观看| 蜜桃视频在线观看一区二区| 国模吧一区二区| 萌白酱视频在线| 免费a级在线播放| 91浏览器在线视频| 99在线视频首页| 91在线观看喷潮| 日本综合精品一区| 欧美高清视频不卡网| 国产精品12345| 一个人看的www片免费高清视频| 午夜av一区| 在线视频日本亚洲性| 精品一区二区三区日韩| 亚洲二区视频| 欧美成人精品在线| 性欧美xxxx视频在线观看| 在线观看亚洲精品视频| 亚洲一区二区在线看| 殴美一级特黄aaaaaa| 日韩极品在线| 精品视频偷偷看在线观看| 中文字幕avav| 在线人体午夜视频| 国产成人精品亚洲午夜麻豆| 国产精品久久久久久久久久免费| 久草视频在线观| 精品日本视频| 欧美日韩大陆一区二区| 韩国日本美国免费毛片| 成人免费观看在线网址| 蜜桃传媒麻豆第一区在线观看| 欧美资源在线观看| 亚洲亚洲精品三区日韩精品在线视频| 国产高清精品软件丝瓜软件| 噜噜噜天天躁狠狠躁夜夜精品 | 三年中国中文在线观看免费播放| 伊人影院蕉久552| 伊人激情综合| 热久久视久久精品18亚洲精品| 无码人妻熟妇av又粗又大| 国产一区二区三区免费观看在线| 欧美一区二区视频观看视频| 国产清纯白嫩初高中在线观看性色| 青青草手机在线| 日本一区二区高清| 欧美黄网在线观看| 午夜电影福利网| 成人国产精品免费| 日本日本精品二区免费| 久草视频国产| 久草在线资源站资源站| 国产色a在线| 国产欧美一区二区三区网站| 自拍偷拍亚洲色图欧美| 九九大香尹人视频免费| 国产伦精品一区二区三区免费迷 | 在线看日韩av| 久久精品国产亚洲av麻豆色欲| 久久亚洲国产精品尤物| 亚洲福利在线播放| 欧美色视频一区二区三区在线观看| 桃花岛成人影院| 精品国产伦一区二区三区免费 | 国产深夜男女无套内射| 99re99| 久久亚洲捆绑美女| 可以在线看黄的网站| 成人18网址在线观看| av成人免费在线| 7777在线视频| 开心丁香婷婷深爱五月| 久久久久久久久久久99999| 永久免费看av| 超碰在线电影| 亚洲摸摸操操av| 天天看片天天操| a免费在线观看| 欧美色男人天堂| 国产视频三区四区| 国产亚洲人成a在线v网站 | 国产欧美综合在线观看第十页| 日本免费成人网| 在线国产一区二区三区| 亚洲成人中文在线| 中文字幕乱妇无码av在线| 国产后进白嫩翘臀在线观看视频| 欧美精品久久久久久久久老牛影院| 99视频日韩| 欧美日本黄色片| 国产精品影视在线| 成人小视频在线观看免费| 国产在线制服美女| 亚洲v中文字幕| 女人被狂躁c到高潮| 国产精品1区| 欧美夫妻性视频| 亚洲 欧美 激情 小说 另类| 毛片av一区二区| 狠狠干视频网站| 成人77777| 91精品国产91综合久久蜜臀| 免费一级片在线观看| 精品欧美久久| 91网站在线看| 国内自拍九色| 一区二区三区日韩精品视频| 成人性生活免费看| 1769国产精品视频| 国产成人短视频| 一级黄色免费| 中文字幕综合网| 欧美做受喷浆在线观看| 精品国产亚洲日本| 性欧美xxxx| 国产1区2区| 综合久久综合久久| 2一3sex性hd| 中文在线综合| 成人一区二区电影| 欧洲免费av| 欧美午夜视频一区二区| 99视频只有精品| 国产精品va| 日韩 欧美 自拍| 在线观看电影av| 日韩在线视频网站| 久久草在线看| 国产精品免费网站在线观看| 制服丝袜第二页| 欧美日韩水蜜桃| 欧美日韩一区在线视频| 成年人在线视频免费观看| 日韩风俗一区 二区| 亚洲国产精品视频在线|