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

標題: 51單片機尋跡小車源碼 二驅,兩個傳感器 [打印本頁]

作者: 滬指器    時間: 2018-6-20 09:21
標題: 51單片機尋跡小車源碼 二驅,兩個傳感器
二驅,兩個傳感器
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int


  4. sbit left1=P2^0;
  5. sbit left2=P2^1;
  6. sbit right1=P2^2;
  7. sbit right2=P2^3;   

  8.       
  9. sbit left_red=P2^4; //白線位置

  10. sbit right_red=P2^5; //白線位置
  11. void delay(uint z)
  12. {
  13. uchar i;
  14. while(z--)
  15. {for(i=0;i<121;i++);}
  16. }



  17. void straight() //走直線函數
  18. {

  19. left1=1;
  20. left2=0;
  21. right1=1;
  22. right2=0;
  23. }
  24. void turn_left() //左轉彎函數
  25. {

  26. left1=1;
  27. left2=1;
  28. right1=1;
  29. right2=0;
  30. }
  31. void turn_right() //右轉彎函數
  32. {

  33. left1=1;
  34. left2=0;
  35. right1=1;
  36. right2=1;
  37. }
  38. void turn_back() //后退(反轉)函數
  39. {
  40. left1=0;
  41. left2=1;
  42. right1=0;
  43. right2=1;

  44. }
  45. void infrared() //循跡
  46. {
  47. uchar flag;
  48. if((left_red==1)&(right_red==1))
  49.    {flag=0;}
  50.    else
  51. if((left_red==0)&(right_red==1))
  52.    {flag=1;}
  53.    else
  54. if((left_red==1)&(right_red==0))
  55.    {flag=2;}
  56.    else
  57. if((left_red==0)&(right_red==0))
  58.    {flag=3;}
  59. switch (flag)
  60.    {
  61.     case 0: straight();
  62.      break;
  63.     case 1: turn_left();
  64.      break;
  65.     case 2: turn_right();
  66.      break;
  67.     case 3: turn_back();
  68.      break;


  69.     default:
  70.      break;
  71.    }

  72. }
  73. void main(void)
  74. {

  75. delay(1);
  76. while(1)
  77. {
  78.    infrared();
  79. // straight();
  80. }

  81. }
復制代碼


新建文本文檔.rar

589 Bytes, 下載次數: 9, 下載積分: 黑幣 -5






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1