My title page contents

温湿度传感器DHT11通过串口UART输出verilog语言Basys3

名称:温湿度传感器DHT11通过串口UART输出verilog语言Basys3(代码在文末下载)

软件:VIVADO

语言:Verilog

代码功能:

温湿度计传感器DHT11通过串口UART输出verilog代码

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

2、使用UART协议将温湿度数据通过串口发送至电脑


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

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

basys3开发板.png


工程文件:

97899ef3-28ce-4b3d-a6fb-ed0ec24796d8.png

程序文件:

0ba03695-39e6-4bf4-ad03-3af3295fc086.png

程序编译:

c4891c93-a1ab-4d44-8182-3670715bc10b.png

管脚分配:

8b8f1c80-c737-4f65-a68f-100385a6d3d4.png

RTL图:

5d0b720b-5b94-4b60-a333-82cdd5eb80f4.png

顶层代码展示:

module DH11_uart_top(
    input clk_100M,//100M时钟
    input reset,//复位,按下高电平
    output uart_tx,//串口发送
    output uart_led,//串口发送指示灯--U16
    input switch,//切换(switch==1温度)和(switch==0湿度)--SW0
    inout dh11_io,//温湿度传感器接口--JA1-J1
    output [3:0] bit_select,//数码管位选
    output [7:0] lednum_select //数码管段选 
    );
 
wire [7:0]  temp_data;//温度
wire [7:0]  humi_data;//湿度
reg clk_50M=0; 
always@(posedge clk_100M)
    clk_50M<=~clk_50M;//2分频到50MHz
//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)//数码管段选 
); 
 wire [7:0] send_data;
 assign send_data=(switch==1)?temp_data:humi_data;
 //串口发送模块
uart i_uart(
. clk_50m(clk_50M), 
. tx(uart_tx),
. tx_busy(uart_led),
. din(send_data),
. wr_en(1'b1)  
);
 
endmodule

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 温湿度传感器DHT11通过串口UART输出verilog语言Basys3

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员