资源简介
VL53l0x的51单片机程序;单片机使用STC15F104E

代码片段和文件信息
#include“i2c.h“
/*******************************************************************************
* 函 数 名 : Delay1us()
* 函数功能 : 延时
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void I2C_Delay10us()
{
unsigned char i;
_nop_();
_nop_();
_nop_();
i = 24;
while (--i);
}
/*******************************************************************************
* 函 数 名 : I2C_Start()
* 函数功能 : 起始信号:在I2C_SCL时钟信号在高电平期间I2C_SDA信号产生一个下降沿
* 输 入 : 无
* 输 出 : 无
* 备 注 : 起始之后I2C_SDA和I2C_SCL都为0
*******************************************************************************/
void I2C_Start()
{
I2C_SDA = 1;
I2C_Delay10us();
I2C_SCL = 1;
I2C_Delay10us();//建立时间是I2C_SDA保持时间>4.7us
I2C_SDA = 0;
I2C_Delay10us();//保持时间是>4us
I2C_SCL = 0;
I2C_Delay10us();
}
/*******************************************************************************
* 函 数 名 : I2C_Stop()
* 函数功能 : 终止信号:在I2C_SCL时钟信号高电平期间I2C_SDA信号产生一个上升沿
* 输 入 : 无
* 输 出 : 无
* 备 注 : 结束之后保持I2C_SDA和I2C_SCL都为1;表示总线空闲
*******************************************************************************/
void I2C_Stop()
{
I2C_SDA = 0;
I2C_Delay10us();
I2C_SCL = 1;
I2C_Delay10us();//建立时间大于4.7us
I2C_SDA = 1;
I2C_Delay10us();
}
/*******************************************************************************
* 函 数 名 : I2cSendByte(uchar num)
* 函数功能 : 通过I2C发送一个字节。在I2C_SCL时钟信号高电平期间,
* * 保持发送信号I2C_SDA保持稳定
* 输 入 : num ack
* 输 出 : 0或1。发送成功返回1,发送失败返回0
* 备 注 : 发送完一个字节I2C_SCL=0 需要应答则应答设置为1,否则为0
*******************************************************************************/
uchar I2C_SendByte(uchar dat)
{
uchar a = 0b = 0;//最大255,一个机器周期为1us,最大延时255us。
for(a=0; a<8; a++)//要发送8位,从最高位开始
{
dat <<= 1;
I2C_SDA=CY;
I2C_Delay10us();
I2C_SCL = 1;
I2C_Delay10us();//建立时间>4.7us
I2C_SCL = 0;
I2C_Delay10us();//时间大于4us
}
//I2C_SDA = 1;
//I2C_Delay10us();
I2C_SCL = 1;
I2C_Delay10us();
CY=I2C_SDA;
I2C_SCL = 0;
I2C_Delay10us();
return CY;
}
/*******************************************************************************
* 函 数 名 : I2cReadByte()
* 函数功能 : 使用I2c读取一个字节
* 输 入 : 无
* 输 出 : dat
* 备 注 : 接收完一个字节I2C_SCL=0
*******************************************************************************/
uchar I2C_ReadByte()
{
uchar a = 0dat = 0;
I2C_SDA = 1; //起始和发送一个字节之后I2C_SCL都是0
I2C_Delay10us();
for(a=0; a<8; a++)//接收8个字节
{
I2C_SCL = 1;
I2C_Delay10us();
dat <<= 1;
dat |= I2C_SDA;
I2C_Delay10us();
I2C_SCL
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3625 2017-02-28 16:36 VL53l0x激光测距\i2c.c
文件 3441 2017-02-28 16:04 VL53l0x激光测距\i2c.c.orig
文件 451 2017-02-28 16:36 VL53l0x激光测距\i2c.h
文件 452 2017-02-28 16:18 VL53l0x激光测距\i2c.h.orig
文件 6297 2017-02-28 21:16 VL53l0x激光测距\i2c.LST
文件 5393 2017-02-28 21:16 VL53l0x激光测距\i2c.OBJ
文件 5793 2017-02-28 21:16 VL53l0x激光测距\main.c
文件 10684 2017-02-28 21:16 VL53l0x激光测距\main.LST
文件 14076 2017-02-28 21:16 VL53l0x激光测距\main.OBJ
文件 6376 2009-05-07 14:37 VL53l0x激光测距\STARTUP.A51
文件 14048 2017-02-28 21:16 VL53l0x激光测距\STARTUP.LST
文件 749 2017-02-28 21:16 VL53l0x激光测距\STARTUP.OBJ
文件 9130 2017-01-13 14:50 VL53l0x激光测距\stc.h
文件 21515 2017-02-28 21:16 VL53l0x激光测距\VL53L0X
文件 750 2017-02-28 21:16 VL53l0x激光测距\VL53L0X.build_log.htm
文件 864 2017-02-28 18:05 VL53l0x激光测距\VL53L0X.c
文件 8233 2017-02-28 16:33 VL53l0x激光测距\VL53L0X.c.orig
文件 643 2017-02-28 18:05 VL53l0x激光测距\VL53L0X.h
文件 3521 2017-02-28 21:16 VL53l0x激光测距\VL53L0X.hex
文件 72 2017-02-28 21:16 VL53l0x激光测距\VL53L0X.lnp
文件 2072 2017-02-28 21:16 VL53l0x激光测距\VL53L0X.LST
文件 26010 2017-02-28 21:16 VL53l0x激光测距\VL53L0X.M51
文件 5172 2017-02-28 21:16 VL53l0x激光测距\VL53L0X.OBJ
....... 72167 2017-02-28 21:16 VL53l0x激光测距\VL53L0X.uvgui.wnn12
....... 72165 2017-02-28 18:08 VL53l0x激光测距\VL53L0X.uvgui_wnn12.bak
....... 6500 2017-02-28 21:16 VL53l0x激光测距\VL53L0X.uvopt
....... 14267 2017-02-28 18:07 VL53l0x激光测距\VL53L0X.uvproj
....... 6498 2017-02-28 18:08 VL53l0x激光测距\VL53L0X_uvopt.bak
....... 14105 2017-02-28 16:36 VL53l0x激光测距\VL53L0X_uvproj.bak
目录 0 2017-02-28 21:16 VL53l0x激光测距
............此处省略3个文件信息
相关资源
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 51单片机频率计(很简单)
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 8051单片机教程第二十七课:单片机几
- 8051单片机教程第二十六课:矩阵式键
- 适用于STC单片机和51单片机的SX1262驱动
- 基于51单片机的计算器(C51编写,有
- 51单片机大量源码
- VL53L0X激光测距传感器资料
- 基于51单片机的交通信号灯程序
- GSM监控系统51单片机设计
- 51单片机定时器/计数器的结构和原理
评论
共有 条评论