FPGA抢答器设计报告

上传人:工**** 文档编号:480338835 上传时间:2022-11-10 格式:DOCX 页数:8 大小:142.49KB
返回 下载 相关 举报
FPGA抢答器设计报告_第1页
第1页 / 共8页
FPGA抢答器设计报告_第2页
第2页 / 共8页
FPGA抢答器设计报告_第3页
第3页 / 共8页
FPGA抢答器设计报告_第4页
第4页 / 共8页
FPGA抢答器设计报告_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《FPGA抢答器设计报告》由会员分享,可在线阅读,更多相关《FPGA抢答器设计报告(8页珍藏版)》请在金锄头文库上搜索。

1、Vb开办上海电力学院课程设计报告信息工程系抢答器设计报告一、设计目的:本课程的授课对象是电子科学与技术专业本科生,是电子类专业的一门重要的实践课程,是理论与实践相结合的重要环节。本课程有助于培养学生的数字电路设计方法、掌握模块划分、工程设计思想与电路调试能力,为以后从事各种电路设计、制作与调试工作打下坚实的基础二、实验器材和工具软件:PC机一台、Quartusll软件、DE2板。三、设计内容:(1) 抢答器可容纳四组12位选手,每组设置三个抢答按钮供选手使(2) 电路具有第一抢答信号的鉴别和锁存功能。在主持人将系统复位并发出抢答指令后,蜂鸣器提示抢答开始,时显示器显示初始时间并开始倒计时,若参

2、赛选手按抢答按钮,则该组指示灯亮并用组别显示器显示选手的组别,同时蜂鸣器发出“嘀嘟”的双音频声。此时,电路具备自锁功能,使其它抢答按钮不起作用。(3) 如果无人抢答,计时器倒计时到零,蜂鸣器有抢答失败提示,主持人可以按复位键,开始新一轮的抢答。(4) 设置犯规功能。选手在主持人按开始键之前抢答,则认为犯规,犯规指示灯亮和显示出犯规组号,且蜂鸣器报警,主持人可以终止抢答执行相应惩罚。(5) 抢答器设置抢答时间选择功能。为适应多种抢答需要,系统设有10秒、15秒、20秒和30秒四种抢答时间选择功能。四、设计具体步骤:首先把系统划分为组别判断电路模块groupslct,犯规判别与抢答信号判别电路模块

3、fgqd,分频电路模块fpql,倒计时控制电路模块djs,显示时间译码电路模块num_7seg模块,组别显示模块showgroup模块这六个模块,各模块设计完成后,用电路原理图方法将各模块连接构成系统。各模块功能及代码:1、组别判别模块功能:可容纳四组12位选手,每组设置三个抢答按钮供选手使用。若参赛选手按抢答按钮,则输出选手的组别。此时,电路具备自锁功能,使其它抢答按钮不起作用(2)原理:在每次时钟(50MHz)上升沿时判断按键,将按下按键的组别赋给一内部信号“h”(没有按键按下时h=“0000”),由于人的反应速度远远小于50MHz,所以可选出最先按下按键的那组。当复位键按下时(clr=T

4、)输出g=“0000”并且将另一内部信号rst置1。当复位后(rst二T)有按键按下时将h的值给输出信号g,并且将标志信号rst清零。这样就实现最快按键组别的输出与组别锁存功能。(3)程序代码:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitygroupslctisport(clock,clr:instd_logic;a,b,c,d:instd_logic_vector(2downto0);g:outstd_logic_vector(3downto0);endgroupslct;archite

5、cturebehave_groupslctofgroupslctissignalh:std_logic_vector(3downto0);signalrst:std_logic;beginh=0000when(a=000andb=000andc=000andd=000)else0001when(a/=000andb=000andc=000andd=000)else0010when(a=000andb/=000andc=000andd=000)else0100when(a=000andb=000andc/=000andd=000)else1000when(a=000andb=000andc=00

6、0andd/=000)else0000;processbeginwaitonclockuntilrising_edge(clock);ifclr=1thenrst=1;g=0000;endif;ifh/=0000thenifrst=1theng=h;rstliIiflr-irili*fIiAI!I4-Sii!s:兰int6(2)原理:c3.O接组别判别模块的g3.O,即此时c为按键组别的信息。go接主持人的“开始”按键。由于无论是在正常情况还是犯规情况下按下按键,都必须显示按键的组别且蜂鸣器响,所以将c的值给hex以输出按键组别,且在有按键按下(c/二0000)时输出fm为1否则为0若在开始之

7、前有按键按下时,即go=0且c/=0000,输出ledfg为1否则为0若在开始之后有按键按下,将c的值给led,使该组指示灯亮,开始之前led输出“0000”。(3)程序代码:libraryieee;useieee.std_logic_1164.all;entityfgqdisport(c:instd_logic_vector(3downto0);go:instd_logic;hex:outstd_logic_vector(3downto0);led:outstdogic_vector(3downto0);ledfg,fm:outstd_logic);endfgqd;architectureb

8、ehave_fgqdoffgqdisbeginhex=c;led=cwhengo=1else0000;ledfg=1whengo=0andc/=0000else0;fm=1whenc/=0000else0;endbehave_fgqd;3、倒计时控制电路模块(1)功能:设置10秒、15秒、20秒和3O秒四种抢答时间选择功能,输出时间,并判断计时是否到01clockq4.0entimttOaolr!J!ijrpgip.(Hinst(2)原理:clock接1Hz分频器,grpsl接组别判别模块的输出g通过判断s的值设置内部减法计数器的初始值q端输出当前计数值。当计数到0且grpsl二“0000”时

9、time0输出高电平以驱动蜂鸣器,发出时间到的警报。(3)程序代码libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitydjsisport(clock,en,aclr:instd_logic;s:instd_logic_vector(1downto0);grpsl:instd_logic_vector(3downto0);q:bufferstd_logic_vector(4downto0););enddjs;architecturebehave_djsofdjsisbeginprocess(clo

10、ck,aclr,s)beginif(aclr=1)thenif(s=00)thenq=01010;elsif(s=01)thenq=01111;elsif(s=10)thenq=10100;elseq=11110;endif;elseifrising_edge(clock)thenifen=1thenq=q-1;if(q=00000andgrpsl=0000)thentime0=1:elsetime0=0:endif;endif;endif;endif;endprocess;endbehave_djs;4、分频器模块(1)功能:实现50MHz1Hz的分频,为倒计时模块提供时钟|fpqlelki

11、nclkoutiinst2r(2)程序代码libraryieee;useieee.std_logic_1164.all;entityfpqlisport(clkin:instd_logic;clkout:outstd_logic);endfpq1;architecturebehave_fpq1offpq1isconstantN:Integer:=24999999;signalCounter:IntegerRANGE0TON;signalClk:Std_Logic;beginprocess(clkin)beginifrising_edge(clkin)then-每计到N个(0n-1)上升沿,输出

12、信号翻转一次ifCounter=NthenCounter=0;Clk=NOTClk;elseCounter=Counter+1;endif;endif;endprocess;clkout=Clk;endbehave_fpq1;5、时间显示译码器(1)功能:将时间信息在7段数码管上显示。rHjm_7seflr71O4.0hex13.D|in5141*a*MMMMMi*(2)程序代码libraryieee;useieee.std_logic_1164.all;entitynum_7segisport(c:instd_logic_vector(4downto0);hex:outstd_logic_v

13、ector(13downto0);endnum_7seg;architecturebehave_num_7segofnum_7segisbeginwithc(4downto0)selecthex=10000001000000when00000,-010000001111001when00001,-110000000100100when00010,-210000000110000when00011,-310000000011001when00100,-410000000010010when00101,-510000000000010when00110,-610000001111000when00111,-710000000000000when01000,-810000000010000when01001,-911110011000000when01010,-1011110011111001when01011,-1111110010100100when01100,-1211110010110000when01101,-1311110010011001when01110,-1411110010010010when01111,-1511110010000010when10000,-1611110011111000when10001,-171111

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号