标题: 红外避障小车程序框架 [打印本页]

作者: xiaosizhu1995    时间: 2016-10-16 20:42
标题: 红外避障小车程序框架
红外避障.rar (795 Bytes, 下载次数: 52)

  1. #include<reg52.h>                                                                                                                                                                                                                                                                                                                                                               #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit IN3=P0^1;                //右轮
  5. sbit IN4=P0^2;                                         
  6. sbit ENB=P0^0;                //使能端A

  7. sbit IN1=P1^1;                //左轮
  8. sbit IN2=P1^2;                                         
  9. sbit ENA=P1^0;                 //使能端B

  10. sbit left_ir=P3^2;
  11. sbit right_ir=P3^3;

  12. uchar t;
  13. uchar speedL,speedR;

  14. void init()
  15. {
  16.         TMOD=0x01;                //8位自动重装
  17.         TH0=(65536-20000)/256;         //发生依次中断需要20ms
  18.         TL0=(65536-20000)%256;
  19.         ET0=1;
  20.         EA=1;
  21.         TR0=1;
  22. }

  23. void forward(uchar speed1,uchar speed2)                 //左右轮都正转==前进                        //speed>=0&&speed<=100; time=speed*200us
  24. {
  25.         speedL=speed1;
  26.         ENA=1;
  27.         IN1=0;
  28.         IN2=1;

  29.         speedR=speed2;
  30.         ENB=1;
  31.         IN3=1;
  32.         IN4=0;               
  33. }

  34. void backward(uchar speed3,uchar speed4)                   //左右轮都反转==后退
  35. {
  36.         speedL=speed3;
  37.         ENA=1;
  38.         IN1=1;
  39.         IN2=0;

  40.         speedR=speed4;                          
  41.         ENB=1;
  42.         IN3=0;
  43.         IN4=1;
  44. }

  45. void turn_right(uchar speed5,uchar speed6)           //右转
  46. {
  47.         speedL=speed5;
  48.         ENA=1;
  49.         IN1=0;                                //左轮正转
  50.         IN2=1;

  51.         speedR=speed6;                        //右轮反转
  52.         ENB=1;
  53.         IN3=0;
  54.         IN4=1;
  55. }

  56. void turn_left(uchar speed7,uchar speed8) //左转
  57. {
  58.         speedL=speed7;            //左轮反转
  59.         ENA=1;
  60.         IN1=1;
  61.         IN2=0;

  62.         speedR=speed8;                //右轮正转
  63.         ENB=1;
  64.         IN3=1;
  65.         IN4=0;               
  66. }


  67. void main()
  68. {
  69.         init();
  70.         while(1)
  71.         {
  72.                 if(left_ir==0&&right_ir==0)
  73.                 {
  74.                         backward(30,50);
  75.                 }
  76.                 else if(left_ir==0)
  77.                 {
  78.                         turn_right(30,30);
  79.                 }        
  80.                 else if(right_ir==0)
  81.                 {
  82.                         turn_left(30,30);
  83.                 }
  84.                 else
  85.                 {
  86.                         forward(30,30);
  87.                 }
  88.         }

  89. }

  90. void Timer0() interrupt 1
  91. {
  92.         if(ENA==1)
  93.         {
  94.                 TH0=(65536-speedL)/256;
  95.                 TL0=(65536-speedL)%256;
  96.                 ENA=0;
  97.         }
  98.         if(ENB==1)
  99.         {
  100.                 TH0=(65536-speedR)/256;
  101.                 TL0=(65536-speedR)%256;
  102.                 ENB=0;
  103.         }
  104.         if(ENA==0)
  105.         {
  106.                 TH0=(65536-20000+speedL)/256;
  107.                 TL0=(65536-20000+speedL)%256;
  108.                 ENA=1;
  109.         }
  110.         if(ENB==0)
  111.         {
  112.                 TH0=(65536-20000+speedR)/256;
  113.                 TL0=(65536-20000+speedR)%256;
  114.                 ENB=1;
  115.         }
  116. }

复制代码



作者: eason丶    时间: 2017-7-12 13:01
真心不错,终于找到了
作者: HJHJH    时间: 2017-7-13 23:41
棒,顶你
作者: lvyanf    时间: 2017-7-14 20:49
红外避障小车程序框架
作者: 仰望天空的猪    时间: 2017-11-30 11:44
不错,顶一手
作者: 龙川江    时间: 2018-3-20 09:44
很棒!
作者: mydpj    时间: 2018-4-30 04:03
请问有注释吗
作者: 黑人盘子    时间: 2018-5-12 00:18
看起来不错的   学学咯




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1