收藏 分销(赏)

《数字系统设计》-数字式竞赛抢答器.doc

上传人:胜**** 文档编号:2768372 上传时间:2024-06-05 格式:DOC 页数:28 大小:423.50KB
下载 相关 举报
《数字系统设计》-数字式竞赛抢答器.doc_第1页
第1页 / 共28页
《数字系统设计》-数字式竞赛抢答器.doc_第2页
第2页 / 共28页
《数字系统设计》-数字式竞赛抢答器.doc_第3页
第3页 / 共28页
《数字系统设计》-数字式竞赛抢答器.doc_第4页
第4页 / 共28页
《数字系统设计》-数字式竞赛抢答器.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、 2016 2017学年 第 1 学期数字系统设计课 程 设 计 报 告题 目: 数字式竞赛抢答器 专 业: 通信工程 班 级: 14通信(1)班 姓 名: 丁浩伟、万康、郑林、王天硕 指导教师: 周珍艮、 王银花 电气工程学院 2016 年 12月7日任务书课题名称数字式竞赛抢答器指导教师(职称)周珍艮(副教授)、王银花(讲师) 执行时间20162017学年第1学期 第15周学生姓名学号承担任务丁浩伟1409131006电路设计万康1409131026电路设计郑林1409131043查找资料、绘制原理图王天硕1409131029编写设计报告设计目的(1)了解抢答器的设计原理(2)掌握其外围电

2、路的设计与主要性能参数测试方法(3)掌握抢答器的设计方法与电子线路系统的装调技术设计要求(1)设计一个可容纳6组(或4组)参赛的数字式抢答器,每组设一个按钮,供抢答使用。(2)抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。(3)设置一个主持人“复位”按钮。(4)主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别,扬声器发出23秒的音响。(5)设置一个计分电路,每组开始预置100分,由主持人记分,答对一次加10分,答错一次减10分。数字式竞赛抢答器摘 要数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出

3、;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后数字抢答器成形。单片机体积小价格低,应用便,稳定可靠。单片机将很多任务交给了软件编程去实现,大大简化了外围硬件电路,使外围电路的实现简单方便。单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的

4、知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。关键字:抢答电路、定时电路、报警电路目录第1章 电路原理与设计过程51.1电路的基本功能51.2、抢答器系统框图设计61.3、分支电路分析6第2章 系统单元模块设计72.1、计时模块72.1.1、计时模块原理图与分析72.1.2、计时器程序82.2、抢答器模块92.2.1、抢答器原理图与分析92.2.2、抢答器程序102.3、译码显示122.3.1译码原理图与分析122.3.2译码器程序132.4、记分模块132.4.1记分模块图与分析132.4.2记分器程序142.5、报警模块162.5.1、报警模块图与分析162.5.2

5、、报警器程序172.6、电路整体图与程序182.6.1、整体电路图182.6.2、头程序18第3章 抢答电路的模拟仿真203.1、计时模块仿真203.2、抢答模块仿真203.3、译码模块仿真213.4、记分模块仿真223.5、报警模块仿真223.6、整体抢答电路仿真233.7、抢答系统电路分析及总图23第4章 课程设计总结25附录26第1章 电路原理与设计过程1.1电路的基本功能(1) 抢答器同时8名选手或8个代表队比赛,分别用8个按钮S1-S8表示。 (2) 设置一个系统清除和抢答控制开关S,该开关由主持人控制。 (3) 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,扬声器发出声

6、响提示,并在DPY_7-SEG七段数码管上显示选手号码。选 手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统 清除为止。(4) 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30 秒)。 当主持人启动开始键后,定时器进行减计时。(5)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显 示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为 止。(6) 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答, 定时显示器上显示00其工作原理为:接通电源后,主持人将开关拨 到清零状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置

7、;开始状态,宣布开始抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作清除和开始状态开关。1.2、抢答器系统框图设计主持人控制开关抢答按钮控制电路优先编码锁存器报警电路译码电路显示电路预制计分电路译码电路显示电路 主电路 扩展控制电路图1-1 系统框图1.3、分支电路分析此方案是由主体电路和扩展电路两部分构成,整个系统包括这样几个主要模块:抢答鉴别模块、抢答计时模块、抢答计分模块、译码显示模块、报警模块。 主体电路完成基本的抢答

8、功能,接通电源时,主持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯;抢答开始时,主持人将控制开关拨到“开始”位置,扬声器给出声响提示,当选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。然后由译码显示电路显示编号,扬声器发出短暂声响,提醒主持人注意。扩展电路完成各选手的得分显示以及报警功能。选手回答问题完毕,主持人操作计分开关,计分电路采用十进制加/减计数器、数码管显示。本轮抢答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。系统的输入信号有:各组的抢答按钮s0、s1、s2、s3。系统清零信号CLR,系统时钟信号CLK,复位信

9、号RST,加分按钮端ADD,计时中止信号stop;计时十位和个位信号tb,ta。系统的输出信号有:四个组抢答状态的显示LEDx(x表示参赛者的编号),四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。第2章 系统单元模块设计2.1、计时模块2.1.1、计时模块原理图与分析在这个模块中主要实现抢答过程中的计时功能,在有组别抢答后开始倒计时,若在规定时间没人回答,则超时报警。其中有系统复位信号rst;抢答使能信号s;无人抢答警报信号warn;计时中止信号stop;计时十位和个位信号tb,ta。图2-1计时模块图图2-2计时模块内部电路2.1.2

10、、计时器程序library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity js isport(clk,rst,s,stop:in std_logic; warn:out std_logic; ta,tb:buffer std_logic_vector(3 downto 0); end js; architecture one of js is signal co:std_logic;begin p1:process(clk,rst,s,stop,ta) begin if rst=0 or s

11、top=1 then ta=0000; elsif clkevent and clk=1 then co=0; if s=1 then if ta=0000 then ta=1001;co=1; else ta=ta-1; end if; end if; end if; end process p1; p2:process(co,rst,s,stop,tb) begin if rst=0 or stop=1 then tb=0010; elsif coevent and co=1 then if s=1 then if tb=0000 then tb=0011; else tb=tb-1; e

12、nd if; end if; end if; end process p2; end one;2.2、抢答器模块2.2.1、抢答器原理图与分析在这个模块中主要实现抢答过程中的抢答鉴别功能。其电路框图如下。其中,rst为复位信号,当该信号高电平有效时,电路无论处于何种状态都恢复为初始状态,即所有的输出信号都为0;EN为抢答使能信号,该信号高电平有效;s0、s1、s2、s3为抢答按钮,高电平时有效。当使能信号EN为低电平时,如果有参赛者按下按钮,则提前抢答报警信号FALSE3.0的对应位输出高电平,以示警告;当EN为高电平时,首先将提前抢答报警信号FALSE3.0复位清0,然后根据选手按下抢答按钮

13、的先后顺序选择最先抢答的信号,其对应的抢答状态显示信号LEDALEDD输出高电平,抢答成功组别编号由信号states输出,并锁存抢答器此时的状态,直到清0信号有效为止。在每一轮新的抢答之前,都要使用复位清零信号rst,清除上一轮抢答对判断电路留下的使用痕迹,使电路恢复初始状态。图2-3 抢答器图图2-4 抢答器内部电路2.2.2、抢答器程序library ieee; use ieee.std_logic_1164.all;entity qdjb is port(rst:in std_logic; EN:in std_logic; s0,s1,s2,s3:in std_logic; LEDA:o

14、ut std_logic; LEDB:out std_logic; LEDC:out std_logic; LEDD:out std_logic; false:out std_logic_vector(3 downto 0); states:out std_logic_vector(3 downto 0); end qdjb; architecture one of qdjb is signal tmp: std_logic_vector(3 downto 0); signal tag: std_logic; begin tmp=s0&s1&s2&s3; process(rst,EN,s0,s

15、1,s2,s3,tmp) begin if rst=1THEN states=0000; LEDA=0; LEDB=0; LEDC=0; LEDD=0; false=0000; tag=0; elsif EN=0then if s0=1then false(3)=1; end if; if s1=1then false(2)=1; end if; if s2=1then false(1)=1; end if; if s3=1then false(0)=1;end if; else false=0000; if tag=0then if tmp=1000then LEDA=1; LEDB=0;

16、LEDC=0; LEDD=0; states=1000; tag=1; elsif tmp=0100then LEDA=0; LEDB=1; LEDC=0; LEDD=0; states=0100; tag=1; elsif tmp=0010then LEDA=0; LEDB=0; LEDC=1; LEDD=0; states=0010; tag=1; elsif tmp=0001then LEDA=0; LEDB=0; LEDC=0; LEDD=1; states=0001; tagout7out7out7out7out7out7out7out7out7out7out7=0000000; e

17、nd case; end process; end architecture; 2.4、记分模块2.4.1记分模块图与分析抢答计分电路的设计一般按照一定数制进行加减即可,但随着计数数目的增加,要将计数数目分解成十进制并进行译码显示会变得较为复杂。为了避免该种情况,通常是将一个大的进制数分解为数个十进制以内的进制数,并将计数器级连。但随着数位的增加,电路的接口也会相应增加。因此,本设计采用IF语句从低往高判断是否有进位,以采取相应的操作,既减少了接口,又简化了设计。其电路框图如下,该模块输入信号为加分选择信号add和组别选择信号chose3.0,其中,加分选择信号add高电平有效,有效时对组别选

18、择信号chose3.0选择的参赛组进行加分;组别选择输入信号chose3.0即抢答鉴别模块的输出信号states3.0。输出信号分别对应四组竞赛者的得分。图2-7记分模块图图2-8记分模块内部电路2.4.2记分器程序library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jf is port(rst: in std_logic; add: in std_logic; chose: in std_logic_vector(3 downto 0); aa2,aa1,aa0,bb2,bb1,

19、bb0: out std_logic_vector(3 downto 0); cc2,cc1,cc0,dd2,dd1,dd0: out std_logic_vector(3 downto 0); end entity jf; architecture art of jf is begin process(rst,add,chose) is variable a2,a1:std_logic_vector(3 downto 0); variable b2,b1:std_logic_vector(3 downto 0); variable c2,c1:std_logic_vector(3 downt

20、o 0); variable d2,d1:std_logic_vector(3 downto 0); begin if(rst=1)then a2:=0001;a1:=0000; b2:=0001;b1:=0000; c2:=0001;c1:=0000; d2:=0001;d1:=0000; elsif(addevent and add=1)then if chose=0001then if a1=1001then a1:=0000; if a2=1001then a2:=0000; else a2:=a2+1; end if; else a1:=a1+1; end if; elsif cho

21、se=0010then if b1=1001then b1:=0000; if b2=1001then b2:=0000; else b2:=b2+1; end if; else b1:=b1+1; end if; elsif chose=0100then if c1=1001then c1:=0000; if c2=1001then c2:=0000; else c2:=c2+1; end if; else c1:=c1+1; end if; elsif chose=1000then if d1=1001then d1:=0000; if d2=1001then d2:=0000; else

22、 d2:=d2+1; end if; else d1:=d1+1; end if; end if; end if; aa2=a2;aa1=a1;aa0=0000; bb2=b2;bb1=b1;bb0=0000; cc2=c2;cc1=c1;cc0=0000; dd2=d2;dd1=d1;dd0=0000; end process; end architecture art; 2.5、报警模块2.5.1、报警模块图与分析在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内有人抢答,指示灯显示抢答组别,扬声器发出 23 秒的音响。即有效电平输入信号i;状态输出信号q。图2-9报

23、警模块图图2-10报警模块内部电路2.5.2、报警器程序library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity alarm is port(clk,i:in std_logic; q:out std_logic); end alarm; architecture behave of alarm is signal warn:std_logic; signal n:integer range 0 to 20; begin q= warn; process(clk) begin if cl

24、kevent and clk=1 then if i=0 then warn =0; elsif(i=1and n=19)then warn =not warn; n=n+1; else warn zbxs);u5:alarm port map(clk,i,q); end rtl;第3章 抢答电路的模拟仿真3.1、计时模块仿真计时模块的仿真波形如图所示。实现了抢答过程中的计时功能,在有抢答开始后进行30秒的倒计时,并且在30秒倒计时后无人抢答显示超时并报警。图3-1计时模块仿真波形图3.2、抢答模块仿真抢答鉴别模块的仿真波形图如图所示。当鉴别模块的清零复位信号rst为高电平时,无论四组参赛者谁

25、按下抢答按钮,系统输出均为零,同时组别显示端输出信号也显示为零;当清零信号rst为低电平时,s0、s1、s2、s3四组参赛者谁先按下抢答按钮,其对应的显示灯LEDx亮起,states3.0输出抢答成功的选手编号。图3-2抢答模块仿真波形图3.3、译码模块仿真 当in4= 0000 ,out7输出0111111,此时数码管显示0;当in4= 0001 ,out7输出0000110,此时数码管显示1;当in4= 0010 ,out7输出1011011,此时数码管显示2;当in4= 0011 ,out7输出1001111,此时数码管显示3;当in4= 0100 ,out7输出1100110,此时数码

26、管显示4; 当in4= 0101 ,out7输出1101101,此时数码管显示5; 当in4= 0110 ,out7输出1111101,此时数码管显示6; 当in4= 0111 ,out7输出0000111,此时数码管显示7; 当in4= 1000 ,out7输出1111111,此时数码管显示8; 当in4= 1001 ,out7输出1101111,此时数码管显示9;图3-3译码模块仿真波形图3.4、记分模块仿真系统设计过程中,当计分复位端RST=1时,并且组别输入信号CHOSE=0000,其中的组别输入信号是抢答鉴别模块的输出信号,计分器复位,此时以上四组都不会产生加减分操作。然而当计分复位

27、端RST=0时,此时计分器可以计分。当CHOS=0001时,组别显示为A组,此时主持人利用计分器对A组进行加减分操作;当CHOS=0010时,组别显示为B组,此时主持人则利用计分器对B组进行加减分操作,以此类推。下图仿真为A组回答正确,加分。图3-4记分模块仿真波形图3.5、报警模块仿真在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内如果人抢答或是计数到时蜂鸣器开始报警,有效电平输入信号i;状态输出信号q。图3-5报警模块仿真波形图3.6、整体抢答电路仿真对电路整体进行仿真,当复位信号rst为高电平时,系统所有信号都清零;当主持人按下开始键,抢答器开始工作。图3-6整体

28、抢答电路仿真波形图3.7、抢答系统电路分析及总图根据系统设计要求,将各模块连线得到如下系统框图。主持人按下使能端EN,抢答器开始工作。四位抢答者谁先按下抢答按钮,则抢答成功,对应的显示灯亮起,并通过显示电路模块显示参赛编号。抢答成功的选手进入答题阶段,如果正确回答问题,则加分信号add有效,给相应的参赛组加分。如果复位信号rst有效,使得抢答器在下一轮抢答前,其抢答成功的组别判断恢复为初始状态,开始新一轮抢答。图3-7抢答器电路总图第4章 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技

29、术发展的日新日异,软件方面的应用已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握各种软件的应用是十分重要的。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。主要有以下几点:根据指导教师布置的课题,学会了找参考书籍、查阅手册、图表和文献资料等。通过独立思考,深入钻研有关问题,学会了自己分析解决问题的方法。培养了严肃认真的工作作风和科学态度。数字系统设计课程设计的主要任务是通过解决一两个实际问题,

30、巩固和加深此课程中所学的理论知识和试验技能,基本掌握常用电子电路的一般设计方法,提高电子电路的设计和试验能力,为以后从事生产和科研工作打下一定的基础。其主要内容包括理论设计、安装与调试及写出设计总结报告等。其中理论设计又包括选择总体方案、设计单元电路、选择元器件及计算参数等步骤,是课程设计的关键环节。安装与调试是把理论付诸实践的过程,通过安装与调试,进一步完善电路,使之达到课题所要求的性能指标,使理论设计可以转变为实际产品。课程设计的最后要求写出设计总结报告,把理论设计的内容、组装调试的过程及性能指标的测试结果进行全面的总结,把实践内容上升到理论的高度。通过这次设计,对电子系统的自顶向下、自底

31、向上以及自顶向下与自底向上相结合的设计方法都有了一定的了解,并基本掌握了自顶向下的设计方法。知道了运用该方法是应该遵循的正确性和完备性原则、模块化结构化原则、问题不下放原则、以及高层主导原则等等。虽然此次设计不需要仿真,但是我还是对Xilinx ISE仿真软件有了一定的了解和掌握。其次,对硬件电路的设计,调试和分析有了一定的了解和能力。同时也认识到设计者必须有广泛的知识基础,缜密的思路以及认真地工作态度,这对我今后的学习和工作都将起到不可忽视的作用。把理论和实践相结合,通过理论指导实践,在实践中理解理论,这是我们每个大学生都应该做到的一点。附录答辩记录及评分表课题名称数字式竞赛抢答器答辩教师(职称)周珍艮(副教授)、王银花(讲师) 答辩时间 2016-2017学年第1学期 第 15周答辩记录问:请简述EDA的设计流程。答:设计输入(原理图/HDL文本编辑)、

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服