Presentation is loading. Please wait.

Presentation is loading. Please wait.

抢答器 设计一个2人抢答器。要求如下: 设计任务 1.两人抢答,先抢为有效,用发光二极 管显示是否抢到优先答题权。

Similar presentations


Presentation on theme: "抢答器 设计一个2人抢答器。要求如下: 设计任务 1.两人抢答,先抢为有效,用发光二极 管显示是否抢到优先答题权。"— Presentation transcript:

1 抢答器 设计一个2人抢答器。要求如下: 设计任务 1.两人抢答,先抢为有效,用发光二极 管显示是否抢到优先答题权。
      设计一个2人抢答器。要求如下: 设计任务        1.两人抢答,先抢为有效,用发光二极 管显示是否抢到优先答题权。        2.每人2位计分显示,答错了不加分,答 错了不加分,答对了可加10分、20 、 30分。        3.每题结束后,裁判按复位,可重新抢 答下一题。       4. 累计加分可由裁判随时清除。

2 抢答器设计总体框图

3 抢答器端口图

4 源程序     library ieee; use ieee.std_logic_1164.all;     use ieee.std_logic_signed.all;     entity qd is            port(i1,i2 : in bit; --抢答器两输入端。            reset : in bit; --抢答器复位端。            g10,g20,g30:in bit; --加分输入端10分、20分、 30分。                          

5 light1,light2:out bit:='0'; --抢答标志灯。               t11:out std_logic_vector(6 downto 0):= " "; --"t11、t12",显示第一个人得分。               t12:out std_logic_vector(6 downto 0):= " ";               t21:out std_logic_vector(6 downto 0):= " "; --"t21、t22",显示第二个人得分。     signal cs2:integer range 0 to 9; t22:out std_logic_vector(6 downto 0):= " "; clk:in bit; --时钟输入端

6 cong:in bit --清零控制端 );     end qd;     architecture stru of qd is     signal cs1:integer range 0 to 9;     signal cs2:integer range 0 to 9;     signal a,b:bit:='0';     signal l1,l2:bit:='0';     begin    

7 process(clk)     begin     if clk'event and clk='1' then        if(cong='1') then        if(reset='1') then            if (i1 ='0' and a='0') then l1<='1'; a<= '1' ; --抢答。            elsif ( i2 ='0' and a='0') then l2<='1'; a<= '1' ;           end if;

8 if (g10 ='0' and l1='1' and b='0' ) then cs1<=cs1+1 ; b<='1' ;           elsif (g20 ='0' and l1='1' and b='0' ) then cs1<=cs1+2 ; b<='1' ;           elsif (g30 ='0' and l1='1' and b='0' ) then cs1<=cs1+3 ; b<='1' ;           end if; --完成第一人的加分。             if(g10='0' and l2='1' and b='0') then cs2<=cs2+1;b<='1'; elsif(g20='0' and l2='1' and b='0') then cs2<=cs2+2;b<='1';                     

9 elsif(g30='0' and l2='1' and b='0') then
cs2<=cs2+3;b<='1'; end if; --完成第二人的加分。              if (cs1=0) then t11<=" "; --显示。           elsif (cs1=1) then t11<= " ";           elsif (cs1=2) then t11<= " ";           elsif (cs1=3) then t11<= " ";           elsif (cs1=4) then t11<= " ";           elsif (cs1=5) then t11<= " ";

10 elsif (cs1=6) then t11<= " ";           elsif (cs1=7) then t11<= " ";           elsif (cs1=8) then t11<= " ";           elsif (cs1=9) then t11<= " ";           end if;              if (cs2=0) then t21<= " " ;           elsif (cs2=1) then t21<= " " ;           elsif (cs2=2) then t21<= " " ;           elsif (cs2=3) then t21<= " " ;

11 elsif (cs2=4) then t21<= " " ;           elsif (cs2=5) then t21<= " " ;           elsif (cs2=6) then t21<= " " ;           elsif (cs2=7) then t21<= " " ;           elsif (cs2=8) then t21<= " " ;           elsif (cs2=9) then t21<= " " ;           end if;     else l1<='0';l2<='0';a<='0';b<='0';     end if;

12 else l1<='0';l2<='0';a<='0';b<='0';
    end if;     else cs1<=0 ; cs2<=0 ;           l1<='0' ; l2<='0' ;     end if;     light1<=l1;     light2<=l2;     t12<=" ";     t22<=" ";

13 end if;     end process;     end stru; 程序说明    1 . 此程序主要由3部分组成,即抢答、加分、显示。    2 . 当一个人抢到优先答题权,发光二极管亮,另一 个人再按按键无效。答题结束后,裁判按复位键, 方可再次抢答。    3. 没人有2个数码管显示累加计分情况,分数分为 3档,用按键来区分。

14


Download ppt "抢答器 设计一个2人抢答器。要求如下: 设计任务 1.两人抢答,先抢为有效,用发光二极 管显示是否抢到优先答题权。"

Similar presentations


Ads by Google