• 方案介绍
  • 相关推荐
申请入驻 产业图谱

Nexys4开发板的温度显示ADT7420传感器verilog代码

05/09 10:45
842
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

名称:Nexys4开发板的温度显示ADT7420传感器verilog(代码在文末付费下载)

软件:Vivado

语言:Verilog

要求:使用Nexys4开发板显示温度,温度传感器型号ADT7420

温度计2.png

代码顶层

`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

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=145

相关推荐