找回密码
 立即注册

QQ登录

只需一步,快速开始

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

雷达防撞避障小车,51单片机代码

[复制链接]
跳转到指定楼层
楼主
ID:928897 发表于 2021-5-28 22:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个是我做的一个雷达避障小车的51单片机代码,小车四驱,双雷达避障,可进可退,判断最有转弯方向。请高手指点一二,谢谢

单片机源程序如下:
  1. /***********************************************************************************************************/

  2. //串口波特率9600
  3. //系统便启动对当前距离进行测量,然后将距离值通过Echo/RX=p3.0 管脚输出测量输出的
  4. //距离值共两个字节,第一个字节是距离的高8位(HDate),第二个字节为距离的低8位(LData),单位为
  5. //毫米。即距离值为 (HData*256 +LData)mm:A3 6F (26 41) C2 96 24 C2 8D F1       
  6. /***********************************************************************************************************/          
  7. #include<reg52.h>
  8. #include<intrins.h>
  9. #include<STDIO.H>

  10. #define uchar unsigned  char
  11. #define uint  unsigned  int  


  12. sbit left_1=P2^2;
  13. sbit left_2=P2^3;
  14. sbit right_1=P2^4;
  15. sbit right_2=P2^5;




  16. #define left_go         {left_1=1,left_2=0;}        //左电机前进
  17. #define left_go_back          {left_1=0,left_2=1;}    //左电机反转
  18. #define left_stop       {left_1=0,left_2=0;}    //左电机停止

  19. #define right_go        {right_1=1,right_2=0;}  //右电机前进
  20. #define right_go_back   {right_1=0,right_2=1;}  //右电机反转
  21. #define right_stop      {right_1=0,right_2=0;}  //右电机停止




  22. void qianjin(void)    //前进
  23. {
  24.   left_go;
  25.   right_go;
  26. }

  27. void stop(void)     //停止
  28. {
  29.   left_stop;
  30.   right_stop;
  31. }

  32. void zuozhuan(void)  //左转
  33. {
  34.   left_stop;
  35.   right_go;
  36. }

  37. void youzhuan(void) //右转
  38. {
  39. left_go;
  40. right_stop;
  41. }
  42. void houtui(void)
  43. {
  44.         left_go_back;
  45.         right_go_back;
  46. }
  47. /********************************************************/
  48. void delayms(unsigned int z)   //ms
  49. {
  50.         unsigned int i,j;
  51.         for(i=z;i>0;i--)
  52.            for(j=110;j>0;j--);
  53. }
  54. /********************************************************/

  55. /*********************************************/
  56. void Init(void)
  57. {
  58.   TMOD=0x21;                   //设T0为方式1,GATE=1;
  59.   TH0=0;
  60.   TL0=0;
  61.   TR0=1;  
  62.   IT0=0;              //外部中断:TI0=0:低电平触发;TI0=1:下降沿触发
  63.   PT0=1;              //中断优先级:外部中断0
  64.   ET0=1;              //允许T0中断
  65.   EX0=1;              //开启外部中断0
  66.   EA=1;                              //开启总中断
  67. }
  68. /********************************************/



  69. void main(void)
  70. {  
  71.    //Init();
  72.     delayms(1000);
  73.    qianjin();
  74.           delayms(4000);
  75.    stop();
  76.    

  77.    houtui();houtui();
  78.    delayms(4000);
  79.    stop();stop();
  80.    stop();stop();

  81.    zuozhuan();
  82.    delayms(2000);
  83.         stop();stop();

  84.    youzhuan();
  85.    delayms(2000);
  86.    stop();stop();
  87.   
  88.         while(1)
  89.         {
  90.        
  91.         }
  92. }              
复制代码

以上代码下载:
雷达避障车code.rar (59.26 KB, 下载次数: 10)

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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