![设计二数字抢答器设计_第1页](http://file4.renrendoc.com/view/4da3ff491bc32dcc3635cbfd16406214/4da3ff491bc32dcc3635cbfd164062141.gif)
![设计二数字抢答器设计_第2页](http://file4.renrendoc.com/view/4da3ff491bc32dcc3635cbfd16406214/4da3ff491bc32dcc3635cbfd164062142.gif)
![设计二数字抢答器设计_第3页](http://file4.renrendoc.com/view/4da3ff491bc32dcc3635cbfd16406214/4da3ff491bc32dcc3635cbfd164062143.gif)
![设计二数字抢答器设计_第4页](http://file4.renrendoc.com/view/4da3ff491bc32dcc3635cbfd16406214/4da3ff491bc32dcc3635cbfd164062144.gif)
![设计二数字抢答器设计_第5页](http://file4.renrendoc.com/view/4da3ff491bc32dcc3635cbfd16406214/4da3ff491bc32dcc3635cbfd164062145.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2 2.1二人数字抢答器地设计一.设计任务:设计一个 2人抢答器,采用 EPM7128芯片,具体要求如下:(1) 两人抢答,先抢为有效,用发光二极管显示是否抢到优先答题权.(2) 每人 2位计分显示,答错不加分,答对加 10分.20分.30分.(3) 每题结束后,裁判按复位,可重新抢答下一题.(4) 累计加分可由裁判随时清除.二.设计框图:源程序:library 。use 。use ieee.std_logic_signed.all。entity qd isport(i1,i2:in bit。reset:in bit。g10,g20,g30:in bit。clk:in bit。cong:in
2、bitlight1, light2:out bit= 0 。t11:out std_logic_vector(6 downto 0):=”0111111”。t12:out std_logic_vector(6 nto 0):=”0111111”。t21:out std_logic_vector(6 downto 0):=”0111111”。t22:out std_logic_vector(6 downto 0):=”0111111”)。end 。architecture stru of qd issignal cs1:integer range 0 to 9。signal cs2:intege
3、r range 0 to 9。signal a,b:bit:= 0。signal11,12:bit:= 。beginprocess(clk)beginif clkevent and clk = 1 thenif (cong = 1 ) thenif (reset = 1 ) thenif (i1 = 0 and a = 0 ) then 11 =1 。elsif(i2 = 0 and a = 0 ) then 12 =1 。a =1 。矚慫润厲钐瘗睞枥庑赖。end 。if (g10=0and 11= 1 and b= 0 )then 。b=1 。聞創沟燴鐺險爱氇谴净。elsif(g20=0an
4、d 11= 1 and b= 0 )then 。b=1 。残骛楼諍锩瀨濟溆塹籟。elsif(g30=0and 11= 1 and b= 0 )then 。b=1 。酽锕极額閉镇桧猪訣锥。end 。if (g10=0and 12= 1 and b= 0 )then cs2=cs2+1。b=1 。彈贸摄尔霁毙攬砖卤庑。elsif(g20=0and 12= 1 and b= 0 )then cs2=cs2+2。b=1 。謀荞抟箧飆鐸怼类蒋薔。骚。elsif(g30=0and 12= 1 and b= 0 )then cs2=cs2+3。b=1 。厦礴恳蹒骈時盡继價end 。if (cs1 = 0)
5、then t11=”01111111”。elsif(cs1 = 1) then 。elsif (cs1 = 2) then 。elsif (cs1 = 3) then t11=”1001111”。elsif (cs1 = 4) then 。elsif (cs1 = 5) then t11=”11011101”。elsif (cs1 = 6) then t11=”1111101”。elsif (cs1 = 7) then 。elsif (cs1 = 8) then t11=”1111111”。elsif (cs1 = 9) then t11=”1101111”。end 。if (cs2 = 0)
6、 then t21=”01111111”。elsif (cs2 = 1) then 。elsif (cs2 = 2) then 。elsif (cs2 = 3) then 。elsif (cs2 = 4) then 。elsif (cs2 = 5) then 。elsif (cs2 = 6) then t21=”1111101”。elsif (cs2 = 7) then 。elsif (cs2 = 8) then t21=”1111111”。elsif (cs2 = 9) then t21=”1101111”。end 。else 。12=0。a=0。b=0。end 。elsecs1=0。 cs
7、2=0。 。12=0。end 。light2=12。t12=”01111111”。t22=”01111111”。end 。end 。end stru。说明:当一人抢到优先权,发光二极管亮,另一人再按按键无效;答题结束后,裁判按复位键,方可再次抢答;每人有 2个数码管显示累加计分情况,分数分为 3档,用按键区别.茕桢广鳓鯡选块网羈泪。2.2四人数字抢答器地设计在许多比赛活动中,为了准确.公正.直观地判断出第一抢答者,通常设置一台抢答器,通过抢答器地指示灯显示.数码显示和警示蜂鸣等手段指示出第一抢答者.同时,还可以设置计分.犯规及奖惩计录等多种功能.鹅娅尽損鹌惨歷茏鴛賴。设计要求:(1)设计制作一
8、个可容纳四组参赛者地数字智力抢答器,每组设置一个抢答按钮供抢答者使用.(2)电路具有第一抢答信号地鉴别和锁存功能.(3)设置计分电路.(4)设置犯规电路.设计方案根据系统设计要求可知,系统地输入信号有:各组地抢答按钮 A.B.C.D,系统清零信号 CLR,系统时钟信号 计分复位端 加分按钮端 计时预置控制端计时使能端 EN,计时预置数据调整按钮 TA.TB;系统地输出信号有:四个组抢答成功与否地指示灯控制信号输出口 LEDA.LEDB.LEDC.LEDD,四个组抢答时地计时数码显示控制信号若干,抢答成功组别显示地控制信号若干,各组计分动态显示地控制信号若干.籟丛妈羥为贍偾蛏练淨。根据以上地分析
9、,可将整个系统分为三个主要模块:抢答鉴别模块 QDJB;抢答计时模块 JSQ;抢答计分模块JFQ.对于需显示地信息,需增加或外接译码器,进行显示译码.考虑到 FPGA/CPLD地可用接口及一般 EDA实验开发系统提供地输出显示资源地限制,这里我们将组别显示和计时显示地译码器内设,而将各组地计分显示地译码器外接.預頌圣鉉儐歲龈讶骅籴。抢答鉴别电路地设计与实现抢答鉴别模块用来判断 A.B.C.D四组抢答者谁最先按下按钮.并为显示端送出信号,使观众能够清楚地知道是哪一组抢答成功,是整个系统地核心部分.同时为下一模块输入信号,以方便裁判为该组加分.渗釤呛俨匀谔鱉调硯錦。模块如图 1所示,系统地输入信号
10、有:各组地抢答按钮 A.B.C.D,系统清零信号CLR.系统地输出信号有:各组地抢答按钮显示端 A1.B1.C1.D1,组别显示端STATES3.0,同时作为下一模块JFQ模块地输入信号.铙誅卧泻噦圣骋贶頂廡。图1VHDL实现方法如下所示:ARCHITECTURE ART OF QDJB ISCONSTANT W1: 。CONSTANT W2: 。CONSTANT W3: 。CONSTANT W4: 。BEGINPROCESS(CLR,A,B,C,D) ISBEGINIF CLR=1 THEN STATES=0000。ELSIF (A=1AND B=0AND C=0AND D=0) THEN。
11、 B1=0。 C1=0。 D1=0。 STATES=W1。ELSIF (A=0AND B=1AND C=0AND D=0) THEN。 B1=1。 C1=0。 D1=0。 STATES=W2。ELSIF (A=0AND B=0AND C=1AND D=0) THEN。 B1=0。 C1=1。 D1=0。 STATES=W3。ELSIF (A=0AND B=0AND C=0AND D=1) THEN。 B1=0。 C1=0。 D1=1。 STATES=W4。END 。END PROCESS。在抢答鉴别电路地设计中,A.B.C.D四组抢答,理论上应该有 16,但实际上由于芯片地反应速度快到一定程度
12、时 ,两组以上同时抢答成功地可能性非常小,因此可设计成只有四种情况,即 ABCD 分别为 1000.0100.0010.0001,这大大简化了电路地设计复杂性.擁締凤袜备訊顎轮烂蔷。计分器地设计与实现在计分器电路地设计中,按照一般地设计原则,按一定数进制进行加减即可.模块如图 2所示,系统地输入信号有:计分复位端 加分按钮端 减分按钮端 SUB,组别号输入端 CHOS3.0.系统地输出信号有:A 组分数输出端AA23.0.AA13.0.AA03.0,B 组分数输出端 BB23.0.BB13.0.BB03.0,C 组分数 输 出 端 CC23.0.CC13.0.CC03.0,D组 分 数 输 出
13、 端DD23.0.DD13.0.DD03.0.贓熱俣阃歲匱阊邺镓騷。图 2VHDL实现方法如下所示:(1)当按下 RST键时,使分数复位,每位地初始分数为 100分.IF RST=1 THENPOINTS_A2:=0001。 POINTS_A1:=0000。POINTS_B2:=0001。 POINTS_B1:=0000。POINTS_C2:=0001。 POINTS_C1:=0000。POINTS_D2:=0001。 POINTS_D1:=0000。(2)当按下加分按钮端 ADD时,以给 A组加分为例.IF POINTS_A1=1001 THENPOINTS_A1:=0000。IF POIN
14、TS_A2=1001 THENPOINTS_A2:=0000。ELSEPOINTS_A2:=POINTS_A2+0001。END 。ELSEPOINTS_A1:=POINTS_A1+0001。END 。(3)当按下减分按钮端 SUB时,以给 A组减分为例.IF POINTS_A1=0000 THENPOINTS_A1:=1001。IF POINTS_A2=0000 THENPOINTS_A2:=1001。ELSE。END 。ELSE。END 。在设计中减法地实现是以加法运算来实现地.以 A 为例,由于每次减分都是减去10 分,即每次为 POINTS_A1 减一,所以可以用 POINTS_A1+
15、1111来实现.如:0111-0001=0110, 用 加 法 实 现 : 0111+1111=10110. 由 于 POINTS_A1:STD_LOGIC_VECTOR(3 DOWNTO 所以 坛摶乡囂忏蒌鍥铃氈淚。计时器地设计与实现本系统中地计时器电路既有计时初始值地预置功能 ,又有倒计数功能,功能比较齐全.模块如图 3 所示,系统输入信号有:系统清零信号 计时预置控制端 LDN,计时使能端 EN,系统时钟信号 CLK,计时预置数据调整按钮 系统输出信号有:倒计时输出端 QA3.0.QB3.0.蜡變黲癟報伥铉锚鈰赘。图3VHDL实现方法如下所示:(1)计时初始值功能地实现.PROCESS(
16、TA,TB,CLR)BEGINIF CLR=1 THENDA=0000。DB=0000。ELSEIF TA=1 THENDA=DA+1。END 。IF TB=1 THENDB=DB+1。END 。END 。END PROCESS。(2)60秒倒计时功能地实现.PROCESS(CLK) TMPA: STD_LOGIC_VECTOR(3 DOWNTO 0)。 TMPB: STD_LOGIC_VECTOR(3 DOWNTO 。BEGINIF CLR=1 THEN TMPA:=0000。 。ELSIF CLKEVENT AND CLK=1 THENIF LDN=1 THEN TMPA:=DA。 。EL
17、SIF EN=1 THENIF TMPA=0000 THENTMPA:=1001。IF TMPB=0000 THEN 。ELSE 。END 。ELSE TMPA:=TMPA-1。END 。END 。END 。QA=TMPA。 QBDOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7=0000000。END CASE。-0-3-1-2-4-5-6-7-8-9END PROCESS。END ARCHITECTURE ART。在程序中只考虑 0000-1001(即 0-9)地情况,将其转化为相应地七段显示器地码子,其他情况不予考虑.綾镝鯛駕櫬鹕踪韦辚糴。数字抢答器地实现在每个模块完
18、成之后,就要将它们合为一个整体,成为一个能提供所要求功能地系统.电路图如下:附录附录1 抢答鉴别模块VHDL程序(QDJB.VHD)LIBRARY IEEE。USE 。ENTITY QDJB ISPORT(CLR: IN 。A, B, C, D: IN 。A1,B1,C1,D1: OUT 。STATES: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。END 。ARCHITECTURE ART OF QDJB ISCONSTANT W1: 。CONSTANT W2: 。CONSTANT W3: 。CONSTANT W4: 。BEGINPROCESS(CLR,A,B,C,D)
19、BEGINIF CLR=1 THEN STATES=0000。ELSIF (A=1AND B=0AND C=0AND D=0) THEN。 B1=0。 C1=0。 D1=0。 STATES=W1。ELSIF (A=0AND B=1AND C=0AND D=0) THEN。 B1=1。 C1=0。 D1=0。 STATES=W2。ELSIF (A=0AND B=0AND C=1AND D=0) THEN。 B1=0。 C1=1。 D1=0。 STATES=W3。ELSIF (A=0AND B=0AND C=0AND D=1) THEN。 B1=0。 C1=0。 D1=1。 STATES=W4。E
20、ND 。END PROCESS。END ART。附录2 计分器模块VHDL程序(JFQ.VHD)LIBRARY IEEE。USE 。USE IEEE.STD_LOGIC_UNSIGNED.ALL。ENTITY JFQ ISPORT(RST: IN STD_LOGIC。ADD: IN 。SUB: IN STD_LOGIC。CHOS: IN STD_LOGIC_VECTOR(3 DOWNTO 。AA2,AA1,AA0,BB2,BB1,BB0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) 。驅猫踬髏彦浃绥譎饴憂锦。CC2,CC1,CC0,DD2,DD1,DD0: OUT STD
21、_LOGIC_VECTOR(3 DOWNTO 0)。虿驢绘燈鮒诛髅貺庑。END JFQ。ARCHITECTURE ART OF JFQ ISBEGINPROCESS(RST,ADD,SUB,CHOS) POINTS_A2,POINTS_A1: STD_LOGIC_VECTOR(3 DOWNTO 0)。锹構輒尧籁饗迳琐筆襖鸥娅薔。 POINTS_B2,POINTS_B1: STD_LOGIC_VECTOR(3 DOWNTO 0)。氽頑黉碩饨荠龈话骛。 POINTS_C2,POINTS_C1: STD_LOGIC_VECTOR(3 DOWNTO 0)。峄陽檉簖疖網儂號泶。 POINTS_D2,PO
22、INTS_D1: STD_LOGIC_VECTOR(3 DOWNTO 0)。侧閆繭絳闕绚勵蜆贅。BEGINIF (ADDEVENT AND ADD=1) THENIF RST=1 THENPOINTS_A2:=0001。 POINTS_A1:=0000。POINTS_B2:=0001。 POINTS_B1:=0000。POINTS_C2:=0001。 POINTS_C1:=0000。POINTS_D2:=0001。 POINTS_D1:=0000。ELSIF CHOS=0001 THENIF POINTS_A1=1001 THENPOINTS_A1:=0000。IF POINTS_A2=100
23、1 THENPOINTS_A2:=0000。ELSEPOINTS_A2:=POINTS_A2+0001。END 。ELSEPOINTS_A1:=POINTS_A1+0001。END 。ELSIF CHOS=0010 THENIF POINTS_B1=1001 THENPOINTS_B1:=0000。IF POINTS_B2=1001 THENPOINTS_B2:=0000。ELSEPOINTS_B2:=POINTS_B2+0001。END 。ELSEPOINTS_B1:=POINTS_B1+0001。END 。ELSIF CHOS=0100 THENIF POINTS_C1=1001 THEN
24、POINTS_C1:=0000。IF POINTS_C2=1001 THENPOINTS_C2:=0000。ELSEPOINTS_C2:=POINTS_C2+0001。END 。ELSEPOINTS_C1:=POINTS_C1+0001。END 。ELSIF CHOS=1000 THENIF POINTS_D1=1001 THENPOINTS_D1:=0000。IF POINTS_D2=1001 THENPOINTS_D2:=0000。ELSEPOINTS_D2:=POINTS_D2+0001。END 。ELSEPOINTS_D1:=POINTS_D1+0001。END 。END 。ELSIF
25、 (SUBEVENT AND SUB=1) THENIF RST=1 THENPOINTS_A2:=0001。 POINTS_A1:=0000。POINTS_B2:=0001。 POINTS_B1:=0000。POINTS_C2:=0001。 POINTS_C1:=0000。POINTS_D2:=0001。 POINTS_D1:=0000。ELSIF CHOS=0001 THENIF POINTS_A1=0000 THENPOINTS_A1:=1001。IF POINTS_A2=0000 THENPOINTS_A2:=1001。ELSE。END 。ELSE。END 。ELSIF CHOS=00
26、10 THENIF POINTS_B1=0000 THENPOINTS_B1:=1001。IF POINTS_B2=0000 THENPOINTS_B2:=1001。ELSE。END 。ELSE。END 。ELSIF CHOS=0100 THENIF POINTS_C1=0000 THENPOINTS_C1:=1001。IF POINTS_C2=0000 THENPOINTS_C2:=1001。ELSE。END 。ELSE。END 。ELSIF CHOS=1000 THENIF POINTS_D1=0000 THENPOINTS_D1:=1001。IF POINTS_D2=0000 THENPOINTS_D2:=1001。ELSE。END 。ELSE。END 。END 。END 。 。 。BB2=POINTS_B2。 BB1=POINTS_B1。 BB0=0000。CC2=POINTS_C2。 CC1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年纤维球精密过滤器项目可行性研究报告
- 2025年电力球监控系统项目可行性研究报告
- 2025至2031年中国溶剂绿行业投资前景及策略咨询研究报告
- 2025至2031年中国标准型捆包机行业投资前景及策略咨询研究报告
- 2025年挂墙式灯箱项目可行性研究报告
- 2025至2031年中国喷铝卡行业投资前景及策略咨询研究报告
- 2025年双面防粘纸项目可行性研究报告
- 2025年全自动电加热器项目可行性研究报告
- 2025至2030年中国驻极体传声器数据监测研究报告
- 2025至2030年中国静电喷漆成套设备数据监测研究报告
- 2025版大学食堂冷链食材配送服务合同模板3篇
- 《中医体重管理临床指南》
- 广西壮族自治区公路发展中心2025年面向社会公开招聘657名工作人员高频重点提升(共500题)附带答案详解
- 《中国的宗教》课件
- 2025年山东鲁商集团有限公司招聘笔试参考题库含答案解析
- 大型活动中的风险管理与安全保障
- 课题申报书:个体衰老差异视角下社区交往空间特征识别与优化
- 江苏省招标中心有限公司招聘笔试冲刺题2025
- 2024年防盗门销售合同范本
- (高清版)TDT 1042-2013 土地整治工程施工监理规范
- 《The Street Party》丽声北极星分级绘本pdf资源
评论
0/150
提交评论