四路智能抢答器电路.docx
- 文档编号:12584457
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:19
- 大小:1.73MB
四路智能抢答器电路.docx
《四路智能抢答器电路.docx》由会员分享,可在线阅读,更多相关《四路智能抢答器电路.docx(19页珍藏版)》请在冰豆网上搜索。
四路智能抢答器电路
数字电路与自动化课程设计报告
题目:
四路智能抢答器电路
班级:
姓名:
学号:
小组成员:
日期:
2010-12-26
一、设计目的……………………………………………(3)
二、设计要求………………………………….………...(3)
三、方案论证与比较……………………………………(4)
四、设计原理……………………………………………(5)
五、硬件制作与调试……………………………………(6)
六、设计小结……………………………………………(7)
七、参考书目….………………………………………...(8)
一、设计目的
1、通过课程设计,对数字逻辑的基本内容有进一步的了解,特别是时序逻辑电路的设计。
能把所学到的数字逻辑理论知识进行实践,操作。
2、提高动手能力的同时对常用的集成芯片有一定的了解,在电路设计方面有感性的认识。
3、另外还要掌握电路原理和分析电路设计流程,每个电路的设计都要有完整的设计流程。
这样才能在分析电路有良好的思路,便于找出错的原因。
二、设计要求
设计一个4路智能抢答器,具体设计要求如下:
1、抢答器同时供4名选手,分别用4个按钮S1~S4表示。
2、设置一个系统清除和抢答控制开关S,该开关由主持人控制。
3、抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时二极管发出红灯提示。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
4、抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如25秒)。
当主持人启动“开始”键后,定时器进行减计时。
5、选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。
6、如果定时时间已到,无人抢答,本次抢答无效,系统报警灯并禁止抢答,定时显示器上显示00。
7、抢答器具有暂停功能,当暂停时选手禁止抢答。
三、方案论证与比较
抢答按键
锁存电路
编码电路
译码电路
序号显示
定时电路
主持人控制开关
脉冲产生电路
定时显示
时序控制电路
报警电路
设计的方案有以下几种:
1、电路选用优先编码器74LS148、锁存器74LS373和74LS48译码器来完成。
该电路主要完成两个功能:
一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键,其按键操作无效。
再由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所示。
两块74LS192实现减法计数,然后通过译码器显示到数码管上,其时钟信号由时钟产生电路提供。
当主持人拨到“开始”时,计数器开始减法计数工作,并将时间显示在数码显示管上,当有人抢答时,停止计数并显示此时的倒计时时间;如果没有人抢答,且倒计时到“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:
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;
2、仿真图:
(二)计时模块
1、VHDL源程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityjsis
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;
2、仿真图
(三)数据选择模块
1、VHDL源程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
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);
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;
2、仿真图
(四)报警模块
1、VHDL源程序
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='1'THEN
IFI='0'THEN
WARN<='0';
ELSIF(I='1'ANDN<=19)THEN
WARN<=NOTWARN;
N<=N+1;
ELSE
WARN<='0';
ENDIF;
ENDIF;
ENDPROCESS;
ENDBEHAVE;
2、仿真图
(五)译码模块
1、VHDL源程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYYMQIS
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;
2、仿真图
(六)分频模块
1、VHDL源程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYclkdivIS
PORT(clk2:
INSTD_LOGIC;
clk16:
OUTSTD_LOGIC);
ENDclkdiv;
ARCHITECTURErtlOFclkdivIS
SIGNALcount:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
PROCESS(clk2)
BEGIN
IF(clk2'eventANDclk2='1')THEN
IF(count="1111")THEN
Count<="0000";
ELSE
Count<=count+1;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(clk2)
BEGIN
IF(clk2'eventANDclk2='1')THEN
IF(count="1111")THEN
clk16<='1';
ELSE
clk16<='0';
ENDIF;
ENDIF;
ENDPROCESS;
ENDrtl;
2、仿真图
(七)顶层文件
1、VHDL源程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entityqiangdaqiis
port(clk,clk2,s,s0,s1,s2,s3,stop,rst:
instd_logic;
n,k,q_out:
outstd_logic;
m:
outstd_logic_vector(1downto0);
a,b,c,d,e,f,g:
outstd_logic);
endqiangdaqi;
architecturebhvofqiangdaqiis
componentqdjbis
port(clk2,rst:
instd_logic;
s0,s1,s2,s3:
instd_logic;
tmp:
outstd_logic;
states:
outstd_logic_vector(3downto0));
endcomponent;
componentjsis
port(clk,rst,s,stop:
instd_logic;
ring,warn:
outstd_logic;
ta,tb:
bufferstd_logic_vector(3downto0));
endcomponent;
componentsjxzis
port(clk2,rst:
instd_logic;
s:
outstd_logic_vector(1downto0);
a,b,c:
instd_logic_vector(3downto0);
y:
outstd_logic_vector(3downto0));
endcomponent;
componentymqis
port(ain4:
instd_logic_vector(3downto0);
dout7:
outstd_logic_vector(6downto0));
endcomponent;
componentalarmis
port(clk,i:
instd_logic;
q:
outstd_logic);
endcomponent;
signalstates_out,ta_out,tb_out,y_out:
std_logic_vector(3downto0);
signalledout:
std_logic_vector(6downto0);
signalw:
std_logic;
begin
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;
2、仿真图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四路 智能 抢答 电路