实验报告
一.课程设计的题目:四人智力竞赛抢答器
二.报告人:
组 员:
班 级:
三.设计任务和要求:
1.设计任务
设计一台可供4名选手参加比赛的智力竞赛抢答器。 用数字显示抢答倒计时间,由“9”倒计到“0”时,无人抢答,蜂鸣器连续响1秒。选手抢答时,数码显示选手组号,同时蜂鸣器响1秒,倒计时停止。
2.设计要求
(1)4名选手编号为:1,2,3,4。各有一个抢答按钮,按钮的编号与选手的编号对应,也分别为1,2,3,4。
(2)给主持人设置一个控制按钮,用来控制系统清零(抢答显示数码管灭灯)和抢答的开始。
(3)抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答按钮,该选手编号立即锁存,并在抢答显示器上显示该编号,封锁输入编码电路,禁止其他选手抢答。抢答选手的编号一直保持到主持人将系统清零为止。
(4)抢答器具有定时(9秒)抢答的功能。当主持人按下开始按钮后,定时器开始倒计时,定时显示器显示倒计时间,若无人抢答,倒计时结束时,参赛选手在设定时间(9秒)内抢答有效,抢答成功,同时定时器停止倒计时,抢答显示器上显示选手的编号,定时显示器上显示剩余抢答时间,并保持到主持人将系统清零为止。
(5)如果抢答定时已到,却没有选手抢答时,并封锁输入编码电路,禁止选手超时后抢答,时间显示器显示0。
四.原理电路和程序设计:
1.数字抢答器总体方框图
如图11-1所示为总体方框图。其工作原理为:接通电源后,主持人将开关拨到"清除"状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置开始"状态,宣布"开始"抢答器工作。定时器倒计时,选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示,当一轮抢答之后,
定时器停止、禁止二次抢答、定时器显示零。如果再次抢答必须由主持人再次操作"清除"和"开始"状态开关。
图11-1数字抢答器框图
2.单元电路设计
(1) 抢答器电路
参考电路如图11-2所示。该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。工作过程:开关S置于"清除"端时,RS触发器的 端均为0,4个触发器输出置0,使74LS148的 =0,使之处于工作状态。当开关S置于"开始"时,抢答器处于等待工作状态,当有选手将键按下时(如按下S4),74LS148的输出 经RS锁存后,1Q=1,74LS48处于工作状态,4Q3Q2Q=100,经译码显示为"4"。此外,1Q=1,使74LS148 =1,处于禁止状态,封锁其他按键的输入。当按键松开即按下时,74LS148的 此时由于仍为1Q=1,使ST=1,所以74LS148仍处于禁止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。如有再次抢答需由主持人将S开关重新置 清除"然后再进行下一轮抢答。74LS148为8线-3线优先编码器.
图11-2 数字抢答器电路
五.元件选择
1. 集成电路: 74LS148 1片 74LS373 1片 74LS48 2片 74LS192 1片 NE555 1片 74LS00 2片
74LS121 2片 74LS21 1片 74LS32 1片 74LS08 1片
2. 电 阻|: 500Ω 7只 5.1Ω 7只 4. 其 它: 共阴极显示器 2只, 开关7只,
六.整体电路及软件仿真的效果图以及仿真调试结果分析
七.工作原理
1.置数:通过单刀双掷开关将74ls192的load输入端先置为高电平,使74ls192实现置数功能,将其置为1001,再通过开关,将load输入端先置为低
电平,使其开始倒计时。
2.当主持人按下开始按钮时,选手开始抢答,并且倒计时开始倒计,当有任何
一个选手按下按钮时LS148被锁存,其他选手按下无效,同时倒计时制止,数码管
显示剩余时间和选手对应的号码,倒计时数码管显示为0,禁止选手抢答。主持
人再置为开始状态,其他选手才可以继续抢答,倒计时从新倒计,进入下一个抢答
状态.
3.当无选手按按钮是,倒计时继续直到倒计时为零,此时零点到的信号将
LS148锁存,选手再按下按钮无效,同样只有当主持人清零后再置为开始状态,其
他选手才可以继续抢答。
八.总结
我的是抢答器部分的电路,做的过程中碰到了许多问题。
1.电路的焊接需要我们熟练和正确的焊接,在这个过程中我出现过虚焊。
2.抢答器的编码器74LS148管脚5接地,导致编码5的开关直接导通。取消管脚
5接地问题就解决了。
3.抢答部分电路与时序电路连接时,主持人外接的线路接错地方了,修改后两块
电路板连接即可正常显示。
通过设计4路抢答器的设计使我对课本的知识更加的巩固和动手能力的加强。
第二篇:eda竞赛抢答器
北 华 航 天 工 业 学 院
课程设计报告(论文)
设计课题: 竞赛抢答器
专业班级:
学生姓名:
指导教师:
设计时间:
内 容 摘 要
在EDA技术中,最为瞩目的是以现代电子技术为特征的逻辑仿真测试技术。该技术只需通过计算机就能对所设计的电子系统从不同层次的性能特点上,进行一系列准确的测试和仿真。
四路抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。当第一个人按下按键后,则在显示器上显示该组的号码,同时电路将其他各组按键封锁,使其不起作用。若抢答时间内无人抢答,警报器发出警报。回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。
要完成抢答器的逻辑功能,至少应包括抢答锁存模块、计时模块、选择控制,报警器和译码模块。
关键词:抢答锁存 计时 数据选择 译码 报警
目 录
一 概 述 ………………………………………………………………… 1
二 方案设计与论证………………………………………………………………1
三 单元电路设计…………………………………………………………………2
(一) 抢答锁存模块的设计 ……………………………………………… 2
(二) 计时模块的设计 ………………………………………………………3
(三) 数据选择模块的设计 …………………………………………………4
(四) 译码器模块的设计 ……………………………………………………5
(五)主电路连线图 …………………………………………………………7
(六) 芯片引脚图 …………………………………………………………7
四 器件编程与下载………………………………………………………………8
五 性能测试与分析………………………………………………………………8
六 实验设备………………………………………………………………………8
七 心得体会………………………………………………………………………9
八 参考文献………………………………………………………………………9
课程设计任务书
一、概述
抢答器主要由抢答锁存模块、计时模块、数据选择控制模块,报警器和译码模块组成。在整个抢答器中最关键的是如何实现抢答锁存,在控制键按下的同时计数器倒计时显示有效剩余时间。整个抢答器还需有一个使能信号和一个归零信号,以便抢答器能实现公平抢答和停止。抢答器共有3个输出显示,选手代号、计数器的个位和十位,他们输出全都为BCD码输出,这样便于和显示译码器连接。当主持人按下控制键、选手按下抢答键或倒计时到时蜂鸣器短暂响起。
二、方案设计与论证
1、抢答锁存模块;
在这个模块中主要实现抢答过程中的抢答功能。抢答开始后,当有一路抢答按键首先按下时,将其余个路抢答封锁。其中有四个抢答信号s[3..0];时钟信号clk;复位信号s;警报信号alarm;输出信号states[3..0];计时停止信号T。
2、抢答器计时模块:
在这个模块中主要实现抢答过程中的计时功能。在抢答开始主持人按下复位键后进行20秒的倒计时,并且在20秒倒计时后无人抢答显示超时并报警,若有选手抢答则计时停止。其中有时钟信号clk;系统复位信号s;抢答信号stop;无人抢答警报信号alarm;计时十位和个位信号sw[3..0],gw[3..0]。
3、数据选择模块:
在这个模块中主要实现抢答过程中的数据输入功能,输入信号a[3..0]、b[3..0]、c[3..0];数据输出信号y[3..0];计数输入脉冲信号sel[3..0];实现a、b、c按脉冲轮流选通,在相应数码管上显示。
4、译码模块:在这个模块中主要实现抢答过程中将BCD码转换成7段的功能。
三、单元电路设计
(一)抢答锁存模块
1、VHDL源程序
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Use ieee.std_logic_arith.all;
Entity QD is
Port( s,clk:in std_logic;
s0,s1,s2,s3:in std_logic;
states:buffer std_logic_vector(3 downto 0);
T,alarm:out std_logic);
End QD;
Architecture aa of QD is
signal s_0,s_1,s_2,s_3:std_logic;
begin
process(s0,s1,s2,s3,s,clk)
begin
if (s='0') then s_0<='0';s_1<='0';s_2<='0';s_3<='0';
elsif (clk'event and clk='1') then
if (s_0='1' or s_1='1' or s_2='1' or s_3='1')
then null;
elsif s0='0' then s_0<='1';states<="0001";
elsif s1='0' then s_1<='1';states<="0010";
elsif s2='0' then s_2<='1';states<="0011";
elsif s3='0' then s_3<='1';states<="0100";
else states<="0000";
end if;
end if;
T<= s_0 or s_1 or s_2 or s_3;
alarm<= s0 and s1 and s2 and s3;
end process;
end aa ;
2、仿真图
(二)计时模块
1、VHDL源程序
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_1164.all;
entity js is
port(clk,s,stop:in std_logic;
alarm:out std_logic;
sw,gw:buffer std_logic_vector(3 downto 0));
end js;
architecture aa of js is
begin
process(clk,s,stop)
begin
if (s='0') then sw<="0011";gw<="0000";alarm<='1';
elsif(clk'event and clk='1') then
if(stop='1') then gw<=gw;sw<=sw;
elsif (gw="0000") then gw<="1001";
if(sw="0000") then sw<="0000";
else sw<=sw-1;
end if;
else
gw<=gw-1;alarm<='0';
end if;
if (sw=0 and gw=0) then sw<="0011";gw<="0000";alarm<='1';
end if;
end if;
end process;
end aa;
2、仿真图
(三)数据选择模块
1、VHDL源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity sjxz is
port(a,b,c:in std_logic_vector(3 downto 0);
sel:in std_logic_vector(2 downto 0);
y:out std_logic_vector(3 downto 0));
end sjxz;
architecture aa of sjxz is
begin
process(sel)
begin
case sel is
when "000"=>y<=a;
when "001"=>y<=b;
when "010"=>y<=c;
when others=>null;
end case;
end process;
end aa;
2、仿真图
(四)译码模块
1、VHDL源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity ym is
port(a:in std_logic_vector(3 downto 0);
b:out std_logic_vector(6 downto 0));
end ym;
architecture one of ym is
begin
with a select
b<="1111110" when"0000",
"0110000" when"0001",
"1101101" when"0010",
"1111001" when"0011",
"0110011" when"0100",
"1011011" when"0101",
"1011111" when"0110",
"1110000" when"0111",
"1111111" when"1000",
"1110011" when"1001",
"1111111" when others;
end one;
2、仿真图
(五)主电路连线图
1、主图
2、仿真图
(七)将程序下载到芯片FLEX—EPF10LC84-3上,引脚图如下
四、器件编程与下载
将编译好的模块程序下载到CPLD中(注:DEVICE选取要与硬件对应,否则会导致实验失败),连线做硬件实验。
五、性能测试与分析
按下s键清零观察数码管是否开始倒计时,按下s0,观察数码管是否显示1和抢答的时间,再按s1、s2、s3均不改变显示,再按下s键,观察是否清零,后不做抢答,直到计时时间到,观察是否显示00,扬声器是否发出报警。
六、实验设备
装有QuartusⅡ的计算机,EL教学实验箱,导线若干
七、心得体会
本次课设,我们选的课题是四路抢答器,在此次的课设活动中,我对EDA这门课程有了更深一步的理解。同时通过对QuartusⅡ软件的运用,让我加深理解了VHDL程序设计的步骤和原理。通过硬件上机调试下载程序,我能理解到EDA程序的运用与硬件中去是如何工作起作用的。通过此次EDA课程设计,我进一步加深了对EDA软件和硬件的熟悉程度.完整的体验了使用VHDL语言实现一个电子产品的全过程.真的很高兴,特别是在软件编写成功的时候.能够做出这些东西来很有成就感.从而也激发起了我继续学习该门课程的兴趣.最后感谢老师让我们有这么一次亲身实践的机会.。
这次课程设计也我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来。纸上谈兵是不行的,只有在亲自实践是时候才能发现更多的问题,解决这些问题,才是学习的关键所在。
在以后的学习过程中,我们要更重视实践,能实实在在做出东西来才是最重要的,课本的书面知识很重要,但能动手做出东西才是最重要的。总之,课设中我学到了平时上课没学到的很多东西,以后我会更注重实践!
八、参考文献
[1] 、李国洪,沈明山:《可编程逻辑器件EDA技术与实践》,机械工业出版社
[2]、江国强:《EDA技术习题与实验》,电子工业出版社
[3]、曹昕燕,周风臣,聂春燕:《EDA技术试验与课程设计》,清华大学出版社
[4]、黄仁欣:《EDA技术实用教程》,清华大学出版社
[5]、王振红:《数字电路设计与应用实践教程》,机械工业出版社