找回密码
 立即注册

QQ登录

只需一步,快速开始

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

无线遥控加红外循迹或者避障程序

[复制链接]
跳转到指定楼层
楼主
ID:79544 发表于 2016-3-27 12:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
普通4键遥控器控制小车和红外循迹或避障程序
  1. /**********************************************
  2.         功能:4键无线遥控小车程序
  3.         单片机:STC12C5A60S2
  4.         晶振  :11.0592M
  5.         注释 : 遥控器就是普通的4键315M遥控器加接收模块。
  6.                         电机驱动用L298或者L293D,驱动板的电机使能端接5v。
  7. ********************************************/

  8. #include <reg52.h>
  9. #include <intrins.h>
  10. #define uint unsigned int
  11. #define uchar unsigned char

  12. #define A   P3_4 //遥控按键A  
  13. #define BB  P3_5 //遥控按键B   
  14. #define C   P3_6 //遥控按键C     
  15. #define D   P3_7 //遥控按键D  
  16. sbit in1=P1^0; //小车端口
  17. sbit in2=P1^1; //小车端口
  18. sbit in3=P1^2; //小车端口
  19. sbit in4=P1^3; //小车端口
  20. sbit P3_4=P3^4;//遥控按键A
  21. sbit P3_5=P3^5;//遥控按键B
  22. sbit P3_6=P3^6;//遥控按键C
  23. sbit P3_7=P3^7;//遥控按键D
  24. sbit xj_l=P2^0;//循迹或避障左传感器
  25. sbit xj_r=P2^1;//循迹或避障右传感器
  26. void delay10ms(uint z)   
  27. {
  28.         uint a,b;
  29.     for(a=z;a>0;a--)
  30.       for(b=425;b>0;b--);
  31. }
  32. void qianjin()
  33. {
  34.         in1 = 0 ;
  35.     in2 = 1 ;
  36.     in3 = 0;
  37.     in4 = 1;
  38.         delay10ms(100);
  39. }
  40. void houtui()
  41. {
  42.         in1 = 1 ;
  43.     in2 = 0 ;
  44.     in3 = 1;
  45.     in4 = 0;
  46.         delay10ms(100);
  47. }
  48. void zuozhuan()
  49. {
  50.         in1 = 0 ;
  51.     in2 = 1 ;
  52.     in3 = 1;
  53.     in4 = 0;
  54.         delay10ms(100);
  55. }
  56. void youzhuan()
  57. {
  58.         in1 = 1 ;
  59.     in2 = 0 ;
  60.     in3 = 0;
  61.     in4 = 1;
  62.         delay10ms(100);
  63. }
  64. //********************************************************

  65. //********************************************************
  66. void main()
  67. {
  68.     while(1)               
  69.     {
  70.                
  71.         //循迹或避障功能,循迹的时候把传感器朝下安装
  72.         //避障的时候把传感器安装在车的前面朝前安装
  73.         if(xj_l==1&&xj_r==1)
  74.                 qianjin();
  75.         if(xj_l==0&&xj_r==1)
  76.                 youzhuan();
  77.         if(xj_l==1&&xj_r==0)
  78.                 zuozhuan();
  79.         if(xj_l==0&&xj_r==0)
  80.                 houtui();
  81.                 delay10ms(1500);
  82.         //无线遥控功能
  83.         /*        in1 = 0;
  84.                 in2 = 0 ;
  85.                 in3 = 0 ;
  86.                 in4 = 0;                     
  87.         if(A)  //前进
  88.         {                              
  89.             in1 = 0 ;
  90.             in2 = 1 ;
  91.             in3 = 0;
  92.             in4 = 1;
  93.                         delay10ms(100);
  94.         }
  95.         if(BB) //后退
  96.         {
  97.            in1 = 1;
  98.            in2 = 0 ;
  99.            in3 = 1 ;
  100.            in4 = 0;
  101.                         delay10ms(100);
  102.         }

  103.        if(C) //左转
  104.        {
  105.            in1 = 0;
  106.            in2 = 1 ;
  107.            in3 = 1 ;
  108.            in4 = 0;
  109.                 delay10ms(100);
  110.        }
  111.        if(D) //右转
  112.        {
  113.                in1 = 1 ;
  114.                in2 = 0 ;
  115.                in3 = 0 ;
  116.                in4 = 1;
  117.                         delay10ms(100);                     
  118.        }*/
  119.         }
  120. }
复制代码


评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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