资源简介
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个文件信息
相关资源
- VL53L0X激光测距传感器资料
- 基于51单片机的交通信号灯程序
- GSM监控系统51单片机设计
- 51单片机定时器/计数器的结构和原理
- MCS-51单片机定时器和计数器区别的理
- 基于51单片机的多通道数据采集范围控
- ADC0832ADC0809DAC0832三种芯片程序,c程序
- 基于51单片机的直流电机转速控制及显
- 高速公路快速放行提示系统
- 光敏电阻传感器模块4线制
- 51单片机_DS1302时钟芯片_共阴数码管
- 《TheArtofElectronics》电子学第二版吴利
- 基于51单片机的教室智能照明控制系统
- 基于单片机的智能低电阻测量仪
- 电动车智能充电桩全套
- 五路循迹智能小车
- 基于51单片机的交通灯设计
- 51 教室智能灯 控制系统
- 51单片机125Khz ID卡读卡程序
- 51单片机课程设计内含50多个课程设计
- 51单片机实现蜂鸣器的简易歌曲播放器
- 基于51单片机的智能十字路口交通灯系
- 51单片机编写的标准modbus协议通信模版
- SIM900A通过51单片机拨打电话程序
- at89c51单片机外文翻译
- CW2015 51单片机程序
- 基于51单片机的超声波测距技术实现含
- 基于51单片机射频密码锁设计门禁刷卡
- 基于51单片机的十字路口交通灯Protu
- 32x16LED汉子点阵显示屏
评论
共有 条评论