一、作品简介:本项目是基于迪文EKT043E触摸屏,利用迪文DGUS软件进行开发并与DHT11传感器进行交互。实现温湿度的测量、到达温度上限以及湿度上限小灯闪烁报警、密码登录以及判断正误等功能。 二、工作原理: 1.硬件连接 DHT11传感器: VCC:接51单片机的电源引脚(通常为5V)。 GND:接地。 数据引脚(DATA):接单片机的一个I/O口(如P1.0)。 注意:DHT11的数据引脚需要接一个上拉电阻(通常为4.7kΩ)到VCC。 迪文屏: 根据迪文屏的型号,选择合适的通信接口(如SPI、UART等)与51单片机连接。 供电:根据迪文屏的规格书接入合适的电源电压。 通信接口连接:如使用UART接口,将迪文屏的TX、RX分别与单片机的RX、TX相连,并共地。 2.DHT11传感器工作原理 DHT11是一款含有数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。 DHT11采用单总线数据格式,一次通讯过程由40位数据组成,高位先出。数据包格式如下: 8位湿度整数数据 + 8位湿度小数数据 8位温度整数数据 + 8位温度小数数据 8位校验和(可选,用于校验数据传输的准确性) 3.51单片机读取DHT11数据 51单片机通过模拟DHT11的通信协议来读取数据。主要步骤如下: 启动信号:单片机将DHT11的数据引脚拉低至少18ms,然后释放(拉高),等待DHT11的响应信号。 响应信号:DHT11在检测到启动信号后,会等待单片机释放数据引脚,然后拉低数据引脚约30μs,再拉高50μs,表示进入数据传输状态。 接收数据:单片机按照DHT11的通信协议,逐位接收40位数据。接收过程中,单片机需要检测数据引脚的电平变化,以判断是0还是1。 四、迪文屏显示数据 迪文屏通常支持多种通信接口和显示模式。在接收到51单片机发送的温湿度数据后,迪文屏可以按照预设的格式显示这些数据。 初始化迪文屏:在程序开始时,通过发送初始化指令来配置迪文屏的工作参数。 发送数据:51单片机将读取到的温湿度数据转换为适合迪文屏显示的格式,并通过通信接口发送给迪文屏。 显示数据:迪文屏在接收到数据后,按照预设的显示区域和格式进行显示。 三、设计思路: 1、屏保功能(开机动画) 依据一次开发项目课程设置开机动画以及屏保功能。
2、温湿度显示功能 开机动画结束,点击跳转按钮进入主界面,可采用“基础触控”控件实现界面跳转,主界面如下图所示: 温度、湿度数据采用“数据变量显示”控件实现。点击设置按钮自动跳转到温湿度阈值设置登录界面,密码登录界面采用“文本显示”控件及“ASCII录入控件”实现密码输入(注意51代码判断密码正确与否比对的是ASCII码),确认按钮添加“按键值返回”控件实现向变量地址0x1200输入键值0x0001。 点击密码输入框弹出键盘,如下所示: 51代码判断0x1200地址是否为0x0001,若相等则进行密码匹配,默认密码:123,若密码正确跳转到以下界面(51代码实现界面跳转):(注意51代码判断完密码及时将0x1200地址清零) 如上所示,上限设置可采用“数据变量录入”和“数据变量显示”控件实现阈值设置,51代码自动读取变量中阈值,与实时温度比较进行报警功能。 3. 报警功能 当温度或者湿度超过设定阈值时,连接小灯闪烁报警。 五、附件上传:
|