基于VHDL语言的抢答器

(9页)

'基于VHDL语言的抢答器'
VHDL抢答器的设计设计要求:1?抢答器同时供“名选手,(此处假设4个)分别用4个按钮SO?S3表示。2. 设置一个系统“开始复位”开关S,该开关由主持人控制(当主持人按下该开关后以前的 状态复位并且开始计时抢答)。3. 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显 示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持 到主持人将系统清除为止。4. 抢答器具有定时抢答功能,且一次抢答的时间(0-99S)o当主持人启动“开始复位”键 后,定时器进行减计时。5. 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显 示00o一、 概述抢答器的逻辑结构主要由抢答鉴别lock模块、沱时模块、译码模块和报警器模块组成。在整个抢答器屮最关键的是如何实现抢答封锁,在控制键按下的同时计数器倒计时显示有效 剩余时间。除此之外,整个抢答器还需有一个“复位开始”信号,以便抢答器能实现清零和 开始。抢答器共有3个输出显示,选手代号、计数器的个位和十位,他们输出全都为BCD 码输出,这样便于和显示译码器连接。当主持人按下控制键、选手按下抢答键蜂鸣器短暂响 起。二、 方案设计与论证嘿嘿!将该任务分成N个模块进行设计,分别为:抢答器鉴别模块、抢答器计时模块、 译码模块、报警模块,最后是综合。1. 抢答器鉴别模块:在这个模块中主要实现抢答过程中的抢答功能,并且能实现当有一路抢答按键按下时,该路 抢答信号将其余个绿抢答封锁的功能。在这个模块输入端有WARN输入(以时间控制系统的 WARN输出信号为信号源)、一个和“时间控制系统”公用的CLEAR端、4人抢答输入信号端 SO,S1,S2,S3和有一个时钟信号端CLK,这个时钟信号是个高频信号,用以扫描SO, SI, S2, S3是否有信号输入。输出端有对应于SO, SI, S2, S3编号的4个指示灯LED和4线2进制 输出端STATES (用于锁存当前的状态),还有一个STOP端用于指示SO,S1,S2,S3按钮状态(控 制计时器停止)。在此模块屮髙频时钟信号一直作用,此时,若主持人按下CLEAR即为开始抢答信号,所有 输出端都自动清零。在有效时间范围(N秒)内只要有人抢答,STOP就有高电平输出至“时 I'可控制系统”的STOP端以控制倒计时的停止,并且对应的LCD指示灯点亮,STATES锁存输 出到译码显示模块,用以显示优先抢答人的组号,并锁定输入端S以阻止系统响应其他抢答 者的信号。当有效时间到了之后还没有人抢答,则记时模块发出报警信号,同时反馈回来给 抢答鉴别模块,禁止选手在抢答。2. 译码模块:将抢答过程屮锁存的BCD码转换成7段码用于LED的显示。3定时器模块: 这个模块的输入端有时钟信号CLK1、系统复位信号CLEAR和一个STOP输入信号;输出端有 秒吋I'可状态显示信号高位HIGH和低位LOW,无人抢答吋计吋中止警报信号WARNo 这个模块中主要实现抢答过程中的计吋功能,在抢答开始后进行N秒的倒计吋,并且在N 秒倒计时后无人抢答的情况下显示超时并输出信号至WARN报警,或者只要N秒内有人抢 答,由抢答鉴别模块输出的STOP信号控制停止计时,并显示优先抢答者的抢答时刻,输出 一个信号经WARN传至“抢答鉴别系统”,锁存不再让选手抢答。4报警模块:在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限吋间内(N秒内) 有人抢答或是倒计时到了之后蜂鸣器开始报警,输出SOUND有效电平为高.5.在这个模块中是对前4个模块的综合。三. 单元电路软件设计及仿真1 ?抢答器鉴别模块VHDL程序及模块:LOCKCLKCLEARWARNST ATES I: 3 . ■ O]SOSILED[3..O]STOPS2S3在这个模块中主要实现抢答过程中的抢答功能,并且能实现当有一路抢答按键按下时,该路 抢答信号将其余个绿抢答封锁的功能。在这个模块输入端有WARN输入(以时间控制系统的 WARN输出信号为信号源)、一个和“时间控制系统”公用的CLEAR端、4人抢答输入信号端 SO,S1,S2,S3和有一个时钟信号端CLK,这个吋钟信号是个高频信号,用以扫描SO, SI, S2, S3是否有信号输入。输出端有对应于SO, SI, S2, S3编号的4个指示灯LED和4线2进制 输出端STATES (用于锁存当前的状态),还有一个STOP端用于指示SO,S1,S2,S3按钮状态(控 制计时器停止)。LIBRARY IEEE;USE IEEE.STD LOGIC 1164.ALL;ENTITY LOCK ISPORT( CLK,CLEAR:IN STD_LOGIC;WARN:IN STD_LOGIC;SO,S1,S2,S3:IN STD_LOGIC;STATES:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);STOP:OUT STD_LOGIC;LED:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END LOCK;ARCHITECTURE ONE OF LOCK ISSIGNAL G:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLEAR,CLKZSO,S1/S2ZS3)BEGINIF CLEAR二T THEN G<="0000,,;LED<=,,0000";STOP<=,0,;ELSIF CLK*EVENT AND CLK='l' THENIF WARN='O, THENIF( S3='r)AND NOT(G(0)='l' OR G(l)='l'OR G(2)='l*) THEN G(3)<='1';LED(3)<=,1';ELSIF( S2='1')AND NOT(G(0)='l' OR G(l)='l'OR G(3)='l') THEN G(2)<='1,;LED(2)<='1,;ELSIF( S1='1')AND NOT(G(0)='l* OR G(2)=T OR G(3)='l') THEN G(1)<=,1';LED(2)<=,1,;ELSIFf SO='1')AND NOT(G(1)='1, OR G(2)=*l'OR G(3)='l') THENG(O)<='1';LED(3)<='1';END IF;STOP<=G(0) OR G(l) OR G(2) OR G(3);END IF;END IF;CASE G ISWHEN ,,0001,,=>STATES<="0001";WHEN ,,0010,,=>STATES<=,,0010n;WHEN ,'0100,,=>STATES<="0011";WHEN n1000"=>STATES<="0100";WHEN OTHERS二〉STATESv二”0000“
关 键 词:
基于 VHDL 语言 抢答
 剑锋文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于VHDL语言的抢答器
链接地址: //www.wenku365.com/p-43768189.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给剑锋文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 //www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开