扩展库使用说明——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();
}
}
手册资料:
//player.bilibili.com/player.html?bvid=BV1gX4y1w7ZL
请问,如果我要选择vl5300的测距模式(高精度、长距离、高速),该怎么配置?如果测试前要进行校准又要怎么配置?求指教 距离怎么配置 校准又要怎么配置
页:
[1]