这段代码实现了使用DHT11传感器读取温湿度并在LCD1602液晶屏上显示。具体实现功能包括:

1.定义了一些常量和变量,包括uchar和uint类型的变量,以及一个存储传感器数据的数组rec_dat。

2.定义了液晶屏控制引脚和DHT11数据引脚。

3.实现了一个延时函数delay,用于延时一定时间,以等待传感器响应和液晶屏显示。

4.实现了液晶屏写入命令和写入数据的函数write_com和write_dat,用于向液晶屏写入字符或控制命令。

5.实现了初始化液晶屏函数init_lcd,用于初始化液晶屏的各项参数。

6.实现了DHT11传感器延时函数DHT11_delay_us和DHT11_delay_ms,用于DHT11传感器读取时的延时。

7.实现了DHT11传感器发送起始信号的函数DHT11_start。

8.实现了DHT11传感器接收单个字节数据的函数DHT11_rec_byte。

9.实现了DHT11传感器接收温湿度数据的函数DHT11_receive,用于接收温度和湿度数据,并将其存储在数组rec_dat中。

10.最后,在DHT11_receive函数中,将温度和湿度数据转换成字符并存储在数组rec_dat中,用于在液晶屏上显示。

不同函数实现的功能搭建顺序为:先定义常量和变量,接着定义液晶屏控制引脚和DHT11数据引脚。然后实现延时函数、液晶屏写入命令和数据函数、初始化液晶屏函数、DHT11传感器延时函数、DHT11传感器发送起始信号函数和接收单个字节数据函数。最后实现接收温湿度数据函数,并将数据转换成字符存储在数组中,用于在液晶屏上显示

#includereg51h#includeintrinsh#define uchar unsigned char#define uint unsigned intsbit Data=P1^6; uchar rec_dat9; sbit lcdrs=P2^0;sbit lcdrw=P2^1;sbit lcden=P2^2;void delayuint n uint xy; forx

原文地址: https://www.cveoy.top/t/topic/e3cP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录