EDA抢答器设计Word格式.docx

上传人:b****2 文档编号:1548896 上传时间:2023-04-30 格式:DOCX 页数:8 大小:46.38KB
下载 相关 举报
EDA抢答器设计Word格式.docx_第1页
第1页 / 共8页
EDA抢答器设计Word格式.docx_第2页
第2页 / 共8页
EDA抢答器设计Word格式.docx_第3页
第3页 / 共8页
EDA抢答器设计Word格式.docx_第4页
第4页 / 共8页
EDA抢答器设计Word格式.docx_第5页
第5页 / 共8页
EDA抢答器设计Word格式.docx_第6页
第6页 / 共8页
EDA抢答器设计Word格式.docx_第7页
第7页 / 共8页
EDA抢答器设计Word格式.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA抢答器设计Word格式.docx

《EDA抢答器设计Word格式.docx》由会员分享,可在线阅读,更多相关《EDA抢答器设计Word格式.docx(8页珍藏版)》请在冰点文库上搜索。

EDA抢答器设计Word格式.docx

在这个模块中主要实现抢答过程中的抢答功能,并能对超前抢答进行警告,还能记录无论是正常抢答还是朝前抢答者的台号,并且能实现当有一路抢答按键按下时,该路抢答信号将其余的抢答信号封锁的功能。

其中有四个抢答信号s0、s1、s2、s3;

抢答状态显示信号states;

抢答与警报时钟信号clk0;

系统复位信号rst;

警报信号warm。

(二).抢答器计时模块

在这个模块中主要实现抢答过程中的计时功能,在有抢答开始后进行20秒的倒计时,并且在20秒倒计时后无人抢答显示超时并报警。

其中有抢答时钟信号clk1;

抢答使能信号start;

无人抢答警报信号warn;

计时中止信号stop;

计时十位和个位信号tb,ta。

(三).报警模块

该模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内无人抢答或是计数到时蜂鸣器开始报警,计数停止信号stop;

状态输出信号alm;

计数脉冲clk。

(四).译码模块

在这个模块中主要实现抢答过程中将BCD码转换成7段的计时功能。

(五).分频模块

在这个模块中主要实现抢答过程中所需的时钟信号。

(六).计分模块

在计分电路的设计中,按照一般的设计原则,按一定数进制进行加减。

由于此设计要先预置100分,所以可以设计rest开关,当它为高电平的时候就进行预置,然后为低电平的时候,有主持人控制ADD与ACC两个开关对抢答者做出的回答进行加减分判断。

预置数100分,就由AA0、AA1、AA2控制个、十、百位信号,因为个位一直为零,所以就将它一直设置成低电平,然后当十位为“9”的时候,向百位进位,百位就加“1”,减分的时候,当十位为“0”的时候,就向百位借“1”。

二.程序代码

(一).抢答器鉴别模块代码、仿真

modulejianbie(clk0,rst,key,s0,s1,s2,s3,states,led,warm,buzz);

inputclk0,rst,key,s0,s1,s2,s3;

output[6:

0]states;

output[3:

0]led;

outputwarm;

outputbuzz;

regEnFlat=1'

b1;

reg[3:

0]states=4'

b0000;

0]led=4'

b1111;

regspeaker;

regwarm=1'

regbuzz;

integeri;

always@(posedgeclk0)

begin

if(key==1)

if(s0==0)

beginstates=4'

b0001;

warm=1'

b0;

end

if(s1==0)

b0010;

if(s2==0)

b0011;

if(s3==0)

b0100;

if(key==1'

b0)

if(EnFlat==1'

b1)

if((s0==1'

b0)&

&

(EnFlat==1'

b1))

led=4'

b1110;

states=4'

EnFlat=1'

speaker=1'

elseif((s1==1'

b1101;

elseif((s2==1'

b1011;

elseif((s3==1'

b0111;

if(rst)

states=3'

d0;

always@(posedgeclk0)

if(speaker==1)

if(i<

25000000)beginbuzz<

=1;

i<

=i+1;

end

elsebuzz<

=0;

elsebeginbuzz<

endmodule

图2.1.1鉴别模块仿真

(二)、抢答器计时模块代码、仿真

modulejishi(clk_1s,ta,tb,chaoshi,start,block,rst,stop);

inputclk_1s,start,block,rst,stop;

outputreg[3:

0]ta,tb;

outputregchaoshi;

reg[5:

0]ji20;

always@(posedgeclk_1s)

begin

if(start==0)

ji20=6'

d20;

ta=4'

tb=4'

d2;

elseif(!

block)

if(ji20==0)

ta=0;

tb=0;

chaoshi=1;

elseif(ji20<

11)

ji20=ji20-6'

ta=ji20;

else

ta=ji20-6'

d10;

d1;

chaoshi=0;

图2.2.1抢答器计时仿真

(三).报警模块代码、仿真

modulebaojing(stop,alm,clk,fmq,warn);

inputstop,clk,warn;

outputregalm,fmq;

always@(posedgeclk)

begin

alm<

fmq<

if(warn&

!

stop)

end

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2