SGP30传感器示例程序(基于51单片机、IO模拟I2C)
SGP30传感器示例程序(基于51单片机、IO模拟I2C)
SGP30传感器I2C地址:0x58
说明:这里采用使用IO模拟的方式来实现I2C
点击这里下载SGP30测试源码及数据手册
/*SGP30传感器初始化函数*/
void SGP30_Init(void)
{Start_I2c(); //启动I2C总线SendByte(SGP30WAddr); //发送SGP30传感器写地址SendByte(0x20); //发送命令(0x2003|SGP30_IAQ_init)SendByte(0x03);Stop_I2c(); //停止I2C总线
}/*SGP30传感器读取数据函数*/
void SGP30_Data_Read(unsigned int *dat)
{unsigned char Data01,Data02,Data03,Data04; //读取数据暂存变量unsigned char CRC; //CRC校验值接收变量Start_I2c(); SendByte(SGP30WAddr);SendByte(0x20); //发送命令(0x2008|SGP30_Measure_IAQ)SendByte(0x08);Stop_I2c();DelayMs(10); //必须延时10ms以上,但不宜太长,否则读取不到数据!!!Start_I2c();SendByte(SGP30RAddr);Data01 = RcvByte(); //CO2高位数据 Ack_I2c();Data02 = RcvByte(); //CO2低位数据 Ack_I2c();CRC = RcvByte(); //CRC校验值 Ack_I2c();Data03 = RcvByte(); //TVOC高位数据 Ack_I2c();Data04 = RcvByte(); //TVOC低位数据Ack_I2c();CRC = RcvByte();NoAck_I2c();Stop_I2c();dat[0]=((Data01<<8)|Data02); //拼接CO2数据 dat[1]=((Data03<<8)|Data04); //拼接TVOC数据
}
直接将CO2数据转换为整型数据即可得到二氧化碳浓度数据
因本人水平有限,代码如有不足之处请指出!欢迎大家前来交流!
SGP30传感器示例程序(基于51单片机、IO模拟I2C)相关推荐
- 共阳极数码时钟c语言程序,基于51单片机C语言数字钟程序.doc
基于51单片机C语言数字钟程序 基于51单片机C语言数字钟程序 数字电子钟的设计 一. 绪论 (一)引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地 ...
- 51lcd显示光传感器c语言程序,基于51单片机1602液晶显示GY-30数字光照传感器BH1750FVI程序实例...
基于51单片机1602液晶显示GY-30数字光照传感器BH1750FVI程序实例,系统由GY-30数字光照传感器.51单片机最小系统.1602液晶显示屏组成,电路简单,附件中的程序是实物验证过了的.1 ...
- 湿度控制c语言程序,基于51单片机的湿度控制系统设计.doc
基于51单片机的湿度控制系统设计 基于51单片机的湿度控制系统设计 摘要 关键词:单片机:湿度传感器:ADC0832数模转换 目 录 序 言1 第一章 系统的整体设计方案2 1.1设计内容2 1.2系 ...
- 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真
基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...
- 基于51单片机的光照强度检测c语言程序,基于51单片机光照强度检测报告.doc
基于51单片机光照强度检测报告 课程设计报告 课程名称: 智能仪器课程设计 题 目: 基于51单片机的光照强度 摘要 光敏电阻测光强度系统,该系统可以自动检测光照强度的强弱并显示让人们知道此时光照强度 ...
- 水塔水位测量c语言程序,基于51单片机水塔水箱水位检测系统控制器设计(附程序代码)...
基于51单片机水塔水箱水位检测系统控制器设计(附程序代码)(任务书,开题报告,外文翻译,论文18000字) 摘 要 为了能实现水位监测与控制,以STC89C52作为核心控制芯片,进行了水位检测系统控 ...
- 51单片机的电子钟c语言程序,基于51单片机的电子钟C语言程序
基于单片机C语言的电子钟程序代码与仿真 基于51单片机的电子钟C语言程序: 程序代码 #include #include #define uchar unsigned char #define uin ...
- 水质检测c语言程序,基于51单片机的水质监测系统的设计.doc
基于51单片机的水质监测系统的设计 基于AT89C51单片机的水质监测系统的设计 摘要:现在水源污染已经成了社会密切关注的话题,所以对水质进行监测成了保护水资源的一项重要措施,基于此本文设计了一款能够 ...
- 单片机遥控车c语言程序,基于51单片机的无线遥控小车设计[附发射接收程序]
/***************************************************************/ /*[基于51单片机的无线遥控小车设计] 作者王*茹 */ /*** ...
最新文章
- 全网仅此一篇:工业级压力传感器设计及实现(华大半导体HC32L136)
- 某程序员吐槽:前端开发被哄抢,专科学历能进大厂;客户端开发找工作难如登天,985本硕拿不到一个offer!...
- Host is not allowed to connect to this MySQL server解决方法
- Vue 项目实现按钮级别权限管理
- oracle控制文件的损坏或完全丢失的恢复办法
- CENTOS7 Python3.7安装pip模块以及pip使用
- ElasticSearch highlight搜索结果高亮显示(英文检索)
- 小程序组件的使用(三) 调用子组件方法
- 海思Hi3798MV300_Hi3798MV300H_Datasheet-系统
- cdrx4自动排版步骤_教你用CorelDRAW X4轻松排出干净整齐段落
- 华硕t100ha刷linux,华硕T100一键重装win7系统教程
- 微信小程序wx.setClipboardData复制文本
- 参与流片是一种怎样的体验?
- intel 7260 wifi linux,TK1入门教程基础篇-安装intel7260无线网卡
- class文件加密和解密
- 神经网络特征层可视化pytorch
- 程序员写程序的逻辑思维,和外行人想当然的思维,到底有什么不同
- python解压rar文件
- ant安装配置问题:ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOME.
- hist = np.histogram(image, bins=256, range=(0,255))[0]含义