FPGA智能抢答器实验报告.docVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
现代电子技术综合实验实验报告 2011059010015 王健 摘要 智力抢答器是各种竞赛中很常用的一种抢答工具。本项目主要研究6人智力抢答器的设计。 关键词:VHDL、FPGA、抢答器。 第1章 引言 1.1 项目研究现状 智力抢答器由于其应用极广,所以各种技术已经趋于成熟。已有的设计包括四人到16人乃至更多人数同时带有计分功能的抢答器等。本项目设计智力抢答器为六人智力抢答器,主要是为了深入了解VHDL语言和FPGA器件的应用。 1.2 本文研究的主要内容及关键技术 本项目设计的抢答器为六人智力抢答器。编号为1-6的选手在规定的时间(10s)内按键抢答,抢中时锁定选手编号并显示,其他无效,当选手抢中时,开始30s答题倒计时。主持人控制开始和清零。当抢答开始、有人抢答、抢答或答题时间到时有报警功能,报警延时500ms后停止。 第2章 实验项目方案设计 2.1 项目系统设计原理 主持人按下开始键后系统开始工作。当有抢答信号输入系统后,系统对最先抢到的选手号码进行编码锁存,并将这个号码显示输出,所以需要编码器锁存器和译码显示电路。选手的抢答有效时间为10s,答题时间为30s,所以需要定时器,当系统在主持人按键开始、有人抢中、定时时间到三种情况下要发出报警信号,于是需要一个报警模块。我们用的实验板上LED数码管的段信号是连到一起的,所以要显示两位或多位数则需要扫描电路,在1khz左右的频率下扫描位电极,在不同周期分时显示十位和个位,从而实现两位或多位显示。 主持人按键有清零和开始功能,当第一次按下时为开始。系统报警提示并进入10s倒计时阶段。选手开始按键抢答。如果没有选手抢答,则系统倒计时到0时报警。如果有选手抢答,则系统报警,并且显示选手编号,时间变为30s倒计时。答题时间到时系统报警。支持人按键清零准备下一轮抢答。 2.2 项目系统设计方案及模块组成 系统的总输入有选手按键和主持人按键以及时钟信号。输出显示到LED七段数码管上,所以输入需要进行消抖后进行编码锁存,倒计时需要一个定时器来实现,报警器需要一个单独的模块,因为本项目采用的硬件比较特殊,需要一个扫面电路才能实现多位显示,所以需要一个扫描电路。最后的LED段电极需要一个译码电路才能正常显示。所以总的模块主要有:按键消抖模块、编码锁存模块、定时模块、扫描电路模块、报警电路模块、译码器模块。 第3章 实验项目单元模块电路设计 3.1 按键消抖模块设计 3.1.1 模块描述 消抖模块主要对按键进行消抖功能,防止误按。主要原理是当外部输入信号来时,内部计数器开始计时,如果在规定的时间内按键一直保持按下状态,则判断为按下状态,否则为误按。模块输入为主持人按键信号(star_t),时钟信号(clk),输出信号为处理后的主持人按键信号(start)。 模块符号为“xd”,模块程序如下: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_arith.ALL; use IEEE.STD_LOGIC_unsigned.ALL; entity xd is port( clk, star_t : in STD_LOGIC; start: out STD_LOGIC); end xd; architecture Behavioral of xd is signal cnt : integer :=0; signal q : integer ; begin xd : process (clk,star_t) begin q=24000; if clkevent and clk=1 then if star_t=1 then if cnt=q then cnt=cnt; else cnt=cnt+1; end if; if cnt = q-10 then start = 1; else start = 0; end if; else cnt = 0; end if; end if; end process; end Behavioral; 3.1.2 模块仿真 仿真程序: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY test_xd IS END test_xd; ARCHITECTURE behavior OF test_xd IS COMPONENT xd PORT( clk : IN std_logic;

文档评论(0)

kfcel5889 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档