名称:酒精检测(MQ3气敏传感器)设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
基于FPGA的酒精检测(MQ3气敏传感器)
研究思路和方法:
本设计采用FPGA作为主控芯片;采用MQ3气敏传感器检测酒精浓度;采用adc0832模块采集MQ3气敏传感器输出的模拟信号;通过矩阵键盘实现酒精浓度阈值的设定;采用LCD1602显示模块显示相应的酒精浓度和设定阈值;当酒精浓度超过设定的不同阈值时通过语音播报模块发出不同的提示声音。
清单:
FPGA最小系统
MQ3气敏传感器
dc0832模块
矩阵键盘
LCD1602
语音播报模块
MQ3气敏传感器
PCF8591模块
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
讲解视频:
https://www.bilibili.com/video/BV1qfxueyEM3/
设计文档:
顶层模块
I2c_dir
Keypad
Oled
Pcf8591
Pll
部分代码展示:
module?fpga_alcohol_test( inputsys_clk_1, inputkey, outputoled_scl, inoutoled_sda, outputad_scl, inoutad_sda, ???input???????????uart_rxd?,?? ???output??????????uart_txd?,?? outputregled, outputreg[1:0]yu_out, input???[3:0]?key_row??, output[3:0]?key_col?? ); parameter????SLAVE_ADDR?=??7'h48????????;?//?器件地址(SLAVE_ADDR) parameter????BIT_CTRL???=??1'b0?????????;?//?字地址位控制参数(16b/8b) parameter????CLK_FREQ???=?26'd50_000;?//?i2c_dri模块的驱动时钟频率(CLK_FREQ) parameter????I2C_FREQ???=?18'd250???;?//?I2C的SCL时钟频率 reg[3:0]code[1:0]; reg[3:0]yuzhi[1:0]; regcode_num; wire??dht11_done; wire[7:0]??tempH; wire[7:0]??tempL; wire[7:0]??humidityH; wire[7:0]??humidityL; wire[3:0]key_value;//按键值 wirekey_flag;//按键按下的标志位 wire???????????clk???????;????????????????//?I2C操作时钟 wire???????????i2c_exec??;????????????????//?i2c触发控制 wire???[15:0]??i2c_addr??;????????????????//?i2c操作地址 wire???[?7:0]??i2c_data_w;????????????????//?i2c写入的数据 wire???????????i2c_done??;????????????????//?i2c操作结束标志 wire???????????i2c_rh_wl?;????????????????//?i2c读写控制 wire???[?7:0]??i2c_data_r;????????????????//?i2c读出的数据 wire???[19:0]??num???????;????????????????//?数码管要显示的数据 wirelocked; wiresys_clk; regsys_rst_n; reg?[3:0]rst_cnt; assign??dht11_done?=?1'b1; assign??tempH?=?8'd01; assign??tempL?=?8'd02; assign??humidityH?=?8'd03; 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=1130
584