Nexys4开发板的温度显示ADT7420传感器verilog
名称:Nexys4开发板的温度显示ADT7420传感器verilog(代码在文末付费下载)
软件:Vivado
语言:Verilog
要求:使用Nexys4开发板显示温度,温度传感器型号ADT7420


代码顶层
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
module temp_top(
input clk,//100M时钟
input rst_p,//复位按键
output [7:0] weixuan,//数码管位选
output [7:0] duanxuan, //数码管段选
output temp_SCL,//传感器IIC接口
inout temp_SDA//传感器IIC接口
);
wire [7:0] read_data;//高位
wire [7:0] read_data1;//低位
wire [12:0] temp_sensor_data;
assign temp_sensor_data={read_data,read_data1[7:3]};//温度数据由高位和低位拼接
wire [3:0]int_data_ten;//整数部分的十位
wire [3:0]int_data_one;//整数部分的个位
wire [3:0] point_data_tho;//小数部分
wire clk_out;
//计数及分频模块,先计数,再分频
div_count i_div_count(
. clk(clk),
. rst_n(~rst_p),
. clk_out(clk_out)//输出分频信号200分频----100M/200=500K
);
//传感器温度采集模块
temp_sensor tempsensor(
.clk_out(clk_out),
.rst_n(~rst_p),
.scl(temp_SCL),//传感器IIC接口
.sda(temp_SDA),//传感器IIC接口
.read_data(read_data),//高位
.read_data1(read_data1)//低位
);
//译码编码模块,将温度数据转换为BCD码
code_decode i_code_decode(
. clk(clk),//100M
. rst_p(rst_p),//push high
. temp_sensor_data(temp_sensor_data),
. int_data_ten(int_data_ten),//整数部分的十位
. int_data_one(int_data_one),//整数部分的个位
. point_data_tho(point_data_tho)//小数部分
);
//数码管动态显示模块
segments_display segmentsdisplay(
. clk(clk),//100M
. rst_p(rst_p),//push high
. int_data_ten(int_data_ten),//整数部分的十位
. int_data_one(int_data_one),//整数部分的个位
. point_data_tho(point_data_tho),//小数部分
. weixuan(weixuan),//数码管位选
. duanxuan(duanxuan) //数码管段选
);
endmodule代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » Nexys4开发板的温度显示ADT7420传感器verilog
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » Nexys4开发板的温度显示ADT7420传感器verilog