FPGA设计实现四人抢答器

您所在的位置:网站首页 四人抢答器verilog FPGA设计实现四人抢答器

FPGA设计实现四人抢答器

2024-06-16 23:42| 来源: 网络整理| 查看: 265

题目:

  设计实现一个可容纳四组选手参赛的抢答器系统,每组设一个抢答按钮。答题开始后,由主持人按下“复位”键(开始键)后进入抢答环节,当某个小组抢答成功时,抢答器系统发出半秒的低频音(DO),显示该组别序号并点亮该组“选手指示灯”直至系统复位。此时进入答题计时环节,若超过 30 秒仍未答出,抢答器系统发出 1 秒的高频音(SI)示警。由裁判员按下“复位”键,开始新一轮答题。

一. 模块设计  

  本实验设计实现一个抢答器系统,主要由答题计时模块timer,数码管显示模块display_595,蜂鸣器发声模块buzzer,抢答模块sel,按键消抖模块key_filter和顶层模块responder。

  其中display_595模块中包含对display模块以及hc595_ctrl模块的例化。

  整体模块框图输入输出信号如下图所示:

  输入信号:系统时钟sys_clk, 复位信号sys_rst_n,四路抢答器按键信号key_in[3:0],蜂鸣器驱动信号beepout,数码管显示驱动信号stcp,shcp,ds,oe,以及选手指示灯信号 led_out[3:0]。

二. FPGA硬件电路原理图 1. 六位八段数码管

  其具体使用方法见文章:Altera EP4CE10 征途Pro开发板数码管显示原理(以实现模60计数器为例)-CSDN博客

2. 无源蜂鸣器buzzer

  相对于有源蜂鸣器,无源蜂鸣器的成本更低,声音频率可控。而有源蜂鸣器因其内部自带振荡源,只要加上适当的直流电源即可发声,程序控制较为方便。无源蜂鸣器与有源蜂鸣器不同,因其内部不带震荡源,所以其无法向有缘蜂鸣器那样直接用直流信号驱动,这里需要使用PWM方波才能驱动其发声。

  其具体使用方法见文章:无源蜂鸣器的驱动实验-CSDN博客

3. 按键key

  开发板上使用的机械按键也是按键的一种,特点是:接触电阻小 ,手感好,按键按下或弹起时有“滴答”清脆声;但由于其构造和原理,在按键闭合及断开的瞬间均伴随有一连串的抖动。

       具体按键消抖方法的设计请参阅文章:按键消抖模块设计实现-CSDN博客

三. Verilog程序设计 1. 答题计时模块timer

  当有人抢答时,计时器进入三十秒的倒计时,从30计到00。sel_flag表示抢答信号。

模块内包含一个分频器,产生一秒的标准脉冲clk1。

核心代码如下:

always@( posedge clk1 or negedge sys_rst_n ) if( sys_rst_n == 1'b0 ) begin timer[7:4]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3