收藏 分销(赏)

基于QuartusII的数字式竞赛抢答器设计方案报告.doc

上传人:a199****6536 文档编号:2511947 上传时间:2024-05-31 格式:DOC 页数:16 大小:115.54KB
下载 相关 举报
基于QuartusII的数字式竞赛抢答器设计方案报告.doc_第1页
第1页 / 共16页
基于QuartusII的数字式竞赛抢答器设计方案报告.doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述
课程 EDA技术课程设计 题目 数字式竞赛抢答器 专业 电子信息工程 重要内容、基本规定、重要参照资料等 重要内容: 设计一种可容纳6组参赛数字式抢答器,当第一种人按下抢答按钮时,其她组按钮不起作用。当主持人按下“复位”按钮,所有组按键才可用。 基本规定: 1、设计一种可容纳6组参赛数字式抢答器,每组设一种按钮,供抢答使用。 2、抢答器具备第一信号鉴别和锁存功能,使除第一抢答者外按钮不起作用。 3、设立一种主持人“复位”按钮。 4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有批示灯显示抢答组别,扬声器发出2-3秒音响。 5、设立一种计分电路,每组开始预置100分,由主持人记分,答对一次加10分,答错一次减10分。 重要参照资料: [1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,. [2] 康华光主编.电子技术基本 模仿某些. 北京:高教出版社,. [3] 阎石主编.数字电子技术基本. 北京:高教出版社,. 完毕期限 .3.11 指引教师 专业负责人 3月7日 一、总体设计思想 1.基本原理 抢答器接通电源后,主持人将开关置于“清除”位置,抢答器处在禁止工作状态,编号显示屏灭灯。抢答开始时,主持人将控制开关拨到“开始”位置,扬声器给出声响提示,抢答器处在工作状态,这时,抢答器完毕如下工作: (1)优先编码器电路及时辨别出抢答者编号,并由锁存器进行锁存,然后由译码显示电路显示编号; (2)扬声器发出短暂声响,提示主持人注意; (3)控制电路要对输入编码电路进行封锁,避免其她选手再次进行抢答;(4)当选手将问题回答完毕,主持人操作计分开关,计分电路采用十进制加/减计数器、数码管显示。本轮抢答完毕,主持人操作控制开关,使系统回答到禁止工作状态,以便进行下一轮抢答。 2.设计框图 显示 电路 译码 电路 锁存器 优先编 码电路 抢答按钮 主电路 报警电路 控制电路 主持人 控制开关 显示电路 译码电路 计分电路 预制 扩展功能电路 加分 减分 图1 抢答器总体框图 由主体电路和扩展电路两某些构成,主体电路完毕基本抢答功能,即开始抢答后,当选手按动抢答键时,能显示选手编号,同步能封锁输入电路,禁止其她选手抢答。扩展电路完毕各选手得分显示功能。 二、设计环节和调试过程 1、总体设计电路 2、模块设计和相应模块程序 (一)抢答鉴别模块 1、VHDL源程序 library ieee;--抢答鉴别模块 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity qdjb is port(rst,clk2:in std_logic; s0,s1,s2,s3:in std_logic; states:buffer std_logic_vector(3 downto 0); tmp:out std_logic); end qdjb; architecture one of qdjb is signal st:std_logic_vector(3 downto 0); begin p1:process(s0,rst,s1,s2,s3,clk2) begin if rst='0' then tmp<='0';st<="0000"; elsif clk2'event and clk2='1' then if (s0='1' or st(0)='1')and not( st(1)='1' or st(2)='1' or st(3)='1' ) then st(0)<='1'; end if ; if (s1='1' or st(1)='1')and not( st(0)='1' or st(2)='1' or st(3)='1' ) then st(1)<='1'; end if ; if (s2='1' or st(2)='1')and not( st(0)='1' or st(1)='1' or st(3)='1' ) then st(2)<='1'; end if ; if (s3='1' or st(3)='1')and not( st(0)='1' or st(1)='1' or st(2)='1' ) then st(3)<='1'; end if ; tmp<=s0 or s1 or s2 or s3; end if ; end process p1; p2:process(states(0),states(1),states(2),states(3)) begin if (st="0000") then states<="0000"; elsif (st<="0001") then states<="0001"; elsif (st<="0010") then states<="0010"; elsif (st<="0100") then states<="0011"; elsif (st<="1000") then states<="0100"; end if; end process p2; end one; 抢答鉴别模块图 抢答鉴别模块用来精确直观地判断A、B、C、D、E、F六组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众可以清晰地懂得是哪一组抢答成功,是整个系统核心某些。同步组别显示端为下一模块输入信号,以以便主持人为该组抢答成功者进行加减分操作。 (二)计时模块 1、VHDL源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity js is port(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 stop='1' then ta<="0000"; elsif clk'event 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 co'event and co='1' then if s='1' then if tb="0000" then tb<="0011"; else tb<=tb-1; end if; end if; end if; end process p2; end one; 计时模块图 在这个模块中重要实现抢答过程中计时功能,在有抢答开始后进行30秒倒计时,并且在30秒倒计时后无人抢答显示超时并报警。其中有抢答时钟信号clk2;系统复位信号rst;抢答使能信号s;抢答状态显示信号states;无人抢答警报信号warn;计时中断信号stop;计时十位和个位信号tb,ta。 (三)数据选取模块 1、VHDL源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity sjxz is port (a,b,c:in std_logic_vector(3 downto 0); clk2,rst:in std_logic; s:out std_logic_vector(1 downto 0); y:out std_logic_vector(3 downto 0) ); end sjxz; architecture body_chooser of sjxz is signal count:std_logic_vector (1 downto 0); begin s<=count; process(clk2,rst) begin if(rst='0')then count<="00"; elsif(clk2'event and clk2='1')then if(count>="10")then count<="00"; else count<=count+1; end if; end if; case count is when "00"=>y<=a; when "01"=>y<=b; when "10"=>y<=c; when others=>null; end case; end PROCESS; end body_chooser; 数据选取模块图 在这个模块中重要实现抢答过程中数据输入功能,输入信号a[3..0]、b[3..0]、c[3..0];计数输出信号s;数据输出信号y;计数脉冲clk2,实现a、b、c按脉冲轮流选通,在数码管上显示。 (四)译码模块 1、VHDL源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY YMQ IS PORT(AIN4:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END YMQ; ARCHITECTURE ART OF YMQ IS BEGIN PROCESS(AIN4) BEGIN CASE AIN4 IS 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 WHEN OTHERS=>DOUT7<="0000000"; END CASE; END PROCESS; END ARCHITECTURE ART; 译码模块图 在这个模块中重要实现抢答过程中将BCD码转换成7段功能。 3、仿真及仿真成果分析 抢答鉴别 计时模块 译码 4、实验调试成果 l 抢答鉴别模块仿真分析: 当鉴别模块清零信号CLR为高电平时,无论A、B、C、D四组参赛者谁按下抢答按钮,系统输出均为零,同步组别显示端G输出信号也显示为零;当清零信号CLR为低电平时,A、B、C、D四组参赛者谁先按下抢答按钮,组别显示端就显示该组别号码。如果C组按下抢答按钮时,组别输出为0010,同步C组显示灯被点亮。仿真图上显示为A先抢答,由于在0-1.28微秒之间A、C虽然都按抢答键,但CLR为有效状态,因此在此时间段内抢答无效。 l 计分模块仿真分析: 一方面应当清晰,在计分器电路设计中,按十进制进行加减分操作,当浮现时钟信号上升沿CLK就可以完毕对参赛者加减分操作。智能抢答器记分模块仿真时以加分操作为例。由仿真图3-10可知如下状况: (1)系统设计过程中,当计分复位端RST=1时,并且组别输入信号CHOS=0000,其中组别输入信号是抢答鉴别模块输出信号,计分器复位,此时以上四组都不会产生加减分操作。 (2)然而当计分复位端RST=0时,此时计分器可以计分。当CHOS=0001时,组别显示为A组,此时主持人运用计分器对A组进行加减分操作;当CHOS=0010时,组别显示为B组,此时主持人则运用计分器对B组进行加减分操作;当CHOS=0100时,组别显示为C组,此时系统对C组进行加减分操作;当CHOS=1000时,组别显示为D组,此时对D组进行加减分操作。由仿真图可知,当主持人按下系统复位键RST键时,使分数复位,每位设立初始分数为100分。当CHOS=1000时,即D抢答成功时,加分键ADD输入四个脉冲,DD1加到4,阐明加提成功,成绩变为140分。其她抢答者抢答成功后加分操作与此相似。减分仿真与此类似,由于是以加法实现,本质与加分相似,当计分复位端RST=0时,可以计分。由仿真图可知,初始成绩均为100分。当CHOS=1000时,即D抢答成功时,减分键SUB输入四个脉冲,DD1加到4,阐明减提成功,成绩变为60分。其她抢答者抢答成功后减分操作与此相似。 l 译码器模块仿真分析: 当AIN4= "0000" , DOUT7输出"1111110",此时数码管显示0; 当AIN4= "0001" , DOUT7输出"0110000",此时数码管显示1; 当AIN4= "0010" , DOUT7输出"1101101",此时数码管显示2; 当AIN4= "0011" , DOUT7输出"1111001",此时数码管显示3; 当AIN4= "0100" , DOUT7输出"0110011",此时数码管显示4; 当AIN4= "0101" , DOUT7输出"1011011",此时数码管显示5; 当AIN4= "0110" , DOUT7输出"1011111",此时数码管显示6; 当AIN4= "0111" , DOUT7输出"1110000",此时数码管显示7; 当AIN4= "1000" , DOUT7输出"1111111",此时数码管显示8; 当AIN4= "1001" , DOUT7输出"1111011",此时数码管显示9; 三、结论及心得体会 智能抢答器设计核心在于几种模块设计要成功,即输入控制电路设计,显示电路设计,发生电路设计和计时电路设计。 依照实验规定来对的设计电路,一方面必要弄清晰抢答器功能原理,需要用什么样电路或某些什么样芯片来设计来实现,同步,如何来控制。把该实验提成一块一块分别实现,当有人抢答时,如何使其对的计时。 在实验过程中,连接线路很重要。因此在实验时,线路连接要仔细,只要一不小心,连错了一根线或多连一根抑或少连一根线,对于设计进展都是比较困难。特别是在线路较多时候,犯下这种错误,意味着要挥霍诸多实验时间。 通过本次课程设计,使我更加理解如何来设计一种实验,可以设计各种方案,通过比较得出最佳方案,使自己思路更加缜密。固然,本次实验使我对数字电路、VHDL语言有了进一步结识。同步,也理解了更多芯片及其功能和模块电路设计办法。再者,通过本次实验设计画原理图,使我对Quartus II软件有了进一步理解,操作也更加纯熟。加强了自己思维能力和动手设计能力。 参照资料 [1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,. [2] 康华光主编.电子技术基本 模仿某些. 北京:高教出版社,. [3] 阎石主编.数字电子技术基本. 北京:高教出版社,. [4] 谢自美 主编《电子线路设计实验测试》 华中科技大学出版社 [5] 赵世强、许杰等编 《电子电路EDA技术》 西安电子科技大学出版社
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 研究报告 > 其他

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服