智能八路抢答器的设计.doc
《智能八路抢答器的设计.doc》由会员分享,可在线阅读,更多相关《智能八路抢答器的设计.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、物理与电子工程学院 课程设计 题 目: 智能八路抢答器的设计 专 业: 班 级: 姓 名: 学号: 实验地点: 物理与电子工程学院 指导老师: 成 绩: ( 2010.07 )智能八路抢答器的设计物理与电子工程学院 指导老师: 1 引 言电子产品在生活中有着极其广泛的应用,包括计算机、数字通信、智能仪器仪表、自动控制及航天等领域中。这些给人们带来了生活,工作等方面带来了极大的方便。电子产品的发展,使得这门课程对于我们来说是很有必要学好。在这次的电子产品的制作中,本人制作八路智能抢答器。抢答器在比赛等场合中不可缺少的设备。智力竞赛是一种生动活泼的教育形式和方法,它通过抢答和必答等方式引起参赛者和
2、观众的兴趣,并在短时间内(如30秒等),增加人们的科学知识和生活知识。进行智力抢答时,一般分为若干组,主持人对各个组提出问题,有必答题和抢答题两种。答题有时间限制,若在规定时间内未能回答问题,则发出超时警告。对抢答题,要准确判断那组优先,并予以指示和鸣叫(如响铃等)。回答正确与否,由主持人判别并进行加分和减分,成绩结果通过电子装置显示1.1 设计内容 用单片机设计并实现智能八路抢答器。1.2 设计要求1. 复习编码器、十进制加/减计数器的工作原理,设计可预置时间的定时电路分析与设计时序控制电路。画出定时抢答器的整机逻辑电路图,掌握智力抢答器的工作原理及其设计方法,并对各种元器件的功能和应用有所
3、了解。并能对其在电路中的作用进行分析。了解电路设计流程的原理图。明白每个电路的设计流程。1.3 系统主要功能 1.3.1基本功能1. 设计一个智能竞赛抢答器,可同时供8个选手或8个代表队参加比赛,他们的编号分别是A,B,C,D,E,F,G,H,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是STATES0、STATES1、STATES2、STATES3、STATES4、STATES5、S STATES6、STATES7。2. 给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。3. 抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答开关按钮,编号
4、立即锁存,并在LED数码管上显示选手的编号,同时扬声器给出音响提示。此外,要封锁输入电路,禁止其他选手抢答。优先抢答选手的编号一直保持到主持人将系统清零为止。1.3.2扩展功能1. 抢答器具有定时抢答的功能,且一次的抢答时间由主持人设定。当节目主持人启动“开始”键后,要求定时器立即减计时,并用显示器显示,同时扬声器发出短暂的声响。2. 参赛选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间(如30s),并保持到主持人将系统清零为止。如果定时抢答时间已到,但没有选手抢答,本次抢答无效,系统将短暂报警并封锁输入电路,禁止选手超时后抢答,时间显示器上并显示00。
5、3. 当参赛选手在回答问题后主持人根据回答内容和回答是否有效并最终给出无效、加分、减分三种情况(每个参赛选手初始分为100分每加分或减分的单位都是10分)2 硬件设计2.1原理图图2-1 八路抢答器原理图2.2主要元件功能说明2.2.1抢答鉴别模块其主要的程序如下:PORT(CLR: IN STD_LOGIC; A,B,C,D,E,F,G,H:IN STD_LOGIC; 八人或八组抢答按键 X:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); 给选择器一个组别输入信号 STATES:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);给计分器一个输入信号 zub
6、ie:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);显示抢答组别号 SOUND:OUT STD_LOGIC);声音输出信号END ENTITY QDJB; ARCHITECTURE QDJB_ARC OF QDJB IS定义八个变量根据输入信号将其赋给输出 CONSTANT W1: STD_LOGIC_VECTOR(7 DOWNTO 0):=; CONSTANT W2: STD_LOGIC_VECTOR(7 DOWNTO 0):=; CONSTANT W3: STD_LOGIC_VECTOR(7 DOWNTO 0):=; CONSTANT W4: STD_LOGIC_VEC
7、TOR(7 DOWNTO 0):=; CONSTANT W5: STD_LOGIC_VECTOR(7 DOWNTO 0):=; CONSTANT W6: STD_LOGIC_VECTOR(7 DOWNTO 0):=; CONSTANT W7: STD_LOGIC_VECTOR(7 DOWNTO 0):=; CONSTANT W8: STD_LOGIC_VECTOR(7 DOWNTO 0):=; BEGIN PROCESS(CLR,A,B,C,D,E,F,G,H) IS BEGINIF CLR=1 THEN STATES=;清零有效输出全部赋零X(0)=0;X(1)=0;X(2)=0;X(3)=
8、0;X(4)=0;X(5)=0;X(6)=0;X(7)=0; ELSIF (A=1AND B=0AND C=0AND D=0AND E=0AND F=0AND G=0AND H=0) THENX(0)=1;X(1)=0;X(2)=0;X(3)=0;X(4)=0;X(5)=0;X(6)=0;X(7)=0; STATES=W1; SOUND=1;zubie=0001;A抢答成功把W1赋给输出声音响起 组别号显示为1。 ELSIF (A=0AND B=1AND C=0AND D=0AND E=0AND F=0AND G=0AND H=0) THENX(0)=0;X(1)=1;X(2)=0;X(3)=
9、0;X(4)=0;X(5)=0;X(6)=0;X(7)=0; STATES=W2; SOUND=1;zubie=0010;B抢答成功把W2赋给输出声音响起 组别号显示为2。 ELSIF (A=0AND B=0AND C=1AND D=0AND E=0AND F=0AND G=0AND H=0) THENX(0)=0;X(1)=0;X(2)=1;X(3)=0;X(4)=0;X(5)=0;X(6)=0;X(7)=0; STATES=W3; SOUND=1;zubie=0011;C抢答成功把W3赋给输出声音响起 组别号显示为3。 ELSIF (A=0AND B=0AND C=0AND D=1AND
10、E=0AND F=0AND G=0AND H=0) THENX(0)=0;X(1)=0;X(2)=0;X(3)=1;X(4)=0;X(5)=0;X(6)=0;X(7)=0; STATES=W4; SOUND=1;zubie=0100;D抢答成功把W4赋给输出声音响起 组别号显示为4。 ELSIF (A=0AND B=0AND C=0AND D=0AND E=1AND F=0AND G=0AND H=0) THENX(0)=0;X(1)=0;X(2)=0;X(3)=0;X(4)=1;X(5)=0;X(6)=0;X(7)=0; STATES=W5; SOUND=1;zubie=0101;E抢答成功
11、把W5赋给输出声音响起 组别号显示为5。 ELSIF (A=0AND B=0AND C=0AND D=0AND E=0AND F=1AND G=0AND H=0) THENX(0)=0;X(1)=0;X(2)=0;X(3)=0;X(4)=0;X(5)=1;X(6)=0;X(7)=0; STATES=W6; SOUND=1;zubie=0110;F抢答成功把W6赋给输出声音响起 组别号显示为6。 ELSIF (A=0AND B=0AND C=0AND D=0AND E=0AND F=0AND G=1AND H=0) THENX(0)=0;X(1)=0;X(2)=0;X(3)=0;X(4)=0;X
12、(5)=0;X(6)=1;X(7)=0; STATES=W7; SOUND=1;zubie=0111;G抢答成功把W7赋给输出声音响起 组别号显示为7。 ELSIF (A=0AND B=0AND C=0AND D=0AND E=0AND F=0AND G=1AND H=1) THENX(0)=0;X(1)=0;X(2)=0;X(3)=0;X(4)=0;X(5)=0;X(6)=0;X(7)=1; STATES=W8; SOUND=1;zubie=1000;H抢答成功把W8赋给输出声音响起 组别号显示为8。它的功能是鉴别八组(A,B,C,D,E,F,G,H,)中是那组抢答成功并且把抢答成功的组别号
13、输出给动态扫描并用译码器在数码管上显示相应的组别号(用阿拉伯数字表示)。它上面设置一个主持人开关清零键(CLR)其主要功能是当一轮成功抢答完后或抢答无效后主持人按下清零键(CLR)后数码管显示最初状态“0”。其代码程序仿真结果如图所示 图4-2 抢答鉴别波形仿真2.2.2倒计时模块源程序如下所示:IF CLR=0 THEN当清零有效的时候HH:=0011;清零时赋初始值30秒LL:=0000;ELSEIF CLKEVENT AND CLK=1THEN IF EN=0THEN 使能有效的时候当倒计时为00的时候声音响起IF LL=0 AND HH=0 THEN SOUND=1; ELSIF LL
14、=0 THEN 当个位为0时十位减1个位变成9LL:=1001; HH:=HH-1; ELSE LL:=LL-1; 如果个位不为0时十位不变个位减1END IF; ELSE SOUND=1; HH:=0011; LL:=0000;它的功能:是如果一组抢答成功,主持人给出判断并给出使能信号使倒计时开始计时如果计时到30秒的时候声音就会响起给主持人提供信息说明抢答队员已经超过了规定的时间,主持人会根据自己的主观意愿宣部此次抢答有效或无效。总的来说倒计时起到规定参赛者的起到时间并起到给主持人提示的作用。倒计时的设计思想:倒计时需要用两个数码管显示,其中一个数码管显示十位(HH)另一个显示个位(LL)
15、,它们都用二进制表示,当参赛者抢答成功时,主持人给出是否有效,如果有效就把使能信号赋高电平,倒计时开始工作,当时钟脉冲(clk)有效的时候倒计时就开始计时,当个位变成零的时候程序就会使十位减1并且个位变成9,如果个位没有变成零的时候个位在时钟脉冲上升沿的时候自动减1,十位保持不变。倒计时的仿真波形如下图所示:图4-3 倒计时模块波形仿真2.2.3计分选择模块2.2.3.1计分模块程序: BEGIN IF (clkEVENT AND clk=1) THEN IF RST=1 THEN每个参赛选手用三个数码管显示分别为百位、十位、个位,当复位有效的时候给每个选手赋初始分100分 cnt_1h=00
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 八路 抢答 设计
限制150内