利用华大单片机实现AHT10的温湿度采集

一、AHT10传感器

1、简介

  AHT10,新一代温湿度传感器在尺寸与智能方面建立了新的标准:它嵌入了适于回流焊的双列扁平无引脚SMD 封装,底面 4 x 5mm ,高度1.6mm。传感器输出经过标定的数字信号,标准 I2C 格式。AHT10 配有一个全新设计的 ASIC专用芯片、一个经过改进的MEMS半导体电容式湿度传感元件和一个标准的片上温度传感元件,其性能已经大大提升甚至超出了前一代传感器的可靠性水平,新一代温湿度传感器,经过改进使其在恶劣环境下的性能更稳定。目前AHT系列已经升级到了最新的AHT40 ,但是AHT10的控制方法在AHT系列的后续产品上任然适用。

2、特点

 ● 数字输出,I2C 接口
 ● 优异的长期稳定性
 ● 采用SMD封装适于回流焊
 ● 响应迅速、抗干扰能力强

3、接口定义

在这里插入图片描述
电源引脚(VDD,GND)
AHT10 的供电范围为 1.8-3.6V,推荐电压为3.3V。电源(VDD)和接地(GND)之间须连接一个 100nF 的去耦电容,且电容的位置应尽可能靠近传感器。
串行时钟 SCL
SCL 用于微处理器与AHT10之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCL 频率。
串行 数据SDA
SDA 引脚用于传感器的数据输入和输出。当向传感器发送命令时,SDA 在串行时钟(SCL)的上升沿有效,且当 SCL 为高电平时,SDA 必须保持稳定。在 SCL下降沿之后,SDA 值可被改变。为确保通信安
全,SDA 的有效时间在 SCL 上升沿之前和下降沿之后应该分别延长至 TSU and THO 。当从传感器读取数据时, SDA在 SCL 变低以后有效(TV),且维持到下一个 SCL 的下降沿。
在这里插入图片描述
本设计是用别人利用AHT10集成好的电路板,具体样式和型号如下所示:
在这里插入图片描述

二、HC32F460KETA程序设计

1、协议设计

使用模拟IIC设计,所以接口选择,使用普通GPIO,具体如下:
在这里插入图片描述具体模拟IIC的内容说明请参考我的另外一篇博客:链接: link

2、具体代码

起始信号:
高低电平的延时不是固定8us,其他时间长度的延时也是可以的,但是必须满足时序的要求。

void I2C_Start(void)		 //I2C主机发送START信号
{
   
 SDA_Pin_Output_High();
 SensorDelay_us(8);
 SCL_Pin_Output_High();
 SensorDelay_us(8);
 SDA_Pin_Output_Low();
 SensorDelay_us(8);
 SCL_Pin_Output_Low();
 SensorDelay_us(8);   
}

终止信号:

void Stop_I2C(void)	  //一条协议结束
{
   
	SDA_Pin_Output_Low();
	SensorDelay_us(8);
	SCL_Pin_Output_High();	
	SensorDelay_us(8);
	SDA_Pin_Output_High();
	SensorDelay_us(8);
}

写一个字节:

void ZSSC_I2C_WR_Byte(uint8_t Byte) //往从设备写一个字节
{
   
	uint8_t Data,N,i;	
	Data=Byte;
	i = 0x80;
	for(N=0;N<8;N++)
	{
   
		SCL_Pin_Output_Low();
	  
		Delay_3us();	
		
		if(i&Data)
		{
   
			SDA_Pin_Output_High();
		}
		else
		{
   
			SDA_Pin_Output_Low();
		}	
			
        SCL_Pin_Output_High();
		Delay_3us();
		Data <<= 1;
		 	}
	SCL_Pin_Output_Low();
	SensorDelay_us(8);   
	SDA_Pin_IN_FLOATING();
	SensorDelay_us(8);	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在岸上走的鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值