#1楼主:智力竞赛抢答计时器的设计 [精华]
文章发表于:2008-05-21 05:43
智力竞赛抢答计时器的设计
一、 课题说明
在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。同时,还可以设置计时、计分、犯规奖惩计录等多种功能。
二、 SOUND<='1';
ELSIF LL="0" THEN
LL:="1001";
HH:=HH-1;
ELSE
LL:=LL-1;
END IF;
ELSE
SOUND<='0';
HH:="1001";
LL:="1001";
END IF;
END IF;
H<=HH;
L<=LL;
END PROCESS;
END COUNT_ARC;
(7)显示译码模块DISP的VHDL源程序
显示译码模块DISP如图16-8所示,。
【例16-7】--disp.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DISP IS 图16-8 显示译码模块DISP
PORT(D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
Q:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END DISP;
ARCHITECTURE DISP_ARC OF DISP IS
BEGIN
PROCESS(D)
BEGIN
CASE D IS
WHEN"0000"=>Q<="0111111";
WHEN"0001"=>Q<="0000110";
WHEN"0010"=>Q<="1011011";
WHEN"0011"=>Q<="1001111";
WHEN"0100"=>Q<="1100110";
WHEN"0101"=>Q<="1101101";
WHEN"0110"=>Q<="1111101";
WHEN"0111"=>Q<="0100111";
WHEN"1000"=>Q<="1111111";
WHEN"1001"=>Q<="1101111";
WHEN OTHERS=>Q<="0000000";
END CASE;
END PROCESS;
END DISP_ARC;
五、系统仿真
智力竞赛抢答计时器的时序仿真波形如图16-10所示。由图可见,d2首先抢答,当sel为111时,
Q[6..0]=5B,ch31a的Q端为2,表示2号抢答成功,此后d4再按开关不起作用。
图16-9 智力竞赛抢答计时器的时序仿真图
六、引脚锁定
端口分类 设计实体
端口名称 GW48-CK
按键、显示器 结构图上的
信号名 目标芯片
引脚号
输入端口 CLR 时钟 CLOCK0 2
D1 键3 PIO8 17
D2 键4 PIO9 18
D3 键5 PIO10 19
D4 键6 PIO11 21
HOST 键8 PIO13 23
输出端口 Q[6..0] 数码管8 PIO46~40 78,73-70,67,66
SEL[2..0] PIO18,17,16 29,28,27
SOUND SPKER 3
CLKY PIO12 22
目标芯片:EPF10K10CL84-4
模式:NO.6
七、硬件验证
参加智力竞赛的同学分别是D1(键3),D2(键4),D3 (键5),D4(键6 ),而主持人是键8。通过队员们按键开关的抢答,响应显示灯亮并伴有声响,说明已经有队员抢答了,此时抢答器不再接受其他队员的请求信号。
八、知识链接