找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

基于STC单片机的AHT20温湿度做的oled12864温湿度计 源程序

查看数: 13093 | 评论数: 25 | 收藏 24
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-10-12 12:02

正文摘要:

这个传感器出来有两个多月了,1.9票的很值,提供下仅供大家参考谢谢代码已经校准和小米基本差异。早在快俩月前就弄好了今天闲发一贴 喜欢的请给我加分,谢谢

回复

ID:554603 发表于 2025-2-11 15:38
感谢楼主分享
ID:30809 发表于 2025-2-6 17:51
我是单片机新手,能把原理图文件一起分享出来吗
ID:583100 发表于 2025-1-30 20:19
这个负温度怎么改下程序呢?
ID:235691 发表于 2024-9-30 17:20
AHT10_Hum = CT_data[0]*1000/1024/780;
这里/780什么意思?
ID:62363 发表于 2024-9-6 17:24

已在STC8H单片机上验证,结论如下
1.能读取和显示。我用的DHT20。2.
AHT10_Hum = CT_data[0]*1000/1024/780;
AHT10_Tem = CT_data[1] *200*10/1024/1024-512;
这两行换算和手册不一样,得改的,不然手指放到传感器上 湿度能大于一百。
4.缺少"STC8.H"需要自己补上,我直接替换成自己手里的"STC8H.H"了。
5.在delay.c里写的是24M主频下…… 实际我用的是11.0592M
6.对于51单片机,IIC管脚方向控制的IO_SDA(u8 m)这个函数并不需要,只会影响移植。OLED的IIC函数里都没有方向控制。STC的升级51直接设为准双向口就OK了。
    P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;

评分

参与人数 1黑币 +60 收起 理由
admin + 60 回帖助人的奖励!

查看全部评分

ID:491875 发表于 2023-9-13 13:04
lmn2005 发表于 2023-9-7 07:58
想应用到什么特别场合,才需要用温湿度控制吧

对,孵化箱之类的温湿度控制
ID:1040201 发表于 2023-9-7 10:50
lmn2005 发表于 2023-9-7 07:58
想应用到什么特别场合,才需要用温湿度控制吧

朋友的养殖场 或者对温湿度要求高的场合
ID:71233 发表于 2023-9-7 07:58
老愚童63 发表于 2023-5-2 15:53
如果能够增加温湿度控制功能就更实用了。

想应用到什么特别场合,才需要用温湿度控制吧
ID:1092837 发表于 2023-9-6 22:55
软件i2c,还是硬件的i2c?
ID:491875 发表于 2023-5-2 15:53
如果能够增加温湿度控制功能就更实用了。
ID:88360 发表于 2023-5-2 13:48
463854329 发表于 2022-2-10 02:00
这代码有问题,SDA是bit0,代码中SDA定义bit7为高阻输入

AHT20和AHT21有不同的地方吗?
ID:1046651 发表于 2022-10-4 20:58
STC15W亲测可用,感谢楼主!!
ID:420255 发表于 2022-8-27 23:23
STC15W亲测可用,感谢楼主!!
ID:333897 发表于 2022-3-29 11:55
最近有用到,感谢楼主分享,
ID:642289 发表于 2022-3-19 16:53
来看看
ID:71233 发表于 2022-2-10 12:14
近日也刚刚用到AHT20,感觉没到的温度总是比DS18B20高些,大约0.8度吧,估计彼此都有误差,因为DS18B20误差是0.5度,而AHT20误差是0.3度。一个比准确值低0.5度,一个比准确值高0.3度,这样就导致它们相差0.8度了。
ID:806798 发表于 2022-2-10 02:00
这代码有问题,SDA是bit0,代码中SDA定义bit7为高阻输入

  1. /*************************此部分为I2C总线的驱动程序*************************************/

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

  5. sbit     SCL = P1^1;     //I2C  时钟
  6. sbit     SDA = P1^0;     //I2C  数据

  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;//恢复SDA双向io
  18.     P1M0 = 0x00;
  19.   }
  20. }
复制代码
ID:90613 发表于 2021-9-22 16:09
yinlitansuo 发表于 2021-8-22 18:32
移植到辉芒单片机了 实测可用,支持国产

大神,这是用的AHT20嘛,我用的这个怎么读不到,我看程序写的是AHT10,求解
ID:961748 发表于 2021-8-22 18:32
移植到辉芒单片机了 实测可用,支持国产
ID:272119 发表于 2021-6-10 20:34
去年调试这个没有成功,一直拖着没有继续进行,看来又可以借楼主的代码完成这个案子了,谢谢!
ID:63317 发表于 2021-6-10 05:53

实测可用
ID:328014 发表于 2021-6-10 03:52
pyy1980 发表于 2021-6-9 10:01
我的电脑因为缺少"STC8.H"编译不了,求大神分享一个啊

这里下载,和main.c放在一个目录,就可以编译成功了 如图http://www.51hei.com/bbs/dpj-131249-1.html

51hei.png (46.77 KB, 下载次数: 213)

51hei.png
ID:153676 发表于 2021-6-9 10:01
我的电脑因为缺少"STC8.H"编译不了,求大神分享一个啊
ID:631046 发表于 2021-3-23 16:50
实测可用
ID:272187 发表于 2021-2-13 05:07
代码可以用666

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表