名称:基于MAX6675和热电偶的电烤箱设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
本设计采用FPGA作为主控芯片;温度检测模块采用的是MAX6675+热电偶,测量温度可达几百度;采用LCD1602显示相应的温度和挡位;采用2个继电器来模拟电烤箱的两个挡位,一档为一个继电器工作,二档为两个继电器同时工作;采用矩阵按键来控制挡位切换以及温度阈值设定等其它功能;采用蜂鸣器和LED作为声光报警装置
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
讲解视频:
https://www.bilibili.com/video/BV1qcxgeVEu3/
设计文档:
顶层模块
Keypad模块
Max_6675模块
Oled模块
Pll模块
部分代码展示:
modulefpga_max6675( inputsys_clk_1, inputkey, outputoled_scl, inoutoled_sda, outputcs, outputsck, inputmax6675_out, outputreg[1:0]switch, outputregled, outputregbeep, input???[3:0]?key_row??, output[3:0]?key_col?? ); reg[3:0]code[1:0]; reg[3:0]yuzhi[1:0]; reg[3:0]yuzhi_1[1:0]; reg[3:0]yuzhi_2[1:0]; regcode_num; regflag; wire??dht11_done; wire[7:0]??tempH; wire[15:0]??tempL; wire[7:0]??humidityH; wire[7:0]??humidityL; wire[3:0]key_value;//按键值 wirekey_flag;//按键按下的标志位 wire[11:0]tem_val; wire[11:0]tem; wirelocked; wiresys_clk; regsys_rst_n; reg?[3:0]rst_cnt; assign??dht11_done?=?1'b1; assign??tempH?=?8'd73; assign??tempL?=?8'd73;? assign??humidityH?=?8'd178; assign?tem?=?tem_val*1023/4095; always?@(posedge?sys_clk_1?)?begin ???if(locked?==?1'b0) ??????rst_cnt??<=?4'd0;?? ???else?if(key?==?1'b0) ??????rst_cnt??<=?4'd0; ???else?if(rst_cnt==4'd10) ??????rst_cnt??<=?4'd10; ???else ??????rst_cnt??<=?rst_cnt?+?1'b1; end
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1132
阅读全文
510