51单片机【ST7735】DHT11温湿度计

最近没事捣鼓着ESP32玩,然后买了一块ST7735TFT彩屏想尝试跑游戏机的固件来着,屏幕分辨率为128X160,结果尺寸太小了。刚好有人问用51能不能跑起来,就整理了下资料做了个温湿度计。

 

所用到的模块就是DHT11+ST7735彩屏。那么我们要使用这两个模块,就得把驱动程序写好。这些模块的时序图及芯片手册网上都能搜到。工程文件我给大家整理到了网盘中,直接下载即可。

下面直接打开keil2,用其他版本keil可能会出现无法打开工程,简单的选择下芯片,我用的是89C51的,C52的也可以。

实际接线的话大家参考源码,这是SPI的屏,DHT11接3^6脚

程序中有定义

 

 

 

然后直接点击打开工程

 

找到上面网盘下载好的文件,导入到keil2中

 如图,所有的.h和.c已经进来了,我们主要看lcd.c、gb1616.h及main.c。

首先来看lcd.h,lcd.h包含了屏幕的功能函数,比如填充背景颜色、初始化参数、画线段、画圆等

 这里随便预留了几种常用的颜色,可以百度颜色码自己往后继续添加。

下面再来看main.c。 主要包含了dht11的驱动程序及彩屏界面位置,tShow()和hShow()为显示温度湿度的函数,实际上就是显示的坐标位置,大家想要修改UI可以参考lcd.h的函数,都有中文注释。

 

 最后就是中文的显示,中文给大家预留了4个汉字,这个数据表里面的东西可以修改,其他位置的千万不要自己乱改,会容易出现闪屏等BUG出现。假如想显示其他汉字可以用下图的取模软件自己取字模。

 

 需要注意的是,取到的字模很有可能显示在屏上是反着的,需要自己点箭头处的旋转去调整。

最后,把改完的程序保存下,用烧录软件烧写到单片机即可。

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值