微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 数字EDA实训,求大神用VHDL帮忙写个智力抢答器程序

数字EDA实训,求大神用VHDL帮忙写个智力抢答器程序

时间:10-02 整理:3721RD 点击:

一、智力竞赛抢答器的设计

1、抢答器的功能描述

智力竞赛作为一种生动活泼的教育形式和方法,它通过抢答和必答等方式引起参赛者和观众的兴趣。进行智力竞赛时,一般分为若干组,主持人对参赛各组提出的问题,分为必答题和抢答题两种。答题有时间限制,若在规定时间内未能回答完问题,则发出超时警告。对抢答题,要准确判断哪组优先,予以指示和鸣叫。回答问题的正确与否,由主持人判别并进行加分或减分,成绩评定结果通过电子装置显示。

  现要求设计一个智力竞赛抢答器,要求具有如下功能:

2、设计任务

(1)、具有两路或两路以上抢答输入;

(2)、能够识别最先抢答的信号,显示该台号;

(3)、进行抢答时,主持人按下复位键,系统复位后进入抢答状态,计时显示器显示初始值。(设定抢答时间为固定时间,当主持人宣布开始抢答开始,计时器开始以秒为单位进行减法计数)当某参赛组抢先将抢答按键按下,该路抢答信号则将其余各路抢答信号封锁,同时扬声器响起,这时台号显示器显示该参赛组台号;

(4)、对回答问题所用的时间进行计时、显示、超时报警;

(5)、可以预置回答问题的时间;

(6)、同时具有复位功能,倒计时启动功能;

(7)、主持人对抢答结果进行确认,随后,给出倒计时允许信号,开始回答问题,计数显示器则从初始值开始倒计时,当计至0时,停止计数,扬声器发出超时报警信号,以中止未回答问问题者回答问题;

(8)、当主持人给出倒计时计数禁止信号时,扬声器停止鸣叫;

(9)、如参赛者在规定时间内完成回答问题,主持人可以给出倒计时计数禁止信号,以免扬声器鸣叫。

**(10)、按下复位键,又可以开始新一轮的抢答。

1、 抢答器的设计(完整功能的设计)

根据以上对抢答器的功能要求,把要设计的数字系统划分为五个功能模块:抢答信号判别电路,最先抢答的台号显示控制电路,分频电路,倒计时及计时值显示电路,扬声器控制电路。如图1.1所示。

2、 设计思路(根据图1.1)

抢答器的输入信号为:抢答信号A,B,C,D,高电平有效(按下抢答键时为高电平)。复位(初始化)信号INI,高电平有效。当INI有效时,抢答信号判别电路清零,为判别优先抢答信号做好准备;倒计时电路则置入预置时间,以8421BCD码的形式送出显示驱动信号。倒计时计数允许/禁止信号EN。EN为高电平,允许计数;EN为低电平,禁止计数。预置时间信号ti,以8421码形式输入倒计时的时间初值。预置控制信号test,高电平有效;test为高电平时,将ti的值锁存到倒计时电路。输入时钟信号CLK一方面作为扬声器控制电路的输入信号,另一方面作为抢答信号判别电路中锁存器的时钟。

  抢答器的输出信号为:台号显示驱动信号O2—O0,为BCD码形式;系统复位时为“000”,进行抢答时,显示优先抢答台号。时间显示驱动信号time,为8421BCD码的形式,显示倒计时计数器的当前值。扬声器驱动信号bell,它是输入时钟经选通后的输出。

抢答信号判别电路在系统复位后,对A,B,C,D四路抢答信号进行判别,输出端G3—G0与A—D一一对应,优胜者对应的G为“1”,其余的G为“0”,且将结果锁存。完成抢答判别的同时,输出端R端输出有效信号,对扬声器进行选通。

分频电路用与产生倒计时电路所需要的周期为1s的时钟脉冲,分频系数视输入时钟信号CLK的频率而定。

台号显示控制电路将输入信号G3—G0转换为BCD码,以驱动数码管,显示台号。

倒计时及时间显示控制电路由ti,test信号预置答题时间;由复位信号INI将答题时间作为初值赋给倒计时计数器;由计数允许信号EN 启动计数。输出信号为time,sel和out,其中sel和out为扬声器选通信号。

扬声器控制电路使系统只在两种情况下输出驱动扬声器的脉冲信号:一种是倒 时计数器处于禁止计数状态(EN无效),并且完成初始化,开始对抢答信号进行判别,当某参赛组抢先按下按键,系统在输出该组台号信息的同时,输出脉冲信号;一种是确认优先抢答的参赛组后,启动倒计时计数器计数(使EN有效),当计数到“0”时,输出脉冲信号。



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top