图3-1系统框图
图3.1所示为抢答器的系统框图,可以看到A1-A8为8组选手的输入抢答按钮,rest为复位控制信号,B1-B8是传输到编码器的中间信号,并由译码器输出对应的数码管编号。
该系统描述的功能是当所有开关输入信号A1-A8均处于高电平,锁存器输出全为高电平,经过8个输入的与门反馈信号仍为高点平,该信号作为锁存器时能端控制信号即EN,使锁存器出浴等待接收触发输入状态;当任一开关输入信号A1-A8中的任一开关按下时,输出信号中必然会有一路为低电平,则反馈信号发生与门后变成低电平,时能信号EN成为低电平后,EN传给锁存器则立即使锁存器接受到的开关被封锁,这时其他抢答者信息的输入将被封锁,不能再传输到锁存器中。由此可见,触发锁存器电路具有时序电路的特征,是实现抢答器功能的关键所在。
RST为复位控制信号,也是低电平有效,当主持人复位后即提示抢答开始时,编码器的B1-B8全为高电平,反馈时能信号与门为高电平,是锁存器处于等待抢答输入信号的状态。
输入的信号一旦锁定后,译码器的CQ[3..0]信号的输入到7段译码器中,7段译码器含有7段共阴极二极管,对输入的LED[0]~LED[7]进行验证,led数码管对应显示出最先抢答者的编号,并且蜂鸣器发出响声。
3.2模块分析
3.2.1锁存器模块和仿真 (1)锁存器的VHDL文本输入语言 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SUOCUNQI IS
6
PORT(EN,RST:IN STD_LOGIC;A1,A2,A3,A4,A5,A6,A7,A8: IN STD_LOGIC; B1,B2,B3,B4,B5,B6,B7,B8: OUT STD_LOGIC); --SOUND: OUT STD_LOGIC); END SUOCUNQI;
ARCHITECTURE ONE OF SUOCUNQI IS BEGIN
P_A : PROCESS(RST,A1,A2,A3,A4,A5,A6,A7,A8) BEGIN
IF RST='0' THEN B1<='1'; B2<='1'; B3<='1'; B4<='1'; B5<='1'; B6<='1'; B7<='1'; B8<='1';
ELSIF EN='1' THEN B1<=A1; B2<=A2; B3<=A3; B4<=A4; B5<=A5; B6<=A6; B7<=A7; B8<=A8; END IF;
END PROCESS P_A; --P_B : PROCESS(EN,RST) -- BEGIN
-- IF RST='1'AND EN='0' THEN -- SOUND<='1';ELSE SOUND<='0'; -- END IF;END PROCESS P_B; END ONE;
7
(2)锁存器的编译图
图3-2锁存器编译图
(3)锁存器的时序波形仿真图
图3-3锁存器时序波形仿真图
锁存器波形分析:从波形图可以得出当复位信号rest复位后即为高电平时,抢答开始,当一旦有抢答输入信号时。使能信号en立即变为低电平,即锁存发生。
(4)锁存器的封装模块图
8
SUOCUNQIENRSTA1A2A3A4A5A6A7A8B1B2B3B4B5B6B7B8inst
3.2.2编码器模块和仿真波形 (1)编码器的VHDL文本输入语言
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY bianmaqi IS
PORT(Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8: IN STD_LOGIC; CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END;
ARCHITECTURE one OF bianmaqi IS BEGIN
PROCESS(Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8) BEGIN
IF Q1='1' AND Q2='1' AND Q3='1' AND Q4='1' AND Q5='1' AND Q6='1' AND Q7='1' AND Q8='1' THEN CQ <= \
ELSIF Q1='0' THEN CQ <= \ELSIF Q2='0' THEN CQ <= \ELSIF Q3='0' THEN CQ <= \ELSIF Q4='0' THEN CQ <= \ELSIF Q5='0' THEN CQ <= \ELSIF Q6='0' THEN CQ <= \ELSIF Q7='0' THEN CQ <= \
9
ELSIF Q8='0' THEN CQ <= \END IF; END PROCESS; END;
(2)编码器的编译图
图3-5译码器编译图
(3)编码器的时序波形仿真图
10