找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6403|回复: 7
收起左侧

智能小车红外遥控单片机源码

[复制链接]
ID:189773 发表于 2017-4-18 17:06 | 显示全部楼层 |阅读模式
分享一个智能小车红外遥控源码:
想学习的可以了解一下。

0.png

  1. /**********************亚博智能小车例程************************
  2. *  平台:BST-V51  + Keil uVision3 + STC89C52
  3. *  名称:智能小车例程
  4. *  编写:罗工
  5. *  晶振:11.0592MHZ
  6. *  说明:免费开源,不提供源代码分析,有问题直接到交流群交流
  7. *  QQ交流群:217588580
  8. *  硬件设置:要有自己动手能力,进行组装接线和传感器灵敏度的调试,才能完成实验
  9. *  使用说明:根据下面IO口自己用杜邦线连接各种模块,可以自己修改各种模块IO口

  10. *  学习建议:进行智能小车程序学习前,可先看51单片机开发板配套28课视频教程

  11. ******************************************************************/
  12. //上电后小车直接进入待命状态,通过遥控控制小车前后左右停

  13. /**************************************************************
  14. //重要说明:一定要把P3.2 IO口上的杜邦线取下,程序才能正常运行
  15. //因为P3.2为单片机外部中断触发脚,本实验采用外部中断方式判断红外信号
  16. ****************************************************************/

  17. //遥控器对应小车前后左右位置请看红外摇控器编码说明图
  18.                
  19. #include<reg52.h>
  20. #include"bst_car.h"
  21.    

  22. #define Imax 14000    //此处为晶振为11.0592时的取值,
  23. #define Imin 8000    //如用其它频率的晶振时,
  24. #define Inum1 1450    //要改变相应的取值。
  25. #define Inum2 700
  26. #define Inum3 3000

  27. unsigned char f=0;
  28. unsigned char Im[4]={0x00,0x00,0x00,0x00};
  29. unsigned char show[2]={0,0};
  30. unsigned long m,Tc;
  31. unsigned char IrOK;

  32.    
  33. /************************************************************************/       
  34. //延时函数       
  35.    void delay(unsigned int k)
  36. {   
  37.      unsigned int x,y;
  38.          for(x=0;x<k;x++)
  39.            for(y=0;y<2000;y++);
  40. }
  41. /************************************************************************/       
  42. //外部中断解码程序
  43. void intersvr0(void) interrupt 1 using 1
  44. {
  45.     Tc=TH0*256+TL0;      //提取中断时间间隔时长
  46.     TH0=0;
  47.     TL0=0;              //定时中断重新置零
  48.     if((Tc>Imin)&&(Tc<Imax))
  49.     {
  50.         m=0;
  51.         f=1;
  52.         return;
  53.     }       //找到启始码

  54.     if(f==1)
  55.     {
  56.         if(Tc>Inum1&&Tc<Inum3)
  57.         {
  58.             Im[m/8]=Im[m/8]>>1|0x80; m++;
  59.         }
  60.         if(Tc>Inum2&&Tc<Inum1)
  61.         {
  62.          Im[m/8]=Im[m/8]>>1; m++; //取码
  63.         }
  64.         if(m==32)
  65.         {
  66.          m=0;  
  67.          f=0;
  68.          if(Im[2]==~Im[3])
  69.         {
  70.            IrOK=1;
  71.         }
  72.         else IrOK=0;   //取码完成后判断读码是否正确
  73.         }
  74.                //准备读下一码
  75.    }

  76. }
  77. /************************************************************************/
  78. //全速前进
  79. void  run(void)
  80. {  
  81.          Left_moto_go ;   //左电机往前走
  82.          Right_moto_go ;  //右电机往前走
  83. }

  84. //全速后退
  85.      void  backrun(void)
  86. {
  87.          Left_moto_back ;   //左电机后退
  88.          Right_moto_back ;  //右电机后退
  89. }

  90. //右转
  91.      void  rightrun(void)
  92. {
  93.          Left_moto_go ;   //左电机前进
  94.          Right_moto_Stop ;  //右电机停止
  95. }

  96. //左转
  97.      void  leftrun(void)
  98. {
  99.          Left_moto_Stop ;   //左电机停止
  100.          Right_moto_go ;  //右电机前进
  101. }
  102. //STOP
  103.      void  stoprun(void)
  104. {
  105.          Left_moto_Stop ;   //左电机停止
  106.          Right_moto_Stop ;  //右电机停止
  107. }


  108. /*********************************************************************/                 
  109. /*--主函数--*/
  110. void main(void)
  111. {
  112.          
  113.     m=0;
  114.     f=0;

  115.     IT0=1;
  116.     EX0=1;

  117.     TMOD=0x11;  
  118.     TH0=0;
  119.         TL0=0;
  120.     TR0=1;
  121.         EA=1;

  122.         delay(100);          


  123. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

完整源码下载:
智能小车红外遥控实验.rar (22.88 KB, 下载次数: 56)
回复

使用道具 举报

ID:191130 发表于 2017-4-19 10:40 | 显示全部楼层
好人一生平安
回复

使用道具 举报

ID:185968 发表于 2017-4-22 21:59 | 显示全部楼层
顶一个,有学习意义
回复

使用道具 举报

ID:193705 发表于 2017-5-11 15:46 | 显示全部楼层
有份详细说明就好了
回复

使用道具 举报

ID:214546 发表于 2017-6-25 21:43 | 显示全部楼层
好人一生平安,我需要黑币
回复

使用道具 举报

ID:422713 发表于 2018-11-8 01:03 来自手机 | 显示全部楼层
调哪个让它不全速前进啊
回复

使用道具 举报

ID:453359 发表于 2018-12-24 13:52 | 显示全部楼层
求代码
回复

使用道具 举报

ID:453359 发表于 2018-12-24 20:19 | 显示全部楼层
怎么调速度
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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