資源簡介
基于51單片機(jī)的3.3v溫濕度傳感器HTU21D,驅(qū)動與SHT2_是相容的,只需注意一下5V與3.3V的電平匹配即可,親自測試通過
代碼片段和文件信息
/***2015-11-23***/
/*###htu21d的顯示程序與sht2_的是相容的,都是I2C,IO口需要接上拉電阻,已經(jīng)集成在模塊上###*/
/*###在單片機(jī)的IO口和溫濕度傳感器htu21dSDASCL之間需要加上5K的電阻進(jìn)行阻抗匹配,否則液晶無顯示###*/
/*###因?yàn)镠TU21D是3.3V供電的,與51單片機(jī)之間的電平需要轉(zhuǎn)換,STC的單片機(jī)IO口都可以設(shè)置成開漏輸出###*/
/**###經(jīng)阻抗匹配就不需要專門將I2C的IO口設(shè)置成開漏輸出了###**/
#include?//主控為STC12C5A60S2
#include
#include
#include“HTU.h“
#include
?
void?LCD_Display(int?TEMP?int?HUMI);
?void?delayms1(unsigned?int?x)
{
unsigned?char?t;
while(x--)
????for(t=0;t<120;t++);
}
int?main()
{
unsigned?int?tem=0htu=0;
Lcd_1602_init();
HTU21DInit();
lcd_string(005“TEMP:“);
lcd_string(105“HUMI:“);
while(1)
?{
tem=HTU21DWork(0xf3);//觸發(fā)開啟溫度檢測
htu=HTU21DWork(0xf5);//觸發(fā)開啟濕度檢測
LCD_Display(temhtu);//顯示溫濕度
delayms1(5000);//刷新慢一些
?}
}
/*********??定義顯示函數(shù)?******/
void?LCD_Display( unsigned?int?TEMP? unsigned?int?HUMI)
{
unsigned?char?wendu1[7]shidu[8];
wendu1[0]=TEMP/10000+‘0‘;?????//百位
?????? wendu1[1]=(TEMP%10000)/
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-12-08?22:34??htu21d\
?????目錄???????????0??2015-12-08?22:34??htu21d\HTU\
?????文件????????1901??2015-11-23?19:14??htu21d\HTU\HTU.c
?????文件?????????148??2015-11-23?18:59??htu21d\HTU\HTU.h
?????文件????????3016??2015-11-23?19:27??htu21d\HTU\IIC.c
?????文件?????????506??2015-11-23?17:53??htu21d\HTU\IIC.h
?????目錄???????????0??2015-12-08?22:34??htu21d\lcdshow\
?????文件????????1944??2015-11-23?18:51??htu21d\lcdshow\lcd.c
?????文件?????????552??2015-11-23?18:57??htu21d\lcdshow\lcd.h
?????文件????????1701??2015-11-23?19:28??htu21d\main.c
評論
共有 條評論