EDA课程设计数字式竞赛抢答器.docx
- 文档编号:1034053
- 上传时间:2022-10-15
- 格式:DOCX
- 页数:11
- 大小:89.04KB
EDA课程设计数字式竞赛抢答器.docx
《EDA课程设计数字式竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《EDA课程设计数字式竞赛抢答器.docx(11页珍藏版)》请在冰豆网上搜索。
EDA课程设计数字式竞赛抢答器
《EDA技术》
课程设计报告
二0一一年06月30日
1课程设计目的………………………………………………………1
2课程设计题目描述和要求…………………………………………1
3课程设计报告内容………………………………………………2
4总结………………………………………………………………14
5参考资料…………………………………………………………14
1.课程设计目的
1、通过课程设计使学生能熟练掌握一种EDA软件(MAX+plus2)的使用方法,能熟练进行设计输入、编译、管脚分配、下载等过程,为以后进行工程实际问题的研究打下设计基础。
2、通过课程设计使学生能利用EDA软件(MAX+plus2)进行至少一个电子技术综合问题的设计,设计输入可采用图形输入法或VHDL硬件描述语言输入法。
3、通过课程设计使学生初步具有分析、寻找和排除电子电路中常见故障的能力。
4、通过课程设计使学生能独立写出严谨的、有理论根据的、实事求是的、文理通顺的字迹端正的课程设计报告。
2.课程设计题目描述和要求
抢答器接通电源后,主持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯。
抢答开始时,主持人将控制开关拨到“开始”位置,扬声器给出声响提示,抢答器处于工作状态,这时,抢答器完成以下工作:
(1)优先编码器电路立即分辨出抢答者编号,并由锁存器进行锁存,然后由译码显示电路显示编号;
(2)扬声器发出短暂声响,提醒主持人注意;
(3)控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答;(4)当选手将问题回答完毕,主持人操作计分开关,计分电路采用十进制加/减计数器、数码管显示。
本轮抢答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。
设计框图
加分减分
图1抢答器总体框图
由主体电路和扩展电路两部分构成,主体电路完成基本的抢答功能,即开始抢答后,当选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。
扩展电路完成各选手的得分显示功能。
3、课程设计报告内容
总体设计电路
模块设计和相应模块程序
(一)抢答鉴别模块
1、VHDL源程序
libraryieee;--抢答鉴别模块
useqdjbis
port(rst,clk2:
instd_logic;
s0,s1,s2,s3:
instd_logic;
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<='0';st<="0000";
elsifclk2'eventandclk2='1'then
if(s0='1'orst(0)='1')andnot(st
(1)='1'orst
(2)='1'orst(3)='1')thenst(0)<='1';
endif;
if(s1='1'orst
(1)='1')andnot(st(0)='1'orst
(2)='1'orst(3)='1')thenst
(1)<='1';
endif;
if(s2='1'orst
(2)='1')andnot(st(0)='1'orst
(1)='1'orst(3)='1')thenst
(2)<='1';
endif;
if(s3='1'orst(3)='1')andnot(st(0)='1'orst
(1)='1'orst
(2)='1')thenst(3)<='1';
endif;
tmp<=s0ors1ors2ors3;
endif;
endprocessp1;
p2:
process(states(0),states
(1),states
(2),states(3))
begin
if(st="0000")thenstates<="0000";
elsif(st<="0001")thenstates<="0001";
elsif(st<="0010")thenstates<="0010";
elsif(st<="0100")thenstates<="0011";
elsif(st<="1000")thenstates<="0100";
endif;
endprocessp2;
endone;
抢答鉴别模块图
抢答鉴别模块用来准确直观地判断A、B、C、D、E、F六组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。
同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。
(二)计时模块
1、VHDL源程序
libraryieee;
usejsis
port(clk,rst,s,stop:
instd_logic;
warn:
outstd_logic;
ta,tb:
bufferstd_logic_vector(3downto0));
endjs;
architectureoneofjsis
signalco:
std_logic;
begin
p1:
process(clk,rst,s,stop,ta)
begin
ifrst='0'orstop='1'then
ta<="0000";
elsifclk'eventandclk='1'then
co<='0';
ifs='1'then
ifta="0000"then
ta<="1001";co<='1';
elseta<=ta-1;
endif;
endif;
endif;
endprocessp1;
p2:
process(co,rst,s,stop,tb)
begin
ifrst='0'orstop='1'then
tb<="0010";
elsifco'eventandco='1'then
ifs='1'then
iftb="0000"thentb<="0011";
elsetb<=tb-1;
endif;
endif;
endif;
endprocessp2;
endone;
计时模块图
在这个模块中主要实现抢答过程中的计时功能,在有抢答开始后进行30秒的倒计时,并且在30秒倒计时后无人抢答显示超时并报警。
其中有抢答时钟信号clk2;系统复位信号rst;抢答使能信号s;抢答状态显示信号states;无人抢答警报信号warn;计时中止信号stop;计时十位和个位信号tb,ta。
(三)数据选择模块
1、VHDL源程序
libraryieee;
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);
begin
s<=count;
process(clk2,rst)
begin
if(rst='0')thencount<="00";
elsif(clk2'eventandclk2='1')then
if(count>="10")then
count<="00";
elsecount<=count+1;
endif;
endif;
casecountis
when"00"=>y<=a;
when"01"=>y<=b;
when"10"=>y<=c;
whenothers=>null;
endcase;
endPROCESS;
endbody_chooser;
数据选择模块图
在这个模块中主要实现抢答过程中的数据输入功能,输入信号a[3..0]、b[3..0]、c[3..0];计数输出信号s;数据输出信号y;计数脉冲clk2,实现a、b、c按脉冲轮流选通,在数码管上显示。
(四)译码模块
1、VHDL源程序
LIBRARYIEEE;
USEYMQIS
PORT(AIN4:
INSTD_LOGIC_VECTOR(3DOWNTO0);
DOUT7:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ENDYMQ;
ARCHITECTUREARTOFYMQIS
BEGIN
PROCESS(AIN4)
BEGIN
CASEAIN4IS
WHEN"0000"=>DOUT7<="1111110";--0
WHEN"0001"=>DOUT7<="0110000";--1
WHEN"0010"=>DOUT7<="1101101";--2
WHEN"0011"=>DOUT7<="1111001";--3
WHEN"0100"=>DOUT7<="0110011";--4
WHEN"0101"=>DOUT7<="1011011";--5
WHEN"0110"=>DOUT7<="1011111";--6
WHEN"0111"=>DOUT7<="1110000";--7
WHEN"1000"=>DOUT7<="1111111";--8
WHEN"1001"=>DOUT7<="1111011";--9
WHENOTHERS=>DOUT7<="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)系统设计过程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 数字式 竞赛 抢答