
基于FPGA的DS18B20多功能温度显示系统:实时监测、温度存储与报警功能实现
最近在搞一个挺有意思的FPGA温度显示项目,用DS18B20数字温度传感器搭配数码管玩出了新花样
。这种单总线协议的温度传感器用起来有点小脾气,不过搞定了之后发现FPGA驱动起来还挺带感的。
先上段单总线通信的状态机核心代码:
```verilog
always@(posedge clk_1mhz) begin
case(state)
0: begin // 初始化
if(cnt == 750_000) begin
cnt <= 0;
state <= 1;
end
else cnt <= cnt + 1;
end
1: begin // 发送跳过ROM命令
if(bit_cnt == 8) begin
state <= 2;
bit_cnt <= 0;
end
else begin
tx_data <= 8'hCC;
// 发送单字节代码...
end
end
// ...后续状态省略
endcase
end
```