温湿度计传感器DHT11控制数码管显示verilog代码及视频

名称:温湿度计传感器DHT11控制数码管显示

软件:QuartusII

语言:Verilog

代码功能:

使用温湿度传感器DHT11采集环境的温度和湿度,并在数码管显示

本代码已在开发板验证

开发板资料:

大西瓜第一代FPGA升级板原理图.pdf

DHT11传感器电路图:

演示视频:温湿度计传感器DHT11控制数码管显示verilog_Verilog/VHDL资源下载

FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com

代码下载:

温湿度计传感器DHT11控制数码管显示verilog_Verilog/VHDL资源下载名称:温湿度计传感器DHT11控制数码管显示(代码在文末付费下载)软件:QuartusII语言:Verilog代码功能: 使用温湿度传感器DHT11采集环境的温度和湿度,并在数码管显示 本代码已在开发板验证 开发板资料:大西瓜第一代FPGA升级板原理图.pdf DHT11传感器电路图:演示视频:FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.comhttp://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=220

部分代码展示

复制代码
//==========================================================================
//温湿度计dht11的数据采集,采集间隔1s
//==========================================================================
module dht11(
						i_clk,
						i_rst_n,
						io_data,
					   o_temp,
						o_humi
							);

input i_clk;//50mhz
input i_rst_n;//低电平复位
inout io_data;//数据端口
output reg [7:0]o_temp;//输出温度
output reg [7:0]o_humi;//输出湿度
reg o_data;//输出数据



reg [39:0]get_data;//dht11获取的数据
reg [5:0]data_num;//获取数据的位数
reg[3:0]crt_state;//三段状态机
reg [3:0]next_state;
parameter idle		= 4'b0001;//空闲状态
parameter init		= 4'b0010;//主机请求复位状态
parameter ans 		= 4'b0100;//从机应答
parameter rd_data	= 4'b1000;//接受数据

reg data_sam1;//输入采样1
reg data_sam2;//输入采样2

reg data_pluse;//检测输入上升沿脉冲
always@(posedge i_clk )
begin
	data_sam1<=io_data;
	data_sam2<=data_sam1;
	data_pluse<=(~data_sam2)&data_sam1;
end
reg[26:0] cnt_1s;//1s计数器  
always@(posedge i_clk or negedge i_rst_n )
	if(!i_rst_n)
		cnt_1s<=27'd0;	
	else if(cnt_1s==27'd49999999)
		cnt_1s<=27'd0;
	else
		cnt_1s<=cnt_1s+1'b1;

reg updata=0;
reg[26:0] cnt_2s=27'd0;//2s计数器  
always@(posedge i_clk or negedge i_rst_n )
	if(!i_rst_n)
		cnt_2s<=27'd0;	
	else if(cnt_2s==27'd99999999)
		cnt_2s<=27'd0;
	else
		cnt_2s<=cnt_2s+1'b1;
		
always@(posedge i_clk)
    if(cnt_2s==27'd99999999)
        updata<=1;
    else
        updata<=0;		
		
/============状态机
always@(posedge i_clk or negedge i_rst_n )
				if(!i_rst_n)
						crt_state<=idle;
				else if(updata==1)//2s更新一次
						crt_state<=idle;
				else
						crt_state<=next_state;

设计文档:

设计文档.doc

  1. 工程文件
  1. 程序文件
  1. 程序编译
  1. RTL图
  1. 仿真图

按键消抖模块仿真

数码管显示模块仿真

开启控制模块仿真

相关推荐
千寻xun6 小时前
三、实战篇-NVME SSD控制之FPGA实现(一)
fpga开发·nvme ssd·nvme协议
XMAIPC_Robot9 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
upper202010 小时前
从零开始设计riscv cpu记录之七
fpga开发·riscv·riscv设计·btb·分支预测
ARM|X86+FPGA工业主板厂家14 小时前
AI视觉跟随运动控制实战|RK3588 NPU检测+FPGA EtherCAT多轴联动精准跟随方案,适用于半导体视觉对位等
人工智能·fpga开发·硬件工程·ethercat·实时系统
XMAIPC_Robot18 小时前
RK3588+FPGA半导体设备量产踩坑大全|发热、时序漂移、推理抖动、成像干扰、EMC干扰方案
人工智能·嵌入式硬件·fpga开发·arm+fpga
北方孤寂的灵魂18 小时前
关于AXI协议详解
verilog·systemverilog·sv·数字验证
凡亿卓达方案设计1 天前
FPGA硬件开发怎么选靠谱方案商?
fpga开发
Eloudy2 天前
QSFP28、RoCEv2、RFSoC-4x2 数据传输与器件链路
网络·fpga开发·rocev2
Echo_cy_2 天前
基于ZYNQ-7000的Ethernet驱动配置
linux·驱动开发·嵌入式硬件·fpga开发·ethernet·zynq
現実君2 天前
关于MCU下位替换FPGA的经验与方案
单片机·嵌入式硬件·fpga开发