Sound 发表于 2021-1-29 13:52:57

扩展库使用说明——VL53L0X

本帖最后由 陈哲东 于 2021-7-1 14:42 编辑

VL53L0x模块教学详解学习视频
http://www.haohaodada.com/video/new/data/VL53L0x.mp4

1-硬件概述



VL53lOx是新一代飞行时间(tof)激光测距模块,安装在当今市场上最小的封装中,提供与传统技术不同的目标反射率的精确距离测量。它可以测量高达2米的绝对距离,在测距性能水平方面树立了新的标杆,为各种新的应用打开了大门。


2-引脚定义





3-电路原理图




4-硬件连接图


5-图形化模块


6-范例代码

#define NIXIETUBE_PORT P6
#define NIXIETUBE_PORT_MODE {P6M1=0x00;P6M0=0xff;}//推挽输出
#define NIXIETUBE_LEFT_COLON_PIN P0_7//左侧数码管冒号
#define NIXIETUBE_LEFT_COLON_PIN_MODE {P0M1&=~0x80;P0M0|=0x80;}//推挽输出
#define NIXIETUBE_RIGHT_COLON_PIN P2_1//右侧数码管冒号
#define NIXIETUBE_RIGHT_COLON_PIN_MODE {P2M1&=~0x02;P2M0|=0x02;}//推挽输出
#define SOFTIIC_SCL P1_5
#define SOFTIIC_SCL_OUT {P1M1|=0x20;P1M0|=0x20;}//P1_5开漏输出
#define SOFTIIC_SDA P1_4
#define SOFTIIC_SDA_IN {P1M1|=0x10;P1M0&=~0x10;}//P1_4高阻输入
#define SOFTIIC_SDA_OUT {P1M1|=0x10;P1M0|=0x10;}//P1_4开漏输出

#include <STC8HX.h>
uint32 sys_clk = 24000000;//设置PWM、定时器、串口、EEPROM频率参数
#include "lib/twen_board.h"
#include "lib/led8.h"
#include "lib/nixietube.h"
#include "mylib/vl53l0x.h"
#include "lib/delay.h"

void Timer0Init(void) //1000微秒@24.000MHz
{
AUXR &= 0x7f;   //定时器时钟12T模式
TMOD &= 0xf0;   //设置定时器模式
TL0 = 0x30;   //设定定时初值
TH0 = 0xf8;   //设定定时初值
}

void T_IRQ0(void) interrupt 1 using 1{
nix_scan_callback();//数码管扫描回调函数
}

void setup()
{
twen_board_init();//天问51初始化
led8_disable();//关闭8个LED流水灯电源
nix_init();//数码管初始化
vl53l0x_init();//VL53L0X初始化
Timer0Init();
EA = 1; // 控制总中断
ET0 = 1; // 控制定时器中断
TR0 = 1;// 定时器0开始计时
}

void loop()
{
nix_display_clear();//数码管清屏
nix_display_num((vl53l0x_read_range_single_millimeters()));//数码管显示整数
delay(1000);
}

void main(void)
{
setup();
while(1){
    loop();
}
}




手册资料:





isLucy 发表于 2021-7-2 14:47:15

//player.bilibili.com/player.html?bvid=BV1gX4y1w7ZL



代码搬运工 发表于 2021-8-18 19:49:55

请问,如果我要选择vl5300的测距模式(高精度、长距离、高速),该怎么配置?如果测试前要进行校准又要怎么配置?求指教
页: [1]
查看完整版本: 扩展库使用说明——VL53L0X