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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

  [復制鏈接]
跳轉到指定樓層
樓主

尋跡、避障單片機源程序如下:
  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 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:286423 發表于 2018-5-5 20:38 | 只看該作者
樓主這是用紅外循跡和避障的嘛
回復

使用道具 舉報

無效樓層,該帖已經被刪除
地板
ID:341867 發表于 2018-6-1 01:00 來自觸屏版 | 只看該作者
應該是紅外避障吧
回復

使用道具 舉報

5#
ID:648017 發表于 2019-11-23 19:09 | 只看該作者
是紅外避障
回復

使用道具 舉報

6#
ID:685399 發表于 2020-1-12 18:03 | 只看該作者
程序用得是C語言吧
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
日韩中文字幕av电影| 超碰精品一区二区三区乱码| 国产一区二区不卡老阿姨| 亚洲专区**| 国产视频第一区| 国产成人福利短视频app| 精品人妻一区二区三区潮喷在线| 久久精品视频在线观看免费| 午夜精品一区二区在线观看 | 一级特黄特色的免费大片| 欧美视频xxx| 日韩欧美a级片| 艳妇乳肉亭妇荡乳av| 欧美黑人xxx| 精品sm在线观看| 亚洲国产欧美在线人成| 成+人+亚洲+综合天堂| 国内自拍一区| 国产videos久久| 国产精品伦一区二区| h视频在线免费观看| 一级特黄特色的免费大片| 九色国产视频| 天天综合永久入口| 欧美三级网站在线观看| www.av免费| 亚洲国产第一区| 亚洲综合日韩欧美| 国产1区2区3区中文字幕| 精品国产乱码久久久久久久软件 | 国产喷水吹潮视频www| 欧美日韩激情在线观看| 黄瓜视频污在线观看| 自拍偷拍一区二区三区四区| 青青在线视频免费观看| 青青草成人激情在线| 91久久国产婷婷一区二区| 2019av中文字幕| 欧美噜噜久久久xxx| 一区二区三区美女xx视频| 精品国产在天天线2019| 欧美日韩激情一区二区三区| 一本久久综合亚洲鲁鲁五月天| 自拍偷自拍亚洲精品播放| 久久无码av三级| 国产乱码精品1区2区3区| 日本美女一区二区三区视频| 亚洲茄子视频| 好吊一区二区三区| 天天综合国产| 91综合久久一区二区| 激情五月色综合国产精品| 国产精品丝袜在线播放| 久久久91麻豆精品国产一区| 久久人体av| 精品免费av在线| 精品免费av在线 | 97午夜影院| 天天操天天操一操| 2019天天操夜夜操| www.狠狠色.com| 18岁免费网站| 五月天亚洲激情| 91原色影院| 日本免费专区| 天堂社区日本电影超碰| 亚洲精品第一国产综合野草社区| 日本特黄a级高清免费大片| 探花国产精品| 色视频在线观看福利| 日韩专区一区二区| 888av在线| 菠萝菠萝蜜在线观看| 牛牛精品视频在线| 欧美办公室脚交xxxx| 偷拍精品精品一区二区三区| 播放一区二区| 亚洲精品一二三**| 天海翼精品一区二区三区| 嫩草影视亚洲| 国产精品久久久久蜜臀| 一区二区亚洲精品| 免费观看成人av| 国产精品一区二区不卡| 97精品久久久久中文字幕| 国产精品不卡一区| 精品欧美aⅴ在线网站| 欧美日韩不卡在线| 精品久久久久av影院| 亚洲香蕉伊综合在人在线视看| 在线看日韩av| 91国产在线精品| 91色视频在线导航| 日本在线观看一区| 久久久久久www| 欧美三级理论片| 亚洲图片欧美另类| 999精品久久久| 日韩在线视频免费播放| 国产suv精品一区二区69| 97理论电影| a√在线视频| 天堂av中文在线资源库| 好吊日av在线| 日韩第一区第二区| 久久久久蜜桃| 激情深爱一区二区| 久久久国产精品不卡| 亚洲成人综合视频| 日韩一级二级三级精品视频| 日韩中文理论片| 国产精品偷伦免费视频观看的| 欧美男人的天堂| 69堂免费视频| 一级片久久久久| 国产精品777777| www.亚洲一区二区三区| 成年网站在线看| 成人精品一区二区三区校园激情| 亚洲www.| 日韩一区三区| 国产精品一区二区久久精品爱涩 | 国产精品欧美一区二区| 日韩动漫在线观看| 色乱码一区二区三区在线| 亚洲一二三四五六区| 一级成人免费视频| 色啪啪.com| 免费看a在线观看| 国产激情综合| 亚洲黄色高清| 国产日韩欧美电影| 欧美一级久久久久久久大片| 久久久久九九九九| 日韩国产一区久久| 九九九久久久久久久| 妺妺窝人体色www在线下载| 亚欧在线观看视频| 一级黄色av| 校园春色亚洲色图| 国产主播一区| 欧美国产精品一区二区三区| 日韩精品一区二区在线| 国产精欧美一区二区三区| 2022中文字幕| 特级西西人体高清大胆| 色婷婷av一区二区三区之e本道| 成人亚洲一区二区三区| 欧美电影h版| 国产精品红桃| 中文字幕一区二区三区在线观看 | 国产日韩欧美激情| 亚洲爱爱爱爱爱| 国产精品一区二区在线| 黄色片网址在线观看| 黄免费在线观看| 亚洲国产中文字幕在线| 性综艺节目av在线播放| 成人免费91| 精品一区二区三区影院在线午夜| 色综合久久久久| 69久久夜色精品国产69乱青草| 国产成人精品免费看在线播放 | 97视频免费| 日韩不卡在线| 日韩黄色三级| 国产精品毛片一区二区三区| 樱桃视频在线观看一区| 伊人久久久久久久久久| 欧美精品国产精品久久久| 国产精品果冻传媒| 亚洲精品.www| 婷婷国产在线| 九九免费精品视频在线观看| 91在线免费视频观看| 日韩高清欧美高清| 六月婷婷久久| 成人免费网站黄| 美女扒开尿口让男人操| 麻豆视频在线播放| 99久久夜色精品国产亚洲1000部| 欧美激情一区二区三区全黄 | 亚洲一区在线免费观看| 欧美精品中文字幕一区| 欧美日韩中文字幕在线播放| 免费又黄又爽又色的视频| 免费三级毛片| 在线观看免费国产成人软件| 免费黄网站在线观看| 狠狠色狠狠色综合婷婷tag| 中文久久乱码一区二区| 久久精品99久久久香蕉| 国产精品久久久影院| 日本三级网站在线观看| eeuss在线播放| 国内精品偷拍| 国产精品欧美一级免费| 欧美激情一二三| 1024精品视频| 国产精品-色哟哟| 黄色av免费在线观看| 91精品在线观看国产| 午夜精品久久久久久久蜜桃app| 日韩av片电影专区| 亚洲天堂一区二区在线观看| 午夜av入18在线| 国产白丝在线观看| 天堂在线亚洲视频| 精品成人在线观看| 亚洲草草视频| 久久这里只有精品免费| 最近中文字幕mv第三季歌词 | 欧美综合亚洲图片综合区| 92国产精品久久久久首页 | 久久久久久久一区| 久久视频免费在线播放| 欧美极品欧美精品欧美图片| 国产三级精品在线观看| 麻豆传媒免费在线观看| 日韩精品乱码免费| 日韩精品视频免费在线观看| 成人短视频在线观看免费| 艳妇乳肉豪妇荡乳av| 国产精品实拍| 国产乱一区二区| 中文字幕日韩专区| 天天色综合天天色| 四虎一区二区三区| 国产乱码精品一区二区三区亚洲人 | 在线观看欧美黄色| 久久精品人成| 国偷自拍第113页| 国产免费a∨片在线观看不卡| 亚洲深爱激情| 亚洲人成在线观看网站高清| 91看片就是不一样| 影音先锋男人资源站| 青草综合视频| 亚洲欧美精品午睡沙发| 91亚洲精品一区| 精品一级少妇久久久久久久| 国产日本在线观看| 日本女优在线视频一区二区 | 狠狠干狠狠操视频| 韩国xxxx做受gayxxxx| 国内视频在线精品| 欧美日韩亚洲91| 久久国产精品久久| 毛片在线免费播放| 国内老司机av在线| 91视频国产观看| 国产精品久久久91| 欧美日韩黄色网| 搞黄视频在线观看| 国产一区二区三区高清播放| 欧美人与性动交| av在线天天| 色美美综合视频| 欧美主播一区二区三区美女 久久精品人| 欧美一级夜夜爽| 99re视频精品| 色综合91久久精品中文字幕| 中文字幕第88页| 国产亚洲精品一区二区在线观看 | 亚洲精品在线观看网站| 欧美人成在线观看| 亚洲国产精品区| 亚洲丝袜啪啪| 日韩精品一区在线| 啊啊啊国产视频| 免费观看成年人视频在线观看| 欧美一区电影| 亚洲精品国产美女| 日本在线观看视频一区| 亚洲四虎av| 天堂久久久久va久久久久| 欧美大片免费观看| 老司机深夜福利网站| 欧美主播一区二区三区美女 久久精品人| 日韩欧美中文字幕一区二区三区| 四虎在线视频| 影音先锋中文字幕一区| 国产一区二区欧美日韩| 玖玖爱在线精品视频| 中文字幕在线视频观看| 国产一区91精品张津瑜| 国产精品视频内| 久久久久女人精品毛片九一| 国产高清不卡| 天天色 色综合| 欧美 丝袜 自拍 制服 另类| 美女被黑人爆操网站| 免费视频一区二区三区在线观看| 国模私拍一区二区三区| 欧美日韩中文视频| 国产精品极品美女在线观看| 91国偷自产一区二区开放时间| 久久伊人亚洲| 六月亚洲精品一区| 日本特级黄色片| 成人在线观看免费网站| 久久婷婷国产综合精品青草| 国产一区免费在线观看| 成人免费一级视频| 亚洲午夜久久| 国产亚洲精品久久久久动| 免费看黄色三级| 最新超碰在线| 偷窥少妇高潮呻吟av久久免费| 亚洲午夜精品久久久久久人妖| 成人看片app| 国产成人在线色| 精品一区二区三区自拍图片区 | 成人一区二区不卡免费| 蜜桃视频在线免费| 国产精品99免费看| 欧美国产精品va在线观看| 九九视频免费观看| 欧美成人aaa| 精品精品欲导航| 美国黄色一级毛片| 日韩欧美一起| 欧美中文一区二区三区| 中文字幕1区2区| 国产精品刘玥久久一区| 欧美日韩激情小视频| 色一情一区二区| 成人在线高清视频| 偷拍亚洲欧洲综合| 黄色a级三级三级三级| 免费网站免费进入在线| 日韩欧中文字幕| 亚洲av综合色区无码另类小说| 好了av在线| 欧美无砖专区一中文字| 波多野结衣一二三区| 欧美性猛交bbbbb精品| 成人av电影天堂| 在线观看区一区二| 欧美13一14另类| 久久99国产精品久久99小说| 国产精品久久久一区二区| 91亚洲精华国产精华| 一二三四在线观看视频韩国| 首页欧美精品中文字幕| 国产精品视频免费一区| 91成品视频入口| 国产91丝袜在线播放0| 中文字幕一区二区三区四区五区六区| 黄色毛片免费| 久久精品日产第一区二区三区高清版| 日韩a级在线观看| 九色网友自拍视频手机在线| 激情亚洲一区二区三区四区| 国产51自产区| 精品成人免费一区二区在线播放| 亚洲欧美日韩国产精品| av在线播放天堂| 久久久999国产| 久久人人超碰精品| 国产精品白丝jk喷水视频一区| 亚洲美女性生活| 麻豆精品网站| 精品免费二区三区三区高中清不卡 | 免费免费啪视频在线观播放| av一区二区久久| 欧美视频第三页| 亚洲男同gay网站| 精品国产百合女同互慰| 国产成人无码精品| 91精品综合| 久久精品欧美| 91短视频在线观看| 精品国产精品自拍| 刘亦菲国产毛片bd| 国产一区二区三区站长工具| 国产亚洲欧美一区| 日韩欧美一区二区免费| 国产丝袜在线精品| 色777狠狠狠综合伊人| 怡红院av在线| 久久亚洲天堂| 日韩脚交footjobhdboots| 成人在线黄色电影| 欧美爱爱视频| 一区二区三区四区高清视频| 北条麻妃在线一区二区免费播放| 国产精品chinese在线观看| 天天躁日日躁狠狠躁欧美巨大小说| 视频一区在线| 欧美片网站免费| 欧美大片一区二区三区| 韩国19禁主播vip福利视频| 日韩成人黄色av| 综合网在线视频| 麻豆免费看一区二区三区| 91精品国产99久久久久久| 欧美乱大交xxxxx另类| 2024国产精品| 91精品又粗又猛又爽|