找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于51单片机的两路避障小车程序

[复制链接]
跳转到指定楼层
楼主
ID:723182 发表于 2020-4-27 18:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. //每次的转向角度可以通过延时的时间来控制
  2. #include<reg51.h>
  3. sbit cgl=P1^2;//左传感器
  4. sbit cgr=P1^1;//右传感器
  5. sbit l1=P0^1;//左边轮子
  6. sbit l2=P0^2;
  7. sbit r3=P0^3;//右边轮子
  8. sbit r4=P0^4;
  9. unsigned int m;
  10. void delay(unsigned int t)//延时tms
  11. {
  12.    unsigned i,j;
  13.    for(i=0;i<t;i++)
  14.       for(j=0;j<120;j++);
  15. }
  16. void left() //左边有障碍物,往右拐
  17.        {
  18.          l1=0;l2=0;r3=0;r4=0;delay(300);//保护电机,急停然而改变转向
  19.                l1=0;l2=1; //后退
  20.         r3=0;r4=1;
  21.               delay(400);//拐弯的延时控制拐弯的幅度
  22.               l1=0;l2=0;r3=0;r4=0;delay(300);            
  23.          l1=1;l2=0;//向右拐
  24.                r3=0;r4=1;
  25.                delay(600);
  26.                l1=0;l2=0;r3=0;r4=0;delay(300);
  27.        }
  28. void right() //右边有障碍物,往左拐
  29.        {
  30.             l1=0;l2=0;r3=0;r4=0;delay(300);
  31.                l1=0;l2=1; //后退
  32.         r3=0;r4=1;
  33.               delay(400);
  34.               l1=0;l2=0;r3=0;r4=0;delay(300);
  35.                l1=0;l2=1;//向左拐
  36.                r3=1;r4=0;
  37.                delay(600);
  38.                l1=0;l2=0;r3=0;r4=0;delay(300);
  39.        }
  40. void cg()interrupt 0 //与门输出控制中断
  41. {
  42.        if (cgl==0)m=1;
  43.        if (cgr==0)m=2;   
  44. }
  45. void main()
  46. {  
  47.    //P1=0xff;//初始化P1
  48.    EA=1;
  49.    EX0=1;
  50.    IT0=1;
  51.    while(1)
  52.      {   
  53.                  l1=1;l2=0; //前进
  54.            r3=1;r4=0;
  55.                   switch(m)
  56.                  {
  57.                    case(1):left(); m=0;break;//右拐
  58.                       case(2):right();m=0;break;//左拐
  59.                       default:l1=1;l2=0; //前进
  60.                                  r3=1;r4=0; break;
  61.                  }
  62.         }
  63. }      
复制代码


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

使用道具 举报

沙发
ID:1 发表于 2020-4-28 14:08 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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