- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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;
您可能关注的文档
最近下载
- TB∕T 1528.3-2018 铁路信号电源系统设备 第3部分:普速铁路信号电源屏.docx
- 中国大豆——大豆产业政策历年调整表.docx
- 840Dsl_应用_SINUMERIK 840Dsl 简明调试手册 V4.8_2018.pdf
- 学会释然16页.ppt VIP
- 漏电保护器测试记录表.doc VIP
- TB∕T 1528.1-2018 铁路信号电源系统设备 第1部分:通用要求.docx
- 绍兴市镜湖新区洋渎、小观拆迁地块污染土壤修复工程环境影响报告.docx VIP
- 石油化工管式炉用空气预热器技术规范标准文本.pdf
- SJT 10534-1994 波峰焊接技术要求.pdf
- 生理学总结图片.pdf
文档评论(0)