找回密码
 立即注册

QQ登录

只需一步,快速开始

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

两路循迹,多多担待

[复制链接]
跳转到指定楼层
楼主
ID:372705 发表于 2018-8-1 12:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int

//**********定义电机的方向*********//
#define left_qian IN1=0;IN2=1 //左边电机前进方向
#define left_hou IN1=1;IN2=0 //左边电机后退方向
#define right_qian IN3=1;IN4=0  //右边电机前进方向
#define right_hou IN4=1;IN3=0  //右边电机后退方向
/********循迹传感器端口定义*****/
/*         传感器位置         */
/*      左0            右0    */
/*      P25             P24   */
/******************************/

sbit left_0=P2^5;     //左边信号
sbit right_0=P2^4;    //右边信号
                          
/*******电机驱动模块端口定义*****/

sbit ENA=P0^0;      //左边电机使能
sbit IN1=P0^1;      //左边电机方向控制
sbit IN2=P0^2;                 //左边电机方向控制
sbit ENB=P0^5;                 //右边电机使能
sbit IN3=P0^7;                 //右边电机方向控制
sbit IN4=P0^6;                 //右边电机方向控制

uchar zkb_l=0;       //左边电机占空比
uchar zkb_r=0;       //右边电机占空比
uchar t=0;           //定时器中断计数器


void init_time0()
{
   TMOD=0x01;                  //方式1 16位计数器
   TH0=(65536-100)/256;
   TL0=(65536-100)%256;
   ET0=1;        //定时器0中断允许位
   TR0=1;        //定时器0运行控制位
}


void time0() interrupt 1
{
   TH0=0xff;
   TL0=0x9c;
   if(t<zkb_l)ENA=1;
   else ENA=0;
   if(t<zkb_r)ENB=1;
   else ENB=0;
   t++;
   if(t>=100)t=0;
}

void xunji()
{
   if((left_0==0)&&(right_0==1))
   {
   zkb_l=30;
   zkb_r=100;
   left_hou;
   right_qian;
   }
else if((left_0==1)&&(right_0==1))  //直行
        {
         zkb_l=70;                                  //左边占空比70%
         zkb_r=70;                                  //右边占空比70%
         left_qian;                                  //左边电机前进
         right_qian;                        //右边电机前进
        }
else if((left_0==1)&&(right_0==0))
    {
    zkb_l=100;
        zkb_r=30;
        left_qian;
        right_hou;
    }
}
void main()
{
   init_time0();
   EA=1;
   while(1)
   {
      xunji();
   }
}

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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