EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx

上传人:b****2 文档编号:877133 上传时间:2023-04-29 格式:DOCX 页数:17 大小:350.60KB
下载 相关 举报
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第1页
第1页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第2页
第2页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第3页
第3页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第4页
第4页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第5页
第5页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第6页
第6页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第7页
第7页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第8页
第8页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第9页
第9页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第10页
第10页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第11页
第11页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第12页
第12页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第13页
第13页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第14页
第14页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第15页
第15页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第16页
第16页 / 共17页
EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx

《EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx》由会员分享,可在线阅读,更多相关《EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。

EDA课程设计四人智力竞赛计数抢答器Word文件下载.docx

5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

四、功能模块

1:

libraryieee;

useieee.std_logic_1164.all;

entityfengis

port(cp,clr:

instd_logic;

q:

outstd_logic);

endfeng;

architecturefeng_arcoffengis

begin

process(cp,clr)

begin

ifclr='

0'

then

q<

='

;

elsifcp'

eventandcp='

then

1'

endif;

endprocess;

endfeng_arc;

此程序为抢答鉴别模块feng

该模块主要实现抢答和鉴别的功能。

在主持人发出抢答指令以后,若有参赛者按下抢答器的按钮,该模块将参赛者按下按键的信号输出高电平给锁存模块。

 

图2抢答鉴别模块的仿真波形

clr是低电平有效;

当cp来个下降沿时,输出q将一直为高电平符合模块要求。

2:

entityselis

port(clk:

a:

outintegerrange0to7);

endsel;

architectureoneofselis

process(clk)

variableaa:

integerrange0to7;

ifclk'

eventandclk='

aa:

=aa+1;

a<

=aa;

endprocess;

endone;

此程序为VHDL程序

该程序生成的符号及仿真波形如下:

图3片选信号模块仿真图

当来一个脉冲时,输出将增加1,符合模块要求。

3:

entitylockbis

port(d1,d2,d3,d4:

clk,clr:

q1,q2,q3,q4,alm:

endlockb;

architecturelock_arcoflockbis

q1<

q2<

q3<

q4<

alm<

elsifclk'

=d1;

=d2;

=d3;

=d4;

endlock_arc;

此程序为锁存器模块LOCKB

该模块主要对选手按下按键进行锁存,锁存的同时发出alm信号实现声音提示。

图4锁存模块仿真图

当来一个上升沿的时候,alm发挥作用,并且d1对应输出q1。

4:

useieee.std_logic_unsigned.all;

entitydecode3_8is

port(sel:

instd_logic_vector(2downto0);

L:

outstd_logic_vector(7downto0)

);

enddecode3_8;

architectureoneofdecode3_8is

begin

L<

="

11111110"

whensel=0else

"

11111101"

whensel=1else

11111011"

whensel=2else

11110111"

whensel=3else

11101111"

whensel=4else

"

11011111"

whensel=5else

10111111"

whensel=6else

01111111"

whensel=7else

11111111"

此程序为显示模块

显示模块是由七段LED数码管译码和动态扫描显示两部分组成。

采用的是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系,其中要求显示组别。

生成符号及仿真波形如下:

图5显示模块的仿真波形

5:

entitydeledis

port(d:

instd_logic_vector(3downto0);

q:

outstd_logic_vector(6downto0));

enddeled;

architectureoneofdeledis

process(d)

casedis

when"

0000"

=>

q<

0111111"

0001"

0000110"

0010"

1011011"

0011"

1001111"

0100"

1100110"

0101"

1101101"

0110"

1111101"

0111"

0100111"

1000"

1111111"

1001"

1101111"

whenothers=>

0000000"

endcase;

此程序为deled模块

该模块是七段译码器,对数据进行译码扫描:

图7deled模块

译码模块完成了对数据在数码管上正确地显示,符合模块要求。

6:

entitych41ais

port(d1,d2,d3,d4:

outstd_logic_vector(3downto0));

endch41a;

architecturech41_arcofch41ais

process(d1,d2,d3,d4)

variabletmp:

std_logic_vector(3downto0);

tmp:

=d1&

d2&

d3&

d4;

casetmpis

1011"

1101"

1110"

1111"

endch41_arc;

此程序为转换模块ch41a

该模块是将抢答结果转换为二进制数

图7转换模块ch41a仿真波形

将输入的抢答结果转换为二进制数,符合模块要求。

7:

entitych42ais

port(sel:

d1,d2,d3:

instd_logic_vector(3downto0);

outstd_logic_vector(3downto0));

endch42a;

architecturech42_arcofch42ais

process(sel,d1,d2,d3)

caseselis

000"

001"

111"

endch42_arc;

此程序为3选1模块ch42a

该模块是将对应数码管片选信号,送出需要的显示信号。

图83选1模块ch42a的仿真波形

当sel输入001时,输出为d2,符合要求。

8:

entitycountis

port(clk,en:

h,l:

outstd_logic_vector(3downto0);

sound:

endcount;

architecturecount_arcofcountis

process(clk,en)

variablehh,ll:

begin

ifen='

ifll=0andhh=0then

sound<

elsifll=0then

ll:

hh:

=hh-1;

else

=ll-1;

="

h<

=hh;

l<

=ll;

endcount_arc;

此程序为倒计时模块count

该模块进行答题时间的倒计时,在满100秒后扬声器发出超时报警信号进行提示。

图9倒计时模块count仿真波形

当有clk上升沿来时,将从99秒开始倒计时,符合模块要求。

9:

entitydivis

clkout:

enddiv;

architectureoneofdivis

signalclk1kHz,clk1Hz:

std_logic;

variablecount_1:

integerrange0to9999;

if(clk'

)then

ifcount_1=9999then

clk1kHz<

=notclk1kHz;

count_1:

=0;

=count_1+1;

process(clk1kHz)

variablecount_2:

integerrange0to4;

if(clk1kHz'

eventandclk1kHz='

ifcount_2=4then

clk1Hz<

=notclk1Hz;

count_2:

=0;

count_2:

=count_2+1;

clkout<

=clk1Hz;

endone;

此程序为div模块

该模块是将扫描速度减慢,以方便读数。

图10div模块仿真

当CLK输入脉冲信号,经分频OUTCLK输出另一个脉冲以减缓扫描速度,符合要求。

五、总体设计电路图

1、总体电路原理图

系统的工作原理为:

在初始状态时,当主持人说开始抢答,并同时按下计时使能信号EN时,A、B、C、D四组开始抢答。

A、B、C、D四组中某一组谁最先按下抢答器,则此组的指示灯将点亮,同时显示器也将显示出抢答成功的组别。

接下来主持人宣布开始回答,同时倒计时器开始倒计时,抢答者开始回答问题。

若在规定的时间内回答完毕,则倒计时器停止倒计时;

若在规定的时间内没有回答完题目,在满100秒后扬声器发出超时报警信号进行提示。

完成第一轮抢答后,主持人按复位信号,重新开始抢答,重复上述步骤

2、管脚分配图

3、波形仿真

波形说明:

当第一位参赛者按下抢答器按钮时,将封锁其他人抢答信。

同时三八译码器把抢答组别正确显示在数码管上,译码模块也完成了倒计时在数码管上正确地显示,符合要求。

4、实验连线与硬件验证情况

用一根导线连clk与IO3,一根导线接连I08与SPEAKER。

启动电源,数码管有正确的数字显示。

在实验箱上按动PB[0]、PB[1]、PB[2]、PB[3]进行抢答,数码管上显示抢答的组别;

同时显示从99秒倒计时;

完成一轮后,以此类推。

若在规定的时间内没有回答完题目,在满100秒后扬声器发出超时报警信号并伴有灯亮进行提示。

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

当前位置:首页 > 法律文书 > 调解书

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

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