四路智能抢答器电路Word文件下载.docx

上传人:b****6 文档编号:19054289 上传时间:2023-01-03 格式:DOCX 页数:17 大小:1.75MB
下载 相关 举报
四路智能抢答器电路Word文件下载.docx_第1页
第1页 / 共17页
四路智能抢答器电路Word文件下载.docx_第2页
第2页 / 共17页
四路智能抢答器电路Word文件下载.docx_第3页
第3页 / 共17页
四路智能抢答器电路Word文件下载.docx_第4页
第4页 / 共17页
四路智能抢答器电路Word文件下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

四路智能抢答器电路Word文件下载.docx

《四路智能抢答器电路Word文件下载.docx》由会员分享,可在线阅读,更多相关《四路智能抢答器电路Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。

四路智能抢答器电路Word文件下载.docx

二是禁止其他选手按键,其按键操作无效。

再由555定时器秒脉冲产生电路、十进制同步加减计数器74LS192减法计数电路、74ls47译码器和2个7段数码管即相关电路组成。

两块74LS192实现减法计数,然后通过译码器显示到数码管上,其时钟信号由时钟产生电路提供。

2、方案二:

各路选手抢答后产生的高低电平直接经过优先编码电路,然后经过锁存器(74LS279)、译码电路到七段数码管的同时,由555定时器秒脉冲产生电路产生的秒脉冲驱动定时电路工作,主持人开关通过控制电路来实现对整体电路的调节。

四、设计原理

1.抢答器和显示电路

设计电路如图1所示。

电路选用优先编码器74LS148、锁存器74LS373和74LS48译码器来完成。

一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号(显示电路采用七段数字数码显示管);

工作过程:

开关S置于"

清除"

端时,锁存器的LE端输入为“1”,停止工作。

当开关S置于"

开始"

时,抢答器处于等待工作状态,74LS373的LE端为“0”,当有选手将抢答按键按下时(如按下S5),LE端变为“1”将数据锁存。

在经过优先编码器和译码器将数据输入数码管显示。

如有再次抢答需由主持人将S开关重新置“清除”然后再进行下一轮抢答。

2.定时电路

该部分主要由555定时器秒脉冲产生电路、十进制同步加减计数器74LS192减法计数电路、74ls47译码器和2个7段数码管即相关电路组成。

具体电路如图2所示。

当主持人拨到“开始”时,计数器开始减法计数工作,并将时间显示在数码显示管上,当有人抢答时,停止计数并显示此时的倒计时时间;

如果没有人抢答,且倒计时到“0”时,输出低电平到时序控制电路,控制报警电路报警,同时以后选手抢答无效。

555的3端输出的脉冲的频率为f=0.7C(r1+2*r2),结合我们的实际经验及考虑到元器件的成本,我们选择的电阻值为R1=2K,R2=20K,C=33uF,代入到上式中即得。

3.时序控制电路

时序控制电路是抢答器设计的关键,它要完成以下三项功能:

(1)主持人将控制开关拨到“开始”位置时,抢答电路和定时电路进入正常抢答工作状态。

(2)当参赛选手按动抢答键时,二极管灯亮,抢答电路和定时电路停止工作。

(3)当设定的抢答时间到,无人抢答时,二极管灯亮,同时抢答电路和定时电路停止工作。

电路如图3

五、硬件制作与调试

硬件制作:

先仿真电路实验后,再将电路进行排版设计电路的接法及放置。

等全部的安排工作都做好了后就进行电路的焊接工作,焊电路的时候先不要全部一起焊出来,先一部分一部分焊,然后对焊好的先进行调试,看其是否能不能正常工作,如果能够正常工作就进行下一部分电路的焊接;

如果不能让正常工作则对其进行检查,直到电路可以用为止。

完成了对每一部分电路的单独焊接并且都可以用后,再将每一部分电路进行连接,使其成为完整的电路。

调试:

再焊电路的过程中出现过定时电路不能进行准时的定时,然后对其进行了调试及其检查是555定时器没接好,然后将其接好了后再试试了下就可以用了。

实物图如图:

六、设计小结

经过两个星期的共同努力,我们终于完成了数字电子技术课设。

虽然时间不长,但是在这个过程中我得到了很多东西。

因为以前没有做过这一方面的课设,所以,一开始看到这个题目的时候感觉有点不知所措,不知道要从什么地方开始做。

经过老师的指导后,我和另一位同学开始查资料、讨论。

在这个过程中,我们有冲突、争论、矛盾,但经过商量我们找到了最好的方法,同时也收获了友谊。

在这几日里,我们经历了阶段性成功的狂喜、测试失败后的绝望、陷入困境时的不知所措,重新投入的振作。

我们培养出了无与伦比的默契和深厚的友谊。

通过本次实验,最大的收获就是把书本与实践结合在一起,提高动手能力了。

学到了很多东西,懂得了团队合作的真正意义,对我以后的学习和工作帮助很大。

这次课设能够顺利的完成,我非常感谢帮助我的同学和老师。

感谢老师的指导!

感谢同学的热心帮助!

谢谢!

七、参考书目

1、XX网站

2、电子芯片资料网

3、数字电子技术基础

图1抢答和显示电路图

图2定时电路

图3

(一)抢答鉴别模块

1、VHDL源程序

libraryieee;

--抢答鉴别模块

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityqdjbis

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;

2、仿真图:

(二)计时模块

entityjsis

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;

2、仿真图

(三)数据选择模块

1、VHDL源程序

useieee.std_logic_arith.all;

entitysjxzis

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;

(四)报警模块

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYALARMIS

PORT(CLK,I:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC);

ENDALARM;

ARCHITECTUREBEHAVEOFALARMIS

SIGNALWARN:

STD_LOGIC;

SIGNALN:

INTEGERRANGE0TO20;

BEGIN

Q<

=WARN;

PROCESS(CLK)

BEGIN

IFCLK'

EVENTANDCLK='

THEN

IFI='

THEN

WARN<

ELSIF(I='

ANDN<

=19)THEN

=NOTWARN;

N<

=N+1;

ELSE

ENDIF;

ENDIF;

ENDPROCESS;

ENDBEHAVE;

(五)译码模块

ENTITYYMQIS

PORT(AIN4:

INSTD_LOGIC_VECTOR(3DOWNTO0);

DOUT7:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

ENDYMQ;

ARCHITECTUREARTOFYMQIS

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;

(六)分频模块

USEIEEE.STD_LOGIC_ARITH.ALL;

ENTITYclkdivIS

PORT(clk2:

INSTD_LOGIC;

clk16:

OUTSTD_LOGIC);

ENDclkdiv;

ARCHITECTURErtlOFclkdivIS

SIGNALcount:

STD_LOGIC_VECTOR(3DOWNTO0);

PROCESS(clk2)

IF(clk2'

eventANDclk2='

)THEN

IF(count="

1111"

Count<

ELSE

=count+1;

ENDIF;

clk16<

='

ENDrtl;

(七)顶层文件

entityqiangdaqiis

port(clk,clk2,s,s0,s1,s2,s3,stop,rst:

n,k,q_out:

m:

outstd_logic_vector(1downto0);

a,b,c,d,e,f,g:

endqiangdaqi;

architecturebhvofqiangdaqiis

componentqdjbis

port(clk2,rst:

s0,s1,s2,s3:

tmp:

states:

outstd_logic_vector(3downto0));

endcomponent;

componentjsis

port(clk,rst,s,stop:

ring,warn:

ta,tb:

componentsjxzis

port(clk2,rst:

s:

a,b,c:

instd_logic_vector(3downto0);

y:

componentymqis

port(ain4:

instd_logic_vector(3downto0);

dout7:

outstd_logic_vector(6downto0));

componentalarmis

port(clk,i:

q:

signalstates_out,ta_out,tb_out,y_out:

signalledout:

std_logic_vector(6downto0);

signalw:

a<

=ledout(6);

b<

=ledout(5);

c<

=ledout(4);

d<

=ledout(3);

e<

=ledout

(2);

f<

=ledout

(1);

g<

=ledout(0);

u1:

qdjbportmap(clk2,rst,s0,s1,s2,s3,tmp=>

k,states=>

states_out);

u2:

jsportmap(clk,rst,s,stop,warn=>

n,ta=>

ta_out,tb=>

tb_out);

u3:

sjxzportmap(clk2=>

clk2,rst=>

rst,a=>

states_out,b=>

ta_out,c=>

tb_out,s=>

m,y_out;

u4:

ymqportmap(ain4=>

y_out,DOUT7=>

ledout);

u5:

alarmportmap(clk2,i=>

s,q_out);

endbhv;

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

当前位置:首页 > 工作范文 > 演讲主持

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

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