《EDA课程设计—抢答器》由会员分享,可在线阅读,更多相关《EDA课程设计—抢答器(12页珍藏版)》请在金锄头文库上搜索。
1、精选优质文档-倾情为你奉上内容摘要抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。当第一个人按下按键后,则在显示器上显示该组的号码,对应的灯亮,同时电路将其他各组按键封锁,使其不起作用。若抢答时间内无人抢答,则报警灯亮。回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。因此要完成抢答器的逻辑功能,该电路应包括抢答器鉴别模块、抢答器计数模块、报警模块、译码模块、分频模块。关键词:抢答鉴别 封锁 计数 报警Abstract Responder is the answer f
2、or the quiz participants to answer in the design when a priority decision circuit, and the race can be divided into several groups, answer in each group on the host issues raised in the shortest possible time to make judgments , and press the answer in answer key. After pressing the button when the
3、first person, then the display shows the number of the group, the corresponding lights, while other groups will be key circuit block, it does not work. If the answer in time, no answer in, the alarm lights. Answering questions, all the keys from the host to restore and re-start the next round of the
4、 Responder. So to complete the answering device logic functions, the circuit should include Responder identification module, Responder counting module, alarm module, decoding module, frequency module. KEY: Responder Identification Blockade Count Alarm一、 设计要求1.抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 S3表示。2.设置一个
5、系统清除和抢答控制开关rst,该开关由主持人控制。3抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED和数码管上显示,同时提示灯亮。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。4. 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如20秒)5. 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示20。二、方案设计与论证1、 概述将该任务分成五个模块进行设计,分别为:抢答器鉴别模块、抢答器计时模块、报警模块、分频模块、译码模块。2、 抢答器鉴别模块:在这个模块中主要实现抢答过程中的抢答功能,并能对超前抢答进行警告,还
6、能记录无论是正常抢答还是朝前抢答者的台号,并且能实现当有一路抢答按键按下时,该路抢答信号将其余的抢答信号封锁的功能。其中有四个抢答信号s0、s1、s2、s3;抢答状态显示信号states;抢答与警报时钟信号clk2;系统复位信号rst;警报信号warm。3、 抢答器计数模块:在这个模块中主要实现抢答过程中的计时功能,在有抢答开始后进行20秒的倒计时,并且在20秒倒计时后无人抢答显示超时并报警。其中有抢答时钟信号clk1;系统复位信号rst;抢答使能信号start;无人抢答警报信号warn;计时中止信号stop;计时十位和个位信号tb,ta。4、 报警模块:在这个模块中主要实现抢答过程中的报警功
7、能,当主持人按下控制键,有限时间内 人抢答或是计数到时蜂鸣器开始报警,计数停止信号stop;状态输出信号alm;计数脉冲clk。5、 译码模块:在这个模块中主要实现抢答过程中将BCD码转换成7段的功能。6、 分频模块:在这个模块中主要实现抢答过程中所需的时钟信号。7、 顶层文件:在这个模块中是对前五个模块的综合编写的顶层文件。三、单元电路设计(一)抢答鉴别模块1.VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xuanshou is port(rst,clk2:in s
8、td_logic; s0,s1,s2,s3:in std_logic; states:buffer std_logic_vector(3 downto 0); light:buffer std_logic_vector(3 downto 0);warm:out std_logic);end xuanshou ;architecture one of xuanshou issignal st:std_logic_vector(3 downto 0);beginp1:process(s0,rst,s1,s2,s3,clk2) begin if rst=0 then warm=0;st=0000;
9、elsif clk2event and clk2=1 then if (s0=1 or st(0)=1)and not( st(1)=1 or st(2)=1 or st(3)=1 ) then st(0)=1; end if ; if (s1=1 or st(1)=1)and not( st(0)=1 or st(2)=1 or st(3)=1 ) then st(1)=1; end if ; if (s2=1 or st(2)=1)and not( st(0)=1 or st(1)=1 or st(3)=1 ) then st(2)=1; end if ; if (s3=1 or st(3
10、)=1)and not( st(0)=1 or st(1)=1 or st(2)=1 ) then st(3)=1; end if ;warm=st(0) or st(1) or st(2) or st(3);end if ;end process p1;p2:process(states(0),states(1),states(2),states(3),light) begin if (st=0000) then states=0000; elsif (st=0001) then states=0001;elsif (st=0010) then states=0010; elsif (st=
11、0100) then states=0011;elsif (st=1000) then states=0100; end if; light=st;end process p2;end one;2. 抢答鉴别仿真图3抢答鉴别元件图(二)计数模块1. VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity JS is port(clk1,rst,start,stop:in std_logic; ta,tb:buffer std_logic_vector(3 downto 0);e
12、nd JS;architecture one of JS issignal co:std_logic;beginp1:process(clk1,rst,start,stop,ta) begin if rst=0 or stop=1 then ta=0000; elsif clk1event and clk1=1 then co=0; if start=1 then if ta=0000 then ta=1001;co=1; else ta=ta-1; end if; end if; end if;end process p1;p2:process(co,rst,start,stop,tb) b
13、egin if rst=0 or stop=1 then tb=0010; elsif coevent and co=1 then if start=1 then if tb=0000 then tb=0011; else tb=tb-1; end if; end if; end if;end process p2;end one ;2.计数仿真图3.计数元件图 (三)报警模块1. VHDL源程序library ieee;use ieee.std_logic_1164.all;entity shengyin isport(rst:in std_logic; warn:in std_logic;
14、 clk:in std_logic; ta,tb:in integer range 0 to 9; stop:in std_logic; alm:out std_logic ); end; architecture bhv of shengyin is begin process(warn,ta,tb,stop,clk) begin if rst=0then alm=0; elsif stop=1then alm=0; elsif ta=0 and tb=0 then alm=clk; elsif warn=1then alm=clk; else alm=0; end if; end proce