找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1756|回复: 2
收起左侧

51单片机驱动GY-VL53L0X激光模块 求给个方向

[复制链接]
ID:670202 发表于 2019-12-21 23:34 | 显示全部楼层 |阅读模式
现在要用到51单片机驱动GY-VL53L0X激光模块感觉资料太少了,想请问有没有高手弄过,可以给一下方向吗非常感谢。
回复

使用道具 举报

ID:332444 发表于 2019-12-22 05:27 | 显示全部楼层
回复

使用道具 举报

ID:155507 发表于 2019-12-22 07:47 | 显示全部楼层
我给你来个类似程序参考


  1. #include <reg52.h>
  2. #include "usart.h"
  3. #include "iic.h"  
  4. /*
  5. 硬件接法:
  6. GY-53----C51
  7. PWM_input---P3^7
  8. C51---FT232
  9. TX ---RX
  10. RX ---TX
  11. 软件说明:
  12. 该程序采用PWM进行读取数据 ,距离=高电平时间(us)/10
  13. */
  14. void TIME0_Int(uint32_t BaudRatePrescaler)
  15. {
  16.          TMOD |= 0x01;//定时器0,工作方式1,16位计数
  17.      TH0   =0;
  18.          TL0   =0;
  19.          ET0 =0;
  20.   
  21. }
  22. void delay(unsigned int x)
  23. {
  24.         while(x--);
  25. }
  26. sbit PWM_pin=P3^7;
  27. int main(void)
  28. {
  29.         unsigned char  raw_data[9]={0};
  30.         unsigned int buf=0,distance=0;
  31.         Usart_Int(9600);   
  32.         TIME0_Int();
  33.         while(PWM_pin);         //等待拉高
  34.          while(1)
  35.         {
  36.           while(!PWM_pin); //等待拉低,启动定时
  37.           ET0=1;
  38.           TR0=1;
  39.           while(PWM_pin);//等待拉高,关闭定时
  40.           TR0=0x0;
  41.           ET0=0x0;

  42.           buf=(unsigned int)TH0<<8|TL0;         //读取定时器计数
  43.           distance=(float)buf/110.592*12;//数据转换为距离,定时器计一次时间为12/11.0592(晶振)us,距离=时间(us)/10
  44.           raw_data[0] =distance>>8;
  45.           raw_data[1] =        distance;
  46.           raw_data[2] =2; //模块默认模式
  47.           send_3out(raw_data,3,0x15);//上传到上位机
  48.            TH0   =0x0;
  49.            TL0   =0x0;
  50.          
  51.         }
  52. }
复制代码



GY-53资料v1.7z

829.38 KB, 下载次数: 20

vl53l0x.pdf

1.09 MB, 下载次数: 13

GY-53使用说明v1.pdf

371.27 KB, 下载次数: 24

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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