找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1697|回复: 1
打印 上一主题 下一主题
收起左侧

基于51单片机的四传感器的智能小车循迹

[复制链接]
跳转到指定楼层
楼主
ID:295220 发表于 2018-6-4 21:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
sbit IN1=P0^0;               
sbit IN2=P0^1;
sbit IN3=P0^2;
sbit IN4=P0^3;
sbit L_PWM=P0^4;         
sbit R_PWM=P0^5;         
sbit hongwai_l1=P2^2;
sbit hongwai_r1=P2^3;
sbit hongwai_l2=P2^4;
sbit hongwai_r2=P2^5;
#define uint unsigned int
#define uchar unsigned char
unsigned char l_tt=0;        
unsigned char l_Lpwm=3;        
unsigned char l_Rpwm=3;        
void timer0()interrupt 1   using 2   //&para;¨&Ecirc;±&AElig;÷&Ouml;&ETH;&para;&Iuml;1&pound;&not;&Oacute;&Atilde;&micro;&Uacute;2×é&frac14;&Auml;&acute;&aelig;&AElig;÷
{
        TH0=0XFC;         
        TL0=0X18;
        l_tt++;
        if(l_tt>9)l_tt=0;        
        
        if(l_tt<=l_Lpwm){
                 L_PWM=1;
        }
        else{
                L_PWM=0;
        }
        if(l_tt<=l_Rpwm){
                R_PWM=1;
        }
        else{
                R_PWM=0;
        }
}        

void delay1ms(uint i)
{
uint t;
for(;i>0;i--)
{
  for(t=110;t>0;t--);
}
}

void main(void)
{
      
        EA=1;                                               
        TMOD|=0X11;                        
        TH0= 0XFC;               
        TL0= 0X14;
        TR0= 1;
        ET0= 1;
        
        while(1){
                 if(hongwai_l1==0&&hongwai_r1==0)
         {
          IN1=1;
          IN2=0;
          IN3=1;
          IN4=0;
          delay1ms(10);
        }
         if(hongwai_l1==1&&hongwai_r1==1)
         {
         
          IN1=1;
          IN2=1;
          IN3=1;
          IN4=1;
          delay1ms(200);
          IN1=0;
          IN2=1;
          IN3=0;
          IN4=1;
          delay1ms(200);
         
         }
         if(hongwai_l1==1&&hongwai_r1==0)
         {
           IN1=1;
          IN2=1;
          IN3=1;
          IN4=0;
          delay1ms(10);
         }
         if(hongwai_l1==0&&hongwai_r1==1)
         {
           IN1=1;
          IN2=0;
          IN3=1;
          IN4=1;
          delay1ms(10);
        }
                 if(hongwai_l2==1)
         {
         while(1)
         {
          IN1=0;
          IN2=1;
          IN3=1;
          IN4=0;
           if(hongwai_l1==1)
           break;
        }
         }         
               if(hongwai_r2==1)
        {
        while(1)
        {
         IN1=1;
         IN2=0;
         IN3=0;
         IN4=1;
        if(hongwai_r1==1)
         break;
        }
         }
         }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:229756 发表于 2018-6-8 20:37 | 只看该作者
感谢分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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