news 2026/6/5 19:16:35

DHT11温湿度采集UART传输系统的设计Verilog代码Quartus Spirit_V4开发板

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DHT11温湿度采集UART传输系统的设计Verilog代码Quartus Spirit_V4开发板

名称:DHT11温湿度采集UART传输系统的设计Verilog代码Quartus Spirit_V4开发板(文末获取)

软件:Quartus II

语言:Verilog HDL

代码功能

本项目实现了一个完整的温湿度监测系统,通过DHT11传感器采集环境温度和湿度数据,并将数据通过UART串口传输。系统具备以下核心功能:

·DHT11传感器数据采集:精确采集温度和湿度数据,每2秒更新一次

·数码管显示:实时显示温湿度数值,支持四位数字显示

·UART串口通信:将采集的数据通过115200波特率串口发送

·模式切换:通过开关选择显示温度或湿度数据

代码实现思路

系统架构设计

整个系统采用模块化设计,主要包含四个核心模块:

1.DHT11驱动模块:负责与DHT11传感器通信,采用状态机控制数据采集流程

2.数码管显示模块:实现动态扫描显示,将温湿度数据转换为数码管显示格式

3.UART发送模块:实现串口数据发送功能,包含波特率生成器

4.顶层控制模块:协调各模块工作,实现数据路由和模式切换

关键技术实现

·DHT11通信协议:严格按照DHT11时序要求实现主机-从机通信

·状态机设计:使用四状态状态机控制DHT11数据采集流程

·动态扫描显示:通过时分复用技术实现四位数码管显示

·波特率生成:基于50MHz时钟精确分频生成115200波特率

代码结构

模块层次结构

DH11_uart_top (顶层模块)
├── dht11 (温湿度采集模块)
├── display_num (数码管显示模块)
└── uart (串口传输模块)
├── baud_rate_gen (波特率生成器)
└── transmitter (数据发送器)

模块功能描述

1.DH11_uart_top.v:顶层模块,负责模块间连接和数据路由

2.dht11.v:DHT11传感器驱动,实现完整的数据采集协议

3.display_num.v:数码管显示控制,支持温湿度数据动态显示

4.uart.v:UART通信控制器,包含波特率生成和数据发送

5.baud_rate_gen.v:波特率时钟生成,支持115200波特率

6.transmitter.v:串口数据发送器,实现UART发送状态机

数据流设计

系统数据流清晰:DHT11采集数据 → 数码管显示 → UART发送。通过开关控制选择显示温度或湿度数据,所有模块协同工作实现实时监测功能。

本代码已在Spirit_V4开发板验证,Spirit_V4开发板如下,其他开发板可以修改管脚适配:

1、工程文件

2、程序文件

3、程序编译

4、RTL图

5、Testbench

6、仿真图

整体仿真图

显示模块

UART发送模块

部分代码展示:

`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////module DH11_uart_top( input clk_50M,//50M时钟 input reset,//复位,按下低电平--key1 input switch,//switch,//切换(switch==1温度)和(switch==0湿度)--key2 output uart_tx,//串口发送 output uart_led,//串口发送指示灯 inout dh11_io,//温湿度传感器接口 output [3:0] bit_select,//数码管位选 output [7:0] lednum_select //数码管段选 );wire [7:0] temp_data;//温度wire [7:0] humi_data;//湿度//dht11温湿度采集模块 dht11 i_dht11(.i_clk(clk_50M),.i_rst_n(reset),.io_data(dh11_io),.o_temp(temp_data),.o_humi(humi_data));//数码管显示模块display_num i_display_num(. clk(clk_100M),. temp_data(temp_data),. humi_data(humi_data),. bit_select(bit_select),//数码管位选. lednum_select(lednum_select)//数码管段选 );
源代码

点击下方的公众号卡片获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 18:42:02

一键部署Stable Diffusion:Docker容器化解决方案终极指南

一键部署Stable Diffusion:Docker容器化解决方案终极指南 【免费下载链接】stable-diffusion-webui-docker Easy Docker setup for Stable Diffusion with user-friendly UI 项目地址: https://gitcode.com/gh_mirrors/st/stable-diffusion-webui-docker 想要…

作者头像 李华
网站建设 2026/5/30 22:58:59

【大模型自动化新纪元】:Open-AutoGLM在GitHub上的崛起与技术内幕曝光

第一章:大模型自动化新纪元的开启人工智能正以前所未有的速度演进,大型语言模型(LLM)的崛起标志着自动化技术进入全新阶段。这些模型不仅能理解自然语言,还能生成高质量内容、执行复杂推理,并与外部系统协同…

作者头像 李华
网站建设 2026/5/1 6:50:30

5分钟精通WSA-Pacman:让Windows安卓应用管理变得轻松高效

5分钟精通WSA-Pacman:让Windows安卓应用管理变得轻松高效 【免费下载链接】wsa_pacman A GUI package manager and package installer for Windows Subsystem for Android (WSA) 项目地址: https://gitcode.com/gh_mirrors/ws/wsa_pacman 你可能想知道&#…

作者头像 李华
网站建设 2026/5/24 9:38:01

10分钟精通Obsidian日历插件:提升效率的终极指南

10分钟精通Obsidian日历插件:提升效率的终极指南 【免费下载链接】obsidian-full-calendar Keep events and manage your calendar alongside all your other notes in your Obsidian Vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-full-calendar…

作者头像 李华
网站建设 2026/5/29 5:45:15

Potree三维点云可视化:从入门到精通的终极指南

在当今数字化时代,三维点云数据的可视化需求日益增长,无论是地理测绘、文物研究还是建筑设计,都需要高效的工具来处理和展示海量点云数据。Potree作为基于WebGL的开源点云渲染器,以其卓越的性能和丰富的功能,成为点云可…

作者头像 李华
网站建设 2026/5/28 18:03:32

打破论文写作的“隐形成本”:书匠策AI如何将你的创作时间还给思考

面对屏幕上文献管理、格式调整、逻辑校验的无数弹窗,一位青年研究员终于意识到,自己70%的时间没有花在真正的“研究”上。深夜的实验室里,研究生王明正盯着屏幕上同时打开的12个窗口:一个是知网文献管理器,一个是EndNo…

作者头像 李华