if(j==2'b01) begin
led<=6'b000100; end
if(j==2'b10) begin
led<=6'b000010; end
if(j==2'b11) begin
led<=6'b000001; j<=0; end end
else if(s==2'b11) begin
led<=6'b000000; i<=0; j<=0; k<=k+1; if(k==2'b01) begin
led<=6'b000000; end
if(k==2'b10) begin
led<=6'b111111; k<=0; end end end end assign ledag=led; endmodule
题目四: 数字电子实验设计题目:抢答器电路设计 一、设计任务及原理:抢答器在各类竞赛性质的场合得到了广泛的应用,它的出现,消除了原来由于人眼的误差而未能正确判断最先抢答的人的情况。抢答器的原理比较简单,首先必须设置一个抢答允许标志位,目的就是为了允许或者禁止抢答者按按钮;如果抢答允许位有效,那么第一个抢答者按下的按钮就将其清除,同时记录按钮的序号,也就是对应的按按钮的人,这样做的目的是为了禁止后面再有人按下按钮的情况。总的说来,抢答器的实现就是在
抢答允许位有效后,第一个按下按钮的人将其清除以禁止再有按钮按下,同时记录清楚抢答允许位的按钮的序号并显示出来,这就是抢答器的实现原理。 二、具体要求:
本实验的任务是设计一个四人抢答器,用按键模块的S8来作抢答允许按钮,用S1~S4来表示1号抢答者~4号抢答者,同时用LED模块的LED1~LED4分别表示于抢答者对应的位子。具体要求为:按下S8一次,允许一次抢答,这时S1~S4中第一个按下的按键将抢答允许位清除,同时将对应的LED点亮,用来表示对应的按键抢答成功。数码管显示对应抢答成功者的号码。 在此实验中数码管、LED、按键开关与FPGA的连接电路和管脚连接在以前的实验中都做了详细说明,这里不在赘述。 端口名
S1
按键开关S1
S2
按键开关S2
S3
按键开关S3
S4
按键开关S4
P15 P16 P14 R16
表示1号抢答者 表示2号抢答者 表示3号抢答者 表示4号抢答者
使用模块信号
对应FPGA管脚
说 明
S8 按键开关S12
DOUT0 LED模块D1 DOUT1 LED模块D2 DOUT2 LED模块D3 DOUT3 LED模块D4 LEDAG0 数码管模块A段
LEDAG1 数码管模块B段
LEDAG2 数码管模块C段
参考程序:
module liu1(s1,s2,s3,s4,s8,led,ledag); input s1,s2,s3,s4; input s8;
output [6:0]ledag; output [3:0]led;
M15 开始抢答按键
L14 1号抢答者
灯
M14 2号抢答者
灯
N14 3号抢答者
灯
N13 4号抢答者
灯
N4 抢答成功者
G4 号码显示
H4