视频:
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();
- }
- }
[color=rgb(51, 102, 153) !important]复制代码
手册资料:
VL53L0X.PDF
(1018.86 KB)
|