资源描述:
《VHDL四人抢答器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、四人抢答器设计一、设计任务及要求:(1)设计用于竞赛抢答的四人抢答器;①有多路抢答,抢答台数为8;②具有抢答开始后20秒倒计时,20秒倒计时后无人抢答显示超时,并报警;③能显示超前抢答台号并显示犯规警报;(2)系统复位后进入抢答状态,当有一路抢答按键按下,该路抢答信号将其余各路抢答信号封锁,同时铃声想起,直至该路按键松开,显示牌显示该路抢答台号;(3)用VHDL语言设计符合上述功能要求的四人抢答器,并用层次化设计方法设计该电路;(4)完成电路全部设计后,通过系统实验箱下载验证设计课题的正确性。二、设计思路设计制作一个竞赛抢答器,每组受控于一个抢答开关
2、,分别为S1,S2,S3,S4,低电平表示抢答有效;设置主持人控制键K,用于控制整个系统清0和抢答有效控制,按下复位键时,K=0,系统清零;抬起复位键时,K=1,抢答开始;系统具有第一抢答信号鉴别和锁存功能。在主持人将系统复位并使抢答有效开始后,第一抢答者按下抢答按钮,对应的输入引脚接低电位0,电路应记忆下第一抢答者的组别,并封锁其他各组的按钮,即其他任何一组按键都不会使电路响应;系统以两种方式指示第一抢答者:其一是通过译码程序显示其组别号;其二是在第一抢答者产生时,蜂鸣器警示;设置违规电路单元,当抢答者在主持人按下复位清零按钮之前就已经按下抢答按钮
3、时,则给出违规信号为高电平。对应组别的红色信号灯亮;当20秒倒计时后无人抢答显示超时,并报警。系统设计框图如图1所示。图1整体设计框图三、VHDL程序实现1、正常抢答程序及仿真此模块包括正常抢答第一信号鉴别和显示抢答台号,并发生声音提示。其中S1,S2,S3,S4为抢答按钮,当对应的按钮信号为0时表示有抢答信号;K为主持人按钮,按下复位键K时,K=0,系统清零;抬起复位键时,K=1,抢答开始;G为报警信号。其VHDL源程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith
4、.all;useieee.std_logic_unsigned.all;--------------------------------------------------------------------entityqiangdaisport(S1,S2,S3,S4:instd_logic;--输入:表示4个人,为0表示有抢答K:instd_logic;--主持人抢答开始键G:outstd_logic;--报警信号ledag:outstd_logic_vector(6downto0);Dout:outstd_logic_vector(3downt
5、o0));--抢答结果显示endqiangda;--------------------------------------------------------------------architecturebehaveofqiangdaissignalEnable_Flag:std_logic;--允许抢答控制变量,为1表示允许抢答signalS:std_logic_vector(3downto0);signalD:std_logic_vector(3downto0);beginprocess(S1,S2,S3,S4,K)--允许抢答控制begin
6、S<=S1&S2&S3&S4;If(K='1')thenEnable_Flag<='1';elsif(S/="1111")thenEnable_Flag<='0';endif;endprocess;process(S1,S2,S3,S4,K)--抢答结果显示beginif(K='0')thenD<="0000";Elsif(Enable_Flag='1')thenif(S1='0')thenD(0)<='1';G<='0';elsif(S2='0')thenD(1)<='1';G<='0';elsif(S3='0')thenD(2)<='1';G<=
7、'0';elsif(S4='0')thenD(3)<='1';G<='0';endif;dout<=d;endif;endprocess;process(d)--显示抢答成功者号码begincasediswhen"0000"=>ledag<="0111111";when"0001"=>ledag<="0000110";when"0010"=>ledag<="1011011";when"0100"=>ledag<="1001111";when"1000"=>ledag<="1100110";whenothers=>ledag<="0000000";en
8、dcase;endprocess;endbehave;以上VHDL程序的系统框图如图2所示。图2抢答部分框图