找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2115|回复: 2
收起左侧

智能四驱·小车红外检测单片机程序

[复制链接]
ID:445205 发表于 2018-12-12 20:57 | 显示全部楼层 |阅读模式
红外检测

单片机源程序如下:
  1. //注意程序只做参考之用,要达到最理想的效果,还需要同学们细心调试。
  2. //控制板跳线帽接法
  3. //J6-1 P1.0至P1.7 IO口处跳线帽全部接上          
  4. //如果程序中有PWM功能,需要把J6-2 下排焊针用杜邦线接到 P0.0  P0.1 P0.2 P0.3 IO口上--详细看课件说明

  5.         #include<AT89X52.H>                  //包含51单片机头文件,内部有各种寄存器定义
  6.         #include<HJ-4WD_PWM.H>                  //包含HJ-4WD蓝牙智能小车驱动IO口定义等函数
  7.         #include<XIANSHI.H>
  8.         #define uchar unsigned char
  9. unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  10. unsigned char xianshi[4]={0xff,0xff,0xff,0xff};
  11. unsigned char a=0;
  12.    unsigned int cnt=0;
  13.    unsigned long sec=0;
  14.   

  15.                
  16. //主函数
  17.         void main(void)
  18. {       
  19.        
  20.         unsigned char i;
  21.     P1=0X00;          //小车停止

  22.                          TMOD=11;
  23.         
  24.                         TH1=0XFC;
  25.                         TL1=0X67;
  26.                          TH0=0XFc;          //1Ms定时
  27.                  TL0=0X18;
  28.                          TR0=1;
  29.                          ET0=1;
  30.                         TR1=1;
  31.                         ET1=1;
  32.                 EA = 1;
  33.                   

  34.         while(1)        //无限循环
  35.         {
  36.          
  37.                          //有信号为0  没有信号为1
  38.                                    
  39.        
  40.    
  41.   
  42.       if(TF1==1)
  43.           {
  44.                TF1=0;
  45.                    TH1=0XFC;
  46.                    TL1=0X67;
  47.                    cnt++;
  48.                    if(cnt>=8000)
  49.                    {
  50.                       cnt=0;
  51.                       sec++;
  52.                          xianshi[0]=table[sec%10];
  53.                           xianshi[1]=table[sec/10%10];
  54.                           xianshi[2]=table[sec/100%10];
  55.                           xianshi[3]=table[sec/1000%10];
  56.                             
  57.                    }

  58.                         if(i==0){P2=0xf7;i++;P0=xianshi[0];}
  59.                         else if(i==1){P2=0xfb;i++;P0=xianshi[1];}
  60.                         else if(i==2){P2=0xfd;i++;P0=xianshi[2];}
  61.                         else if(i==3){P2=0xfe;i=0;P0=xianshi[3];}

  62.                    }

  63.                            if(Left_X_led==0&&Right_X_led==0)         //白线

  64.                           run();

  65.                           else
  66.                          {                          
  67.                                                if(Left_X_led==0&&Right_X_led==1)            //左边检测到红外
  68.                                   {
  69.                        
  70.                                  Left_moto_go;                                                   //左边两个电机正转
  71.                                  Right_moto_Stop;
  72.                                  
  73.                              }
  74.                           
  75.                                                              if(Right_X_led==0&&Left_X_led==1)                //右边检测到红外
  76.                                   {          
  77.                
  78.                               Right_moto_go;                                           //右边两个电机正转

  79.                                   Left_moto_Stop;
  80.                                   }
  81.                         }         
  82. }
  83.             
  84.                        
  85.                                
  86.          
  87.          }          
复制代码

所有资料51hei提供下载:
小车.zip (31.99 KB, 下载次数: 8)
回复

使用道具 举报

ID:1 发表于 2018-12-14 02:48 | 显示全部楼层
补全原理图或者详细说明一下电路连接即可获得100+黑币
回复

使用道具 举报

ID:948095 发表于 2021-7-9 16:09 | 显示全部楼层
能分享电路原理图吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表