找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4290|回復(fù): 6
收起左側(cè)

SHT31_OLED12864(IIC)AT89S52單片機(jī)溫濕度計(jì)源程序

  [復(fù)制鏈接]
ID:159122 發(fā)表于 2019-12-20 22:04 | 顯示全部樓層 |閱讀模式
自己也是初學(xué)者,大部分程序是芯片、顯示屏自帶的例程,自己移植并修改為我所用,代碼沒(méi)有仔細(xì)整理,但沒(méi)有用到的函數(shù)全部注釋掉了,也加了必要的注釋,方便閱讀
再次向原作者表示感謝。。。
自己測(cè)試全部通過(guò),
SHT31  SCL和SDA在i2c_hal.c中修改
顯示如圖。
51hei圖片_20191220221314.jpg 51hei截圖_20191220221645.png

單片機(jī)源程序如下:
  1. //-- Includes -----------------------------------------------------------------
  2. #include "system.h"
  3. #include "sht3x.h"
  4. #include "math.h"
  5. #include "i2c_hal.h"


  6. ft temperature; // temperature [°C]
  7. ft humidity; // relative humidity [%RH]



  8. void OLED_P20x48Ch(unsigned char x, y, N);
  9. void OLED_P14x32Ch(unsigned char x, y, N);
  10. void Delay100us(unsigned int j);
  11. void SHT3X_Init(u8t i2cAddress);
  12. void SHT3X_SetI2cAdr(u8t i2cAddress);
  13. etError SHT3X_GetTempAndHumi(ft* temperature, ft* humidity,
  14.                              etRepeatability repeatability, etMode mode,
  15.                              u8t timeout);
  16. void Write_IIC_Byte(unsigned char IIC_Byte);
  17. void display(void);

  18. int main(void)
  19. {
  20.         SHT3X_Init(0x44) ;
  21.                 display();
  22.        
  23.                 while(1)
  24.            {
  25.             int a,b,c;
  26.                 etError error;
  27.                 I2c_StartCondition();
  28.                 if(SHT_SDA != 0){} // do error handling here
  29.                
  30.             error =SHT3X_GetTempAndHumi(&temperature, &humidity, REPEATAB_HIGH, MODE_CLKSTRETCH, 50);
  31.                
  32.                 I2c_StopCondition();
  33.                                
  34.                    a=floor(temperature);
  35.                 b=floor(temperature*10);
  36.                 c=(int)(humidity) ;
  37.                                           
  38.                 OLED_P20x48Ch(0,2,(a/10));
  39.         OLED_P20x48Ch(23,2,(a%10));
  40.                 OLED_P14x32Ch(48,4,(b%10));

  41.                
  42.                 OLED_P20x48Ch(80,2,(c/10));
  43.         OLED_P20x48Ch(103,2,(c%10));

  44.             //Delay100us(250);
  45.                 }
  46. }
復(fù)制代碼

所有資料51hei提供下載:
SHT31_OLED12864溫濕度.zip (93.8 KB, 下載次數(shù): 180)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:516928 發(fā)表于 2022-3-25 22:34 | 顯示全部樓層
SHT31引腳接單片機(jī)那個(gè)引腳????????
回復(fù)

使用道具 舉報(bào)

ID:404454 發(fā)表于 2024-11-28 21:40 | 顯示全部樓層
這個(gè)很實(shí)用了,希望也能做一個(gè)。多謝樓主的分享。
回復(fù)

使用道具 舉報(bào)

ID:961114 發(fā)表于 2024-11-29 14:14 | 顯示全部樓層
看看我做的
1.png
2.jpg
3.png
4.png
回復(fù)

使用道具 舉報(bào)

ID:195666 發(fā)表于 2024-11-29 21:35 | 顯示全部樓層

一鍵開機(jī)電路什么原理?
回復(fù)

使用道具 舉報(bào)

ID:111099 發(fā)表于 2025-6-1 13:34 來(lái)自觸屏版 | 顯示全部樓層
STC莊偉 發(fā)表于 2024-11-29 14:14
看看我做的

這個(gè)電路設(shè)計(jì)巧妙。收下了。
回復(fù)

使用道具 舉報(bào)

ID:1152406 發(fā)表于 2025-6-2 11:25 | 顯示全部樓層
請(qǐng)問(wèn)能用成51單片機(jī)嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表