天问Block扩展库使用说明——VL53L0X
视频:https://www.bilibili.com/video/BV1ey4y1K77W?share_source=copy_web1-硬件概述
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();
[*]}
[*]}
[*]
[*]
[*]
复制代码
手册资料:
页:
[1]