电子温度/气压计=STC8G1K08A+硬件iic+BMP280+PCF8574T+1602
大家好,我这个帖子展示我组装的电子温度/气压计,详细开源代码,从本楼附件下载
#--------需求分析------
做一个便宜的电子气压计,
#--------实现目标的指导思想------
单片机+气压模块+显示模块=电子气压计
STC8G1K08A-36I-SOP8 足够便宜,功能强大,性能足够用,
STC8G1K08A-36I-SOP8 支持I2C
1602便宜,显示内容丰富,
使用IIC扩展模块PCF8574T可以把原本需要多个引脚的1602变为只用正极、负极、SCL、SDA四个引脚就可以驱动
STC8G1K08A有内置的上拉电阻,可以简化布线,
IIC最多可以挂载8个设备,目前只用到2个,电容也免了,
使用硬件IIC进行IIC通信,因为查资料得知硬件IIC可以省单片机资源,
使用定时器中断把1602的IIC通信和BMP280的IIC通信隔离开,减少IIC通信冲突。
PCF8574T 和 BMP280参考了论坛里好几位大佬的分享的代码,十分感谢
本人基础比较差,从STC8烧写程序到STC8点灯开始从头学习,
发现STC论坛后如获至宝,检索和学习各位大佬的代码,
不会就去问豆包和kimi,吃透代码之后,再慢慢的修改和迭代,
先查询法iic点亮1602,再改为中断法点亮1602,再加入bmp280,再优化iic通信最终实现了我的需求。
#-------需求的实现方式-------
硬件使用的是淘宝购买的STC8G1K08A开发板+BMP280气压模块5v(4引脚)+1602显示屏使用PCF8574T做IIC扩展,
#-------心得体会-------
所有的模块都要多买几个,要有可验证的方法检测硬件的好坏,
因为当我硬件连接好,代码也跑通之后,但是BMP280的气压和温度一直是零,我一直以为是代码出错了
一直自己修改代码和强迫豆包修改代码,搞了2周,还是不行,直到我又找出论坛里大佬的BMP280代码,
跑了几遍大佬的代码,发现是我的BMP280模块坏了,又换了一个BMP280模块之后,大佬的代码可以显示气压和温度数据
我的代码也有气压和温度数据了,之前2周的苦都白吃了。。。。
在此还要感谢STC公司和聂经理,让我有机会在论坛学习到非常多单单片机知识,还能在Ai8051U实验箱做实践,
让我对STC产品和更先进的编程方法和理念有了进一步的了解。
I2C接口,BMP280, 读取温度气压从串口发送程序:
https://www.stcaimcu.com/thread-4613-1-1.html
SHT30读取温湿度从串口发送程序:
https://www.stcaimcu.com/thread-4612-1-1.html
供参考
DebugLab 发表于 2026-1-21 00:15
I2C接口,BMP280, 读取温度气压从串口发送程序:
https://www.stcaimcu.com/thread-4613-1-1.html
SHT30读 ...
谢谢大佬,刚才看了看,我用来测试BMP280好坏的程序,就是你写的这个帖子,我以前用的是3V的bmp280模块,跟5v的PCF8547模块一起接入到IIC,总是各种故障,后来才发现是电压不对,哈哈哈。
页:
[1]