找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

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

單片機源程序如下:
  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)

評分

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

查看全部評分

回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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