安徽农业大学XXXXXX学院
课程设计报告
设计题目:_智能抢答器的VHDL语言实验报告 学 院: XXXXXXXXXXXX 专 业: 电气工程及其自动化 学 号: XXXXXXXXX 班 级: 11级电气(1)班 姓 名: XXXXXXXXXXX 日 期: 2014年06月14日 指导教师: XXXXXX
课 程 设 计 任 务 书
任务与要求
设计要求:1.抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0~ S3
表示。
2.设置一个系统清除和抢答控制开关S,该开关由主持人控制。 3.抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。 4. 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。
5. 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
技术要点:1、实现封锁功能; 3、总程序的编译、仿真、打包并下载到实验箱。
工作内容及安排 工作内容:1、编程、仿真、打包、编辑总程序,编译。2、下载到实验箱,验证结果。
进度安排:前两次实验上机调试程序;接下来级次实验下载验证,做硬件实验;最后课设验收并总结报告。
课程设计成果 1.与设计内容对应的软件程序 2.课程设计报告书 3.成果使用说明书 4.设计工作量要求
1
开始日期 2014年06月06 日 完成日期 2014年06月13 日
智能抢答器VHDL语言实验报告
一.实验目的
在MAX+plusII软件平台上,熟练运用VHDL语言。 完成智能抢答器设计的软件编程、编译、综合、仿真。 使用EDA实验箱,实现智能抢答器的硬件功能。 通过实验练习理论与实际的结合,提高变通和动手能力。 二.设计要求
在抢答比赛中,为了公平起见一般要求系统具备以下功能:
1) 设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢
答者使用。
2) 第一抢答信号的鉴别和锁存功能。 3) 设置计时功能。 4) 设置记分功能。 5) 数码显示功能。 三、实验原理和硬件要求
RESTINPUTVCCNOTFGI0I1I2I3SRclkinstinst2XORinst1clkINPUTVCCEONou10u20u30u4speakerxsnum0led0num1led1num2led2led3inst8OUTPUTOUTPUTfg1fg2OUTPUTOUTPUTfg3fg4COTROLCONTOLINPUTVCCINPUTVCCINPUTVCCINPUTVCCINPUTVCCJBOUAOUBOUCOUDrestclkgestopclkshI0I1I2I3enSREONou10u20u30u4ABCDCHANGEARBCGCSTDCSxsnum0led0num1led1num2led2led3inst9OUTPUTOUTPUTOUTPUTjb1jb2jb3XOROUTPUTjb4JSinst4XORJFgsabcsubaddVCCNPUTVCCNPUTinst15inst3restclkgeclkjsstopclkshspeakerOR2SPEAKEROUTPUTspeakinst27clk_speakCFinst21inst22qaqbqcqdqa1qb2qc3qd4ALERTLOCKOUTPUTOUTPUTinst5OU0OU1OUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOU2OU3OU10OU20OU30OUTPUTOUTPUTOUTPUTOU40D1D2qa1qb1qc1qd1qa2qb2DAqc2DBqd2DCDDqa3qb3qc3qd3qa4qb4qc4qd4OUTPUTOUTPUTOUTPUTQA1QA2QA3OUTPUTOUTPUTOUTPUTOUTPUTOUTPUTQA4QB1QB2DAQB3OUTPUTOUTPUTOUTPUTDBQB4DCOUTPUTOUTPUTDDQC1OUTPUTOUTPUTOUTPUTQC2QC3QC4ADDSUBOUTPUTOUTPUTOUTPUTOUTPUTQD1QD2QD3QD4inst12
模块分析:
根据抢答器的功能要求,可以得出下图所示的模块结构图。
其中,抢答模块(QDJB)为整个程序的核心,它实现了系统的抢答器线路测试功能. 第一
2
抢答信号的鉴别和锁存功能等其它功能;计分模块(JFQ)实现计分功能;计时模块(JSQ)则具有倒计时及计时完毕功能;显示模块(YMQ)具有数码显示分数功能。
图2.1.0 抢答器系统结构
一个显示分数原理分析:将电路分为三个主要模块:抢答鉴别模块QDJB;计时模块JSQ;记分模块JFQ。可用静态显示,使用4个数码管,两个显示计时,一个显示组别,
四、方案设计与论证
设计分析与设计思路:
1) 抢答器同时供4名选手或4个代表队比赛,抢答按钮分别用A B C D 表
示,A B C D为高电平则表示相应的按钮被按下。
2) 系统清零信号CLR,系统时钟信号CLK,记分复位端RST,加分按钮端ADD,
计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮TA; TB。
3) 系统的输出信号有:四组抢答成功与否的指示灯控制信号输出口 LEDA;LEDB;
LEDC;LEDD,四个组抢答时的计时数码显示控制信号,抢答成功组别显示的控制信号若干,各组记分动态显示的控制信号若干。
4) 本系统应具有的功能有:第一抢答信号的鉴别和锁存功能,抢答计时功能,各
组得分的累加和动态显示功能,抢答犯规记录功能。
五、各个模块的程序实现与仿真分析
1、抢答鉴别模块QDJB
各组的抢答输入信号A B C D的排列组合在理论上应该有16种可能情况,但实际上由于芯片的反应速度快到一定的程度时,两组以上同时抢答成功的可能性很小,所以设计时可只考虑A B C D分别抢答成功的四种情况。
3
其VHDL源程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY QDJB IS
PORT(CLR: IN STD_LOGIC;
A, B, C, D: IN STD_LOGIC; --4个组 A1,B1,C1,D1: OUT STD_LOGIC;
STATES: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END ENTITY QDJB;
ARCHITECTURE ART OF QDJB IS signal a_1,b_1,c_1,d_1: STD_LOGIC; BEGIN
PROCESS(CLR,A,B,C,D) IS BEGIN
IF CLR='1' THEN STATES<=\
a_1<='0';b_1<='0';c_1<='0';d_1<='0';--清零
ELSIF a_1='1' or b_1='1' or c_1='1' or d_1='1' then null;--锁存,当有一组选中时其他组再抢答没作用
ELSIF a='1' then a_1<='1'; STATES <=\ELSIF b='1' then b_1<='1'; STATES <=\ELSIF c='1' then c_1<='1'; STATES <=\ELSIF d='1' then d_1<='1'; STATES <=\END IF;
a1<=a_1;b1<=b_1;c1<=c_1;d1<=d_1; END PROCESS;
END ARCHITECTURE ART;
图2.2.0 抢答鉴别模块(QDJB)仿真波形
QDJBCLRABCDinstA1B1C1D1STATES[3..0] 图2.2.1 抢答鉴别模块(QDJB)框图 4