复杂数字电路设计实验报告_数字抢答器

上传人:pu****.1 文档编号:423336764 上传时间:2023-02-04 格式:DOC 页数:26 大小:934.50KB
返回 下载 相关 举报
复杂数字电路设计实验报告_数字抢答器_第1页
第1页 / 共26页
复杂数字电路设计实验报告_数字抢答器_第2页
第2页 / 共26页
复杂数字电路设计实验报告_数字抢答器_第3页
第3页 / 共26页
复杂数字电路设计实验报告_数字抢答器_第4页
第4页 / 共26页
复杂数字电路设计实验报告_数字抢答器_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《复杂数字电路设计实验报告_数字抢答器》由会员分享,可在线阅读,更多相关《复杂数字电路设计实验报告_数字抢答器(26页珍藏版)》请在金锄头文库上搜索。

1、复杂数字电路设计实验报告数字式竞赛抢答器一.实验题目名称: 数字式竞赛抢答器二.实验目的、任务和要求:设计个可容纳四组参赛的数字式抢答器,每组设一个按钮供抢答者使用。抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用;设置一个主持人“复位”按钮,主持人复位后,开始抡答,第一信号鉴别锁存电路得到信号后,用指示灯显示抡答 组别,扬声器发出23s的音响。 设置犯规电路,对提前抢答和超时答题(例如3min)的组别鸣笛示警,并由组别显示电路显示出犯规组别。 设置一个计分电路,每组开始预置10分,由主持人记分,答对一次加1分,答错一次减1分。 三.实验系统结构设计分析1.模块划分思想和方法;

2、本试验系统分为第一信号鉴别、锁存模块、答题计时电路模块、计分电路模块和扫描显示模块四部分。 第信号鉴别锁存模块的关键是准确判断出第一枪答者并将其锁存,在得到第一信号后,将输入端封锁,使其他组的抢答信号无效,可以用触发器或锁存器实现。设置抢答按 钮K1、K2、K3、K4,主持人复位信号reset,扬声器驱动信号out。 Reset=0时,第信号鉴别、锁存电路、答题计时电路复位,在此状态下,若有枪答按钮按下,鸣笛示警并显示犯规组别;reset1时,开始枪答,由第信号鉴别锁存电路形成第一枪答信号,进行组别显示,控制扬声器发出音响,并启动答题计时电路,若计时时间 到,主持人复位信号还没有按下则由扬声器

3、发出犯规示警声。 计分电路是一个相对独立的模块,采用十进制加减计数器、数码管数码扫描显示, 设置复位信号reset1、加分信号up、减分信号down,reset1=0时,所有得分回到起始分(10 分),且加分、减分信号无效;reset1=1时,由第一信号鉴别、锁存电路的输出信号选择进行加减分的组别,每按一次up,第一抢答组加分;每按次down,第一抢答组减一分。硬件系统示意图如下图所示:2.模块框图和作用;抢答器模块框图抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用;主持人“复位” 按钮,主持人复位后,开始抡答,第一信号鉴别锁存电路得到信号后,用指示灯显示抡答组别,扬声器发出

4、23s的音响。 犯规电路,对提前抢答和超时答题(例如3min)的组别鸣笛示警,并由组别显示电路显示出犯规组别。 计分电路对每组开始预置10分,由主持人记分,答对一次加1分,答错一次减1分。扫描显示模块用于实时显示各组选手的得分。3.各模块引脚定义和作用.时钟:NET clk LOC = C9 | IOSTANDARD = lvcmos33 ; 加分:NET up LOC = L14 | IOSTANDARD = lvttl | PULLUP ; 扣分:NET down LOC = L13 | IOSTANDARD = lvttl | PULLUP ; A组抢答按钮:NET K1 LOC = H

5、13 | IOSTANDARD = lvttl | PULLDOWN ; B组抢答按钮:NET K2 LOC = V4 | IOSTANDARD = lvttl | PULLDOWN ; C组抢答按钮:NET K3 LOC = D18 | IOSTANDARD = lvttl | PULLDOWN ; D组抢答按钮:NET K4 LOC = K17 | IOSTANDARD = lvttl | PULLDOWN ; LED提示灯:NET outalarm LOC = F9 | IOSTANDARD = lvttl | SLEW = slow | DRIVE = 8 ; 抢答重置:NET res

6、et LOC = N17 | IOSTANDARD = lvttl | PULLUP ; 得分重置:NET resetl LOC = H18 | IOSTANDARD = lvttl | PULLUP ; LCD各使能端与数据线:NET LCD_RS LOC = L18 | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;NET LCD_RW LOC = L17 | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;NET LCD_EN LOC = M18 | IOSTANDARD = LVCMO

7、S33 | DRIVE = 4 | SLEW = SLOW ;NET data LOC = M15 | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ; NET data LOC = P17 | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ; NET data LOC = R16 | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ; NET data LOC = R15 | IOSTANDARD = LVCMOS33 | DRIVE = 4 |

8、 SLEW = SLOW ; 四.实验代码设计以及分析: 1.给出模块层次图; 2.按模块完成的代码及注释.Justify模块(第一信号鉴别及锁存模块):entity justify is Port ( K1 : in STD_LOGIC; K2 : in STD_LOGIC; K3 : in STD_LOGIC; K4 : in STD_LOGIC; reset : in STD_LOGIC;-不弹起的开关 clr : in STD_LOGIC; output : buffer STD_LOGIC_VECTOR (3 downto 0) := 0000; outalarm : out STD

9、_LOGIC := 0) ;end justify;architecture Behavioral of justify issignal K11, K22, K33, K44: STD_LOGIC:= 0;signal alarm: STD_LOGIC:= 0;signal tempoutput: STD_LOGIC_VECTOR (3 downto 0):= 0000;beginalarm = output(0) or output(1) or output(2) or output(3);-有人抢到题,该答了K11 = K1 AND NOT(output(1) OR output(2)

10、OR output(3);-禁止别人再抢答K22 = K2 AND NOT(output(0) OR output(2) OR output(3);K33 = K3 AND NOT(output(0) OR output(1) OR output(3);K44 = K4 AND NOT(output(0) OR output(1) OR output(2);FindFirst: PROCESS(clr, reset, K11, K22, K33, K44) ISbeginif (reset = 0 or clr = 0) then清零tempoutput(3 downto 0) = 0000;

11、elsif (K11 = 1) thentempoutput(3 downto 0) = 0001;elsif (K22 = 1) thentempoutput(3 downto 0) = 0010;elsif (K33 = 1) thentempoutput(3 downto 0) = 0100;elsif (K44 = 1) thentempoutput(3 downto 0) = 1000;end if;end PROCESS FindFirst;KeepValue: PROCESS(alarm, tempoutput, reset, clr) IS锁存beginif (reset =

12、0 or clr = 0) then清零output(3 downto 0) = 0000;elsif(alarm = 0) thenoutput(3 downto 0) = tempoutput(3 downto 0);end if;end PROCESS KeepValue;outalarm = alarm;end Behavioral;Violation模块(抢答鉴别及锁存模块):entity violationjustify is Port ( clk500 : in STD_LOGIC; K1 : in STD_LOGIC; K2 : in STD_LOGIC; K3 : in ST

13、D_LOGIC; K4 : in STD_LOGIC; clr : in STD_LOGIC; reset : in STD_LOGIC; output : buffer STD_LOGIC_VECTOR (3 downto 0) := 0000; violation : out STD_LOGIC := 0);end violationjustify;architecture Behavioral of violationjustify issignal tempoutput: STD_LOGIC_VECTOR (3 downto 0):= 0000;signal clk : STD_LOG

14、IC;beginclk = clk500 and not(reset);violation = output(0) or output(1) or output(2) or output(3); -alarm + flagFindViolation:PROCESS (clr, clk, reset) ISbeginif(clr = 0) then清零tempoutput = 0000;elsif (clkevent and clk = 1) then有人犯规if (K1 = 1) thentempoutput(0) = 1;end if;if (K2 = 1) thentempoutput(1) = 1;end if;if (K3 = 1) thentempoutput(2) = 1;end if;if (K4 = 1) thentempou

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号