lijinlei 发表于 2024-10-1 21:54:33

8H8K64U 读取 DHT11 温湿度传感器及 OLED 显示

最近完成了基于 8H8K64U 开发板
和 DHT11 温湿度传感器的 OLED 显示及串口通信实验,
开发板 PCB 打板工程详见:
基于STC8H8K64U的WS2812彩灯控制开发板 - 立创开源硬件平台 (oshwhub.com) .
实物展示

效果展示串口通信

OLED 显示
​269​

代码/*--------------------------------
Author: Jin-Lei Li
Email: lijinlei0907@163.com
--------------------------------*/
#include <STC8H.h>
#include <intrins.h>
#include <stdio.h>
#include <config.h>
#include <delay.h>
#include <DHT11.h>
#include <oled.h>//OLED引脚定义、控制函数
#include <UART.h>

unsigned int Temperature;
unsigned int Humidity;
unsigned char Data_Receive;

void Display();

void main()
{
P_SW2 |= 0x80; //扩展寄存器(XFR)访问使能

GPIO_Init();
UartInit();
printf("STC8H DHT11 Test.\r\n");

OLED_Init();//初始化OLED
OLED_ColorTurn(0);//0正常显示,1 反色显示
OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示

while(1)
{
DHT_Collect();
printf("Temperature = %u.%u°C\r\n",Temperature,Temperature);//串口打印温度
       printf("Humidity = %u.%u%%RH\r\n",Humidity,Humidity);//串口打印湿度
delay_ms(1000);

Display();
OLED_ShowString(0,4,"ECNU",16);//显示字符串
OLED_ShowString(40,4,"2024",16);//显示字符串
OLED_ShowString(0,6,"Shanghai,China",16);//显示字符串
//OLED_Clear(); //清屏
}

}

void Display()
{
OLED_ShowString(0,0,"Temp:",16);
OLED_ShowNum(43,0,Temperature,2,16);
OLED_ShowString(60,0,".",16);
OLED_ShowNum(65,0,Temperature,1,16);
OLED_ShowString(75,0,"C",16);

OLED_ShowString(0,2,"RH:",16);
OLED_ShowNum(43,2,Humidity,2,16);
OLED_ShowString(60,2,".",16);
OLED_ShowNum(65,2,Humidity,1,16);
OLED_ShowString(75,2,"%",16);

}
完整项目工程见附件。

神农鼎 发表于 2024-10-2 09:07:39

点灯 WS2812, 还是用 Ai8051U,
PWM-DMA, 点灯 WS2812 灯带网络
PWM-DMA, 点灯 WS2812 灯带网络



SPI-DMA 驱动 WS2812三基色彩灯@Ai8051U,最多同时驱动2730个,不占CPU时间 - QSPI/3组SPI/I2S/I2C,一线制温湿度传感器 国芯技术交流网站 - AI32位8051交流社区 (stcaimcu.com)




PWM-DMA 驱动 WS2812彩灯@Ai8051U,最多1365个灯同时, 32K SRAM - BLDC/144MHz-PWM-硬件移相/45路PWM+3路CCP/7组不同周期的PWM/DAC 国芯技术交流网站 - AI32位8051交流社区 (stcaimcu.com)

神农鼎 发表于 2024-10-2 09:12:45

8H8K64U, SPI-DMA 点灯 WS2812 也挺方便

soma 发表于 2024-10-2 09:52:20

dht11湿度好像是没有的小数点后的,只显示位应该就可以了吧。

邮箱 发表于 2024-10-2 10:53:09

{:4_174:}

wangxiangtan 发表于 2024-10-2 17:14:51

你可以毕业了

ulvtkb126 发表于 2024-10-25 08:04:09

刚好学到这里 谢谢楼主

是三三啊 发表于 2024-12-15 21:31:42

<p>好厉害<img alt="qiang" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/qiang.gif" title="qiang" /></p>

鸿晟 发表于 2025-3-21 12:58:21

感谢
页: [1]
查看完整版本: 8H8K64U 读取 DHT11 温湿度传感器及 OLED 显示