找回密码
 立即注册

QQ登录

只需一步,快速开始

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

循迹小车代码及电路图

[复制链接]
跳转到指定楼层
楼主
这个循迹小车的用的是占空比控制速度,如果使用的是舵机。那就将控制速度的代码换成可以控制舵机转向角度的函数。不知为什么没法上传代码,那我就发文字。写的很简单,反应的话我用的是89C51和12MHz的晶振没有什么问题。

#include<reg52.h>
# define uint unsigned int
# define uchar unsigned char

sbit ENB=P2^2;   
sbit ENA=P2^5;          
sbit IN1=P2^4;   
sbit IN2=P2^3;          
sbit IN3=P2^0;   
sbit IN4=P2^1;          
sbit right3=P1^0;
sbit right2=P1^1;
sbit right1=P1^2;
sbit middle=P1^3;
sbit left1=P1^4;
sbit left2=P1^5;
sbit left3=P1^6;

uchar zkbENA=0;
uchar zkbENB=0;
uchar t=0;
uchar k=0;

void T0_time() interrupt 1
{
        t++;
        k++;
        if(t<zkbENA)        ENA=1;
        else        ENA=0;
        if(k<zkbENB)        ENB=1;
        else        ENB=0;
        if(k>100)  t=0;k=0;       
        if(t>101)        t=0,k=0;
        TH0=(65536-80)/256;
        TL0=(65536-80)%256;               
  }                                            

  void main()                                               
{  
        IN1=1;
        IN2=0;
        IN3=1;
        IN4=0;
          TMOD=0x01;
          TH0=(65535-100)/256;
          TL0=(65535-100)%256;
          EA=1;
          ET0=1;
          TR0=1;

          while(1)
          {               
        if(middle==0)
                {zkbENB=100;zkbENA=100;}       
        else if(right3==0)
                {zkbENA=0;zkbENB=80;}
        else if(left3==0)
                {zkbENA=80;zkbENB=0;}
        else if(right2==0)
                {zkbENA=20;zkbENB=90;}
        else if(left2==0)
                {zkbENA=90;zkbENB=20;}
        else if(right1==0)
                {zkbENA=70;zkbENB=100;}
        else if(left1==0)
                {zkbENA=100;zkbENB=70;}
        }
}  


如果需要面对更加复杂的有要求处理速度的情况,建议用机器指令写

171ECF399448052A56BE6177560791AB_0..jpg (16.21 KB, 下载次数: 54)

171ECF399448052A56BE6177560791AB_0..jpg

BE144D1324B441C145929985620BF15C_0..jpg (24.89 KB, 下载次数: 49)

BE144D1324B441C145929985620BF15C_0..jpg

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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