EDA课程设计数字式竞赛抢答器Word文档下载推荐.docx

上传人:b****2 文档编号:13954612 上传时间:2022-10-15 格式:DOCX 页数:11 大小:89.04KB
下载 相关 举报
EDA课程设计数字式竞赛抢答器Word文档下载推荐.docx_第1页
第1页 / 共11页
EDA课程设计数字式竞赛抢答器Word文档下载推荐.docx_第2页
第2页 / 共11页
EDA课程设计数字式竞赛抢答器Word文档下载推荐.docx_第3页
第3页 / 共11页
EDA课程设计数字式竞赛抢答器Word文档下载推荐.docx_第4页
第4页 / 共11页
EDA课程设计数字式竞赛抢答器Word文档下载推荐.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

EDA课程设计数字式竞赛抢答器Word文档下载推荐.docx

《EDA课程设计数字式竞赛抢答器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《EDA课程设计数字式竞赛抢答器Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。

EDA课程设计数字式竞赛抢答器Word文档下载推荐.docx

加分减分

图1抢答器总体框图

由主体电路和扩展电路两部分构成,主体电路完成基本的抢答功能,即开始抢答后,当选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。

扩展电路完成各选手的得分显示功能。

3、课程设计报告内容

总体设计电路

模块设计和相应模块程序

(一)抢答鉴别模块

1、VHDL源程序

libraryieee;

--抢答鉴别模块

useqdjbis

port(rst,clk2:

instd_logic;

s0,s1,s2,s3:

states:

bufferstd_logic_vector(3downto0);

tmp:

outstd_logic);

endqdjb;

architectureoneofqdjbis

signalst:

std_logic_vector(3downto0);

begin

p1:

process(s0,rst,s1,s2,s3,clk2)

begin

ifrst='

0'

then

tmp<

='

;

st<

="

0000"

elsifclk2'

eventandclk2='

1'

then

if(s0='

orst(0)='

)andnot(st

(1)='

orst

(2)='

orst(3)='

)thenst(0)<

endif;

if(s1='

orst

(1)='

)andnot(st(0)='

)thenst

(1)<

if(s2='

)thenst

(2)<

if(s3='

)thenst(3)<

tmp<

=s0ors1ors2ors3;

endif;

endprocessp1;

p2:

process(states(0),states

(1),states

(2),states(3))

if(st="

)thenstates<

elsif(st<

0001"

0010"

0100"

0011"

1000"

endif;

endprocessp2;

endone;

抢答鉴别模块图

抢答鉴别模块用来准确直观地判断A、B、C、D、E、F六组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。

同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。

(二)计时模块

usejsis

port(clk,rst,s,stop:

warn:

outstd_logic;

ta,tb:

bufferstd_logic_vector(3downto0));

endjs;

architectureoneofjsis

signalco:

std_logic;

process(clk,rst,s,stop,ta)

orstop='

ta<

elsifclk'

eventandclk='

co<

ifs='

ifta="

1001"

co<

elseta<

=ta-1;

endif;

process(co,rst,s,stop,tb)

tb<

elsifco'

eventandco='

iftb="

thentb<

elsetb<

=tb-1;

计时模块图

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

其中有抢答时钟信号clk2;

系统复位信号rst;

抢答使能信号s;

抢答状态显示信号states;

无人抢答警报信号warn;

计时中止信号stop;

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

(三)数据选择模块

1、VHDL源程序

usesjxzis

port(a,b,c:

instd_logic_vector(3downto0);

clk2,rst:

instd_logic;

s:

outstd_logic_vector(1downto0);

y:

outstd_logic_vector(3downto0));

endsjxz;

architecturebody_chooserofsjxzis

signalcount:

std_logic_vector(1downto0);

s<

=count;

process(clk2,rst)

if(rst='

)thencount<

00"

elsif(clk2'

)then

if(count>

10"

count<

elsecount<

=count+1;

endif;

casecountis

when"

=>

y<

=a;

01"

=b;

=c;

whenothers=>

null;

endcase;

endPROCESS;

endbody_chooser;

数据选择模块图

在这个模块中主要实现抢答过程中的数据输入功能,输入信号a[3..0]、b[3..0]、c[3..0];

计数输出信号s;

数据输出信号y;

计数脉冲clk2,实现a、b、c按脉冲轮流选通,在数码管上显示。

(四)译码模块

LIBRARYIEEE;

USEYMQIS

PORT(AIN4:

INSTD_LOGIC_VECTOR(3DOWNTO0);

DOUT7:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

ENDYMQ;

ARCHITECTUREARTOFYMQIS

BEGIN

PROCESS(AIN4)

BEGIN

CASEAIN4IS

WHEN"

DOUT7<

1111110"

--0

0110000"

--1

1101101"

--2

1111001"

--3

0110011"

--4

0101"

1011011"

--5

0110"

1011111"

--6

0111"

1110000"

--7

1111111"

--8

1111011"

--9

WHENOTHERS=>

0000000"

ENDCASE;

ENDPROCESS;

ENDARCHITECTUREART;

译码模块图

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

3、4仿真及仿真结果分析

抢答鉴别

计时模块

译码

实验调试结果

抢答鉴别模块仿真分析:

当鉴别模块的清零信号CLR为高电平时,无论A、B、C、D四组参赛者谁按下抢答按钮,系统输出均为零,同时组别显示端G输出信号也显示为零;

当清零信号CLR为低电平时,A、B、C、D四组参赛者谁先按下抢答按钮,组别显示端就显示该组别的号码。

假如C组按下抢答按钮时,组别输出为0010,同时C组的显示灯被点亮。

仿真图上显示的为A先抢答,因为在微秒之间A、C虽然都按抢答键,但CLR为有效状态,所以在此时间段内的抢答无效。

计分模块仿真分析:

首先应该清楚,在计分器电路的设计中,按十进制进行加减分操作的,当出现时钟信号上升沿CLK就可以完成对参赛者加减分操作。

智能抢答器记分模块的仿真时以加分操作为例。

由仿真图3-10可知以下情况:

(1)系统设计过程

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

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1