本帖最后由 啊啊切 于 2024-11-21 15:26 编辑
一、 作品介绍该作品分为两部分,从c51部分和迪文GUI部分。 C51代码部分:实现通电后,需要验证保护机制,登录迪文管家系统需要进行密码验证,如密码错误,则无法进行对温湿度的设置。密码正确正确后,对温度和湿度设置上限,当湿度或者湿度有一超过用户所设置的上限,则红绿图标开始闪烁报警,同时小灯也闪烁报警。 GUI部分:自行设计界面并进行基础控件的设置,使其实现页面的切换、页面的布局,为代码的编写打下基础。 二、 工作原理DHT11温湿度传感器的工作原理包括三部分:温度测量、湿度测量、数据输出。 温度测量:DHT11内部的温度传感器采用负温度系数热敏电阻,环境温度变化时,热敏电阻的阻值随之改变。温度升高,阻值降低;温度降低,阻值升高。传感器测量该阻值变化,并转换为数字信号,以此表示环境温度. 湿度测量:其湿度传感器基于特殊半导体材料,该材料电阻随空气中水分子浓度变化而变化。水分子浓度增加,即湿度增大时,电阻减小;反之电阻增大。通过测量电阻变化,可计算出相对湿度. 数据输出:传感器内部微处理器将温湿度模拟信号转换为数字信号,以40位脉冲信号形式通过单一数据线传输给迪文屏等主控制器,其中包含16位湿度数据、16位温度数据和8位校验和,校验和用于确保数据准确性. 迪文屏与DHT11连接后,通过向DHT11发送启动信号,DHT11响应并发送数据,迪文屏接收数据并进行处理,从而实现温湿度测量与显示等功能. 迪文屏GUI核包括密码登录进入,对温湿度的显示和阈值的修改
图1原理图
三、 设计思路1. 密码登录界面 通电后,进入密码登录界面,如图所示。 图2密码登录界面 密码登录界面,采用“文本显示”——“数据变量”控件,以及”基础控件”——“数据录入”实现单击键盘出现及文本输入效果。采用“”触控控件“”——“基础触控””并在参数值设置中设置变量地址:1200向高字节写入,通过与51代码相配合实现页面的切换,达到密码正确跳转到开始界面,密码错误则跳转到密码错误界面的效果。 键盘界面和错误界面如下图所示: 2. 密码错误界面 密码错误界面的确认按钮采用“触控控件”——“基础控件”实现点击按钮返回密码登录界面。 3. 开始界面 开始界面设置“确认”和“返回按钮”,两个按钮均采用“触控控件”——“基础控件”。点击“确认按钮”进入温度界面,点击“返回按钮”回到密码登录界面。开始界面如下图所示: 图5开始界面 4. 温度界面 温度界面中温度显示区域采用“文本显示”——“数据变量”控件,温度的上下限显示区域采用“文本显示”——“数据变量”控件,以及”基础控件”——“数据录入”实现了观察实时温度的效果,单击弹出键盘界面设置温度报警的上下阈值的功能。“确认按钮”和“返回按钮”采用了“触控控件”——“基础控件”,实现了单击“确认按钮“进入湿度界面,单击“返回按钮”返回开始界面。温度界面如图所示 图6温度界面 5. 湿度界面 湿度界面同温度界面设置基本一样。湿度界面如图所示:
图7湿度界面 6. 显示界面 在此界面中不仅可以观察温度和湿度的实时动态,51代码还会自动读取变量中的阈值与实际温度相对比,当实际温度和湿度超过温度和湿度超过阈值进行报警表现为LED闪烁。
图8显示界面
|