久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開始

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

基于STC單片機(jī)的AHT20溫濕度做的oled12864溫濕度計(jì) 源程序

  [復(fù)制鏈接]
ID:142687 發(fā)表于 2020-10-12 12:02 | 顯示全部樓層 |閱讀模式
這個(gè)傳感器出來有兩個(gè)多月了,1.9票的很值,提供下僅供大家參考謝謝代碼已經(jīng)校準(zhǔn)和小米基本差異。早在快倆月前就弄好了今天閑發(fā)一貼
喜歡的請(qǐng)給我加分,謝謝

-13651hei9462.png
這是做的彩屏的
IMG_20200911_103747.jpg 代碼局部截圖
51hei截圖20201012120425.png
這個(gè)IC長(zhǎng)這樣
51hei截圖20201012120658.png
下載選項(xiàng)一定不要勾選“允許低壓復(fù)位”,并將低壓檢測(cè)電壓設(shè)置成3.0V

單片機(jī)源程序如下:
  1. #include "stc8.h"        //STC8頭文件
  2. #include "def.h"        //宏定義 常用函數(shù)
  3. #include "delay.h"  //延時(shí)函數(shù)
  4. #include "aht10.h"
  5. #include "timer.h"
  6. #include "oled.h"



  7. u32  read_aht10_Cnt = 0;

  8. u32  CT_data[2];

  9. int  AHT10_Tem,AHT10_Hum;

  10. //本地函數(shù)申明

  11. void Read_TempAndHum(void);

  12. //外部擴(kuò)展變量聲明
  13. extern bit B_1ms;

  14. void main(void)
  15. {  
  16.     u8  ret = 0;  
  17.     u8  cnt = 0;
  18.    
  19.     //延時(shí)等待電源穩(wěn)定
  20.     delay_ms(500);
  21.     delay_ms(500);
  22.    
  23.     Timer0_Init();         //定時(shí)器0初始化
  24.     Timer1_Init();         //定時(shí)器1初始化
  25.    
  26.     EA     = 1;            //開啟總中斷
  27.    
  28.     OLED_Init();                       //初始化OLED  
  29.     OLED_Clear();          //清屏

  30.     ret = JH_Init();

  31.     while(JH_Read_Cal_Enable()==0)//等到校準(zhǔn)輸出使能位為1,才讀取。
  32.     {
  33.         ret = JH_Init();      //如果為0再使能一次
  34.         delay_ms(30);
  35.         
  36.         if(++cnt>3)
  37.             break;
  38.     }

  39.     while(1)
  40.     {
  41.         Read_TempAndHum();      //獲取溫濕度
  42.     }
  43. }

  44. void Read_TempAndHum(void)
  45. {
  46.     if(read_aht10_Cnt>=1000)     //1S讀取一次溫濕度
  47.     {
  48.         JH_Read_CTdata(CT_data);                //讀取溫度和濕度

  49.         //計(jì)算得到濕度值(放大了10倍,如果c1=523,表示現(xiàn)在濕度為52.3%)
  50.         AHT10_Hum = CT_data[0]*1000/1024/780;

  51.         //計(jì)算得到溫度值(放大了10倍,如果t1=245,表示現(xiàn)在溫度為24.5℃)
  52.         AHT10_Tem = CT_data[1] *200*10/1024/1024-512;

  53.         /*************  溫濕度計(jì)  **********/
  54.         OLED_ShowCHinese(32,0, 1,16);//溫
  55.         OLED_ShowCHinese(48,0, 2,16);//濕
  56.         OLED_ShowCHinese(64,0, 3,16);//度
  57.         OLED_ShowCHinese(80,0, 4,16);//計(jì)
  58.         
  59.         /*************  顯示溫度  **********/
  60.         OLED_ShowCHinese(0 ,3, 1,16); //溫
  61.         OLED_ShowCHinese(16,3, 3,16); //度
  62.         OLED_ShowString( 32,3,":",16);
  63.         OLED_ShowString( 64,3,".",16);//顯示小數(shù)點(diǎn)

  64.         OLED_ShowNum(48, 3,AHT10_Tem/100     , 1,16);//環(huán)境溫度-十位
  65.         OLED_ShowNum(56, 3,(AHT10_Tem%100)/10, 1,16);//環(huán)境溫度-個(gè)位
  66.         OLED_ShowNum(72, 3,AHT10_Tem%10      , 1,16);//環(huán)境溫度-小數(shù)位
  67.         
  68.         OLED_ShowCHinese(96,3,0,16);  //"℃"
  69.         
  70.         /*************  顯示濕度  **********/
  71.         OLED_ShowCHinese(0 ,6, 2,16); //濕
  72.         OLED_ShowCHinese(16,6, 3,16); //度
  73.         OLED_ShowString( 32,6,":",16);
  74.         OLED_ShowString( 64,6,".",16);//顯示小數(shù)點(diǎn)
  75.         
  76.         OLED_ShowNum(48, 6,AHT10_Hum/100     , 1,16);//環(huán)境濕度-十位
  77.         OLED_ShowNum(56, 6,(AHT10_Hum%100)/10, 1,16);//環(huán)境濕度-個(gè)位
  78.         OLED_ShowNum(72, 6,AHT10_Hum%10      , 1,16);//環(huán)境濕度-小數(shù)位

  79.         OLED_ShowString(96, 6,"%",16);

  80.         read_aht10_Cnt = 0;
  81.     }
  82. }
復(fù)制代碼

所有資料51hei提供下載:
修改的AHT20溫濕度已驗(yàn)證.zip (178.45 KB, 下載次數(shù): 641)

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:272187 發(fā)表于 2021-2-13 05:07 | 顯示全部樓層
代碼可以用666
回復(fù)

使用道具 舉報(bào)

ID:631046 發(fā)表于 2021-3-23 16:50 | 顯示全部樓層
實(shí)測(cè)可用
回復(fù)

使用道具 舉報(bào)

ID:153676 發(fā)表于 2021-6-9 10:01 | 顯示全部樓層
我的電腦因?yàn)槿鄙?quot;STC8.H"編譯不了,求大神分享一個(gè)啊
回復(fù)

使用道具 舉報(bào)

ID:328014 發(fā)表于 2021-6-10 03:52 | 顯示全部樓層
pyy1980 發(fā)表于 2021-6-9 10:01
我的電腦因?yàn)槿鄙?quot;STC8.H"編譯不了,求大神分享一個(gè)啊

這里下載,和main.c放在一個(gè)目錄,就可以編譯成功了 如圖http://www.zg4o1577.cn/bbs/dpj-131249-1.html
51hei.png
回復(fù)

使用道具 舉報(bào)

ID:63317 發(fā)表于 2021-6-10 05:53 | 顯示全部樓層

實(shí)測(cè)可用
回復(fù)

使用道具 舉報(bào)

ID:272119 發(fā)表于 2021-6-10 20:34 | 顯示全部樓層
去年調(diào)試這個(gè)沒有成功,一直拖著沒有繼續(xù)進(jìn)行,看來又可以借樓主的代碼完成這個(gè)案子了,謝謝!
回復(fù)

使用道具 舉報(bào)

ID:961748 發(fā)表于 2021-8-22 18:32 | 顯示全部樓層
移植到輝芒單片機(jī)了 實(shí)測(cè)可用,支持國(guó)產(chǎn)
回復(fù)

使用道具 舉報(bào)

ID:90613 發(fā)表于 2021-9-22 16:09 | 顯示全部樓層
yinlitansuo 發(fā)表于 2021-8-22 18:32
移植到輝芒單片機(jī)了 實(shí)測(cè)可用,支持國(guó)產(chǎn)

大神,這是用的AHT20嘛,我用的這個(gè)怎么讀不到,我看程序?qū)懙氖茿HT10,求解
回復(fù)

使用道具 舉報(bào)

ID:806798 發(fā)表于 2022-2-10 02:00 | 顯示全部樓層
這代碼有問題,SDA是bit0,代碼中SDA定義bit7為高阻輸入

  1. /*************************此部分為I2C總線的驅(qū)動(dòng)程序*************************************/

  2. #include "stc8.h"
  3. #include "i2c.h"
  4. #include "delay.h"

  5. sbit     SCL = P1^1;     //I2C  時(shí)鐘
  6. sbit     SDA = P1^0;     //I2C  數(shù)據(jù)

  7. //SDA方向控制
  8. void IO_SDA(u8 m)
  9. {
  10.   if(m==1)
  11.   {
  12.     P1M1 = 0x80;//配置SDA為高阻輸入
  13.     P1M0 = 0x00;
  14.   }
  15.   else
  16.   {
  17.     P1M1 = 0x00;//恢復(fù)SDA雙向io
  18.     P1M0 = 0x00;
  19.   }
  20. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:71233 發(fā)表于 2022-2-10 12:14 | 顯示全部樓層
近日也剛剛用到AHT20,感覺沒到的溫度總是比DS18B20高些,大約0.8度吧,估計(jì)彼此都有誤差,因?yàn)镈S18B20誤差是0.5度,而AHT20誤差是0.3度。一個(gè)比準(zhǔn)確值低0.5度,一個(gè)比準(zhǔn)確值高0.3度,這樣就導(dǎo)致它們相差0.8度了。
回復(fù)

使用道具 舉報(bào)

ID:642289 發(fā)表于 2022-3-19 16:53 | 顯示全部樓層
來看看
回復(fù)

使用道具 舉報(bào)

ID:333897 發(fā)表于 2022-3-29 11:55 | 顯示全部樓層
最近有用到,感謝樓主分享,
回復(fù)

使用道具 舉報(bào)

ID:420255 發(fā)表于 2022-8-27 23:23 | 顯示全部樓層
STC15W親測(cè)可用,感謝樓主!!
回復(fù)

使用道具 舉報(bào)

ID:1046651 發(fā)表于 2022-10-4 20:58 | 顯示全部樓層
STC15W親測(cè)可用,感謝樓主!!
回復(fù)

使用道具 舉報(bào)

ID:88360 發(fā)表于 2023-5-2 13:48 | 顯示全部樓層
463854329 發(fā)表于 2022-2-10 02:00
這代碼有問題,SDA是bit0,代碼中SDA定義bit7為高阻輸入

AHT20和AHT21有不同的地方嗎?
回復(fù)

使用道具 舉報(bào)

ID:491875 發(fā)表于 2023-5-2 15:53 | 顯示全部樓層
如果能夠增加溫濕度控制功能就更實(shí)用了。
回復(fù)

使用道具 舉報(bào)

ID:1092837 發(fā)表于 2023-9-6 22:55 | 顯示全部樓層
軟件i2c,還是硬件的i2c?
回復(fù)

使用道具 舉報(bào)

ID:71233 發(fā)表于 2023-9-7 07:58 | 顯示全部樓層
老愚童63 發(fā)表于 2023-5-2 15:53
如果能夠增加溫濕度控制功能就更實(shí)用了。

想應(yīng)用到什么特別場(chǎng)合,才需要用溫濕度控制吧
回復(fù)

使用道具 舉報(bào)

ID:1040201 發(fā)表于 2023-9-7 10:50 | 顯示全部樓層
lmn2005 發(fā)表于 2023-9-7 07:58
想應(yīng)用到什么特別場(chǎng)合,才需要用溫濕度控制吧

朋友的養(yǎng)殖場(chǎng) 或者對(duì)溫濕度要求高的場(chǎng)合
回復(fù)

使用道具 舉報(bào)

ID:491875 發(fā)表于 2023-9-13 13:04 | 顯示全部樓層
lmn2005 發(fā)表于 2023-9-7 07:58
想應(yīng)用到什么特別場(chǎng)合,才需要用溫濕度控制吧

對(duì),孵化箱之類的溫濕度控制
回復(fù)

使用道具 舉報(bào)

ID:62363 發(fā)表于 2024-9-6 17:24 | 顯示全部樓層
測(cè)試照片.jpg
已在STC8H單片機(jī)上驗(yàn)證,結(jié)論如下
1.能讀取和顯示。我用的DHT20。2.
AHT10_Hum = CT_data[0]*1000/1024/780;
AHT10_Tem = CT_data[1] *200*10/1024/1024-512;
這兩行換算和手冊(cè)不一樣,得改的,不然手指放到傳感器上 濕度能大于一百。
4.缺少"STC8.H"需要自己補(bǔ)上,我直接替換成自己手里的"STC8H.H"了。
5.在delay.c里寫的是24M主頻下…… 實(shí)際我用的是11.0592M
6.對(duì)于51單片機(jī),IIC管腳方向控制的IO_SDA(u8 m)這個(gè)函數(shù)并不需要,只會(huì)影響移植。OLED的IIC函數(shù)里都沒有方向控制。STC的升級(jí)51直接設(shè)為準(zhǔn)雙向口就OK了。
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;

評(píng)分

參與人數(shù) 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:235691 發(fā)表于 2024-9-30 17:20 | 顯示全部樓層
AHT10_Hum = CT_data[0]*1000/1024/780;
這里/780什么意思?
回復(fù)

使用道具 舉報(bào)

ID:583100 發(fā)表于 2025-1-30 20:19 | 顯示全部樓層
這個(gè)負(fù)溫度怎么改下程序呢?
回復(fù)

使用道具 舉報(bào)

ID:30809 發(fā)表于 2025-2-6 17:51 | 顯示全部樓層
我是單片機(jī)新手,能把原理圖文件一起分享出來嗎
回復(fù)

使用道具 舉報(bào)

ID:554603 發(fā)表于 2025-2-11 15:38 | 顯示全部樓層
感謝樓主分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区二区三区精彩视频 | 日韩欧美在线一区 | 国产免费观看久久黄av片涩av | 日韩精品一区二区三区视频播放 | 国产成人精品一区二区三区四区 | 狠狠干天天干 | 日韩视频一区在线观看 | 电影91久久久 | 国产999精品久久久久久绿帽 | 亚洲一区二区精品视频 | av毛片 | 7777精品伊人久久精品影视 | 亚洲一区二区免费 | 亚洲综合国产精品 | 在线观看的av | 91精品国产一区二区三区动漫 | 最新国产精品精品视频 | 在线视频亚洲 | 一级免费看片 | 亚洲精品不卡 | 国产精品一区二区av | 精品国产伦一区二区三区观看体验 | 嫩草网| 一级片网站视频 | 完全免费在线视频 | 成人h视频在线 | 97成人在线 | 欧美视频二区 | 中文字幕一区在线观看视频 | 日日干干夜夜 | 欧美一级片免费看 | 免费久久99精品国产婷婷六月 | 97精品国产97久久久久久免费 | 在线免费观看a级片 | 久久性色 | 久久伊人操 | 亚洲国产精品视频 | 久久久片| 欧美男人天堂 | 精品一区二区三区视频在线观看 | 亚洲一区二区免费看 |