八路抢答器.docx
《八路抢答器.docx》由会员分享,可在线阅读,更多相关《八路抢答器.docx(15页珍藏版)》请在冰豆网上搜索。
八路抢答器
一、课程设计的内容
设计任务:
1)利用各种器件设计一个多路智力竞赛抢答器。
2)利用DE2板对所设计的电路进行验证。
3)总结电路设计结果
二、课程设计的要求与数据
1)抢答器同时供8名选手(编号为1~8)使用,每位选手控制8个开关SW0~SW7中的一个。
这些开关平时位于下档位,上拨再下拨一次开关表示选手进行一次抢答操作;
2)设置清除显示按键KEY0,和开始抢答控制按键KEY1,这两个按键由主持人控制;
3)设置一位数码管用于显示抢答中的选手的编号;
4)设置两位数码管用于显示剩余时间(也用于显示抢答确定的时间);
5)抢答的时限可简单的固定为30秒(最好设计成主持人可通过按键修改,为完成此功能可增加一个按键KEY2,用于进入/退出设定时限状态);
6)数码管所显示的抢中的用户编号和抢中的时间,须在主持人下一次按清除显示按键或开始抢答按键之前保持不变;
7)超过时限后选手的操作不起任何作用,且各数码管的显示均保持不变;
8)主持人可以随时按清除显示按键将各数码管的显示置灭。
三、课程设计应完成的工作
1.利用各种电子器件设计8位数字抢答器;
2.利用DE2板对所设计的电路进行验证;
3.总结电路设计结果,整理课程设计报告
四、课程设计进程安排
序号
设计各阶段内容
地点
起止日期
1
QuartusII入门学习,熟悉设计流程
实2-214
10/6/28
2
进一步学习QuartusII,讲解各设计任务及其要求,分配设计任务
实2-214
10/6/29
3
通过查阅资料,独立完成电路设计,提交纸质电路原理图草稿
实2-214
10/6/30-
10/7/1
4
在QuartusII和DE2板上实现设计
实2-214
10/7/2
5
演示和验收
实2-214
10/7/5
6
完成设计报告
宿舍
10/7/6
五、应收集的资料及主要参考文献
1、《数字电子技术》——高等教育出版社,阎石主编
2、《现代电子技术实践课程指导》——谢云刘冰茹等编
发出任务书日期:
2010年6月28日指导教师签名:
计划完成日期:
2010年7月2日基层教学单位责任人签章:
主管院长签章:
摘要
此次实验主要是运用FPGA技术设计出来的一个简单的八位数字抢答器。
在抢答开始前,节目主持人先按“清除”按键,抢答器处于禁止工作状态,编号数码管和倒计时数码管置零。
当节目主持人宣布抢答题目后,说一声“抢答开始”,同时按下“开始”按键,LED灯亮了一下提示抢答开始,抢答器处于工作状态,倒计时数码管显示倒计时。
当倒计结束了,却没有选手抢答时,封锁输入电路,禁止选手超时后抢答。
当选手在倒计时间内按动抢答键时,别的选手抢答无效,数码管显示选手编号和剩余时间。
抢答器工作方式:
1先用锁存器进行锁存,然后用优先编码电路分辨出抢答者的编号,最后由译码显示电路显示编号;
2扬声器发出短暂声响(实验中用LED灯闪烁代替),提醒抢答者注意;
3控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答;
4控制电路要使定时器停止工作,时间显示器上显示剩余的抢答时间,并保持到主持人将系统清零为止。
当选手将问题回答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。
5若过程中出现意外,主持人可以按“清零”按键将数码管清零,再按“开始”按键重新开始。
6在将要进入抢答状态时,如果有人预先抢答,LED2灯将会亮起来,提示本次抢答无效,主持人按清零重新进入抢答。
7主持人可以通过按键设置本次抢答的时间,设置完之后,按开始抢答之后就按照预设的时间进行倒数。
关键词:
1主持人总控制开关
2定时抢答
3锁存与显示
4定时减计
目录
1设计任务目的与要求6
1.1设计目的6
1.2设计要求6
2模块及其原理介绍2
2.1设计电路总图2
2.2电路模块及工作原理介绍:
3
2.2.1抢答部分模块组成:
3
2.2.2倒计时部分模块组成:
4
2.2.3提示抢答模块组成:
5
2.2.4报警模块组成:
5
2.2.5清零功能模块组成:
6
2.2.6清除功能模块组成:
7
2.2.7工作原理:
7
3设计方案8
3.1设计思路8
3.2设计总体流程图:
8
3.3自主设计的分频程序:
9
4实验结果与数据分析10
4.1测试步骤10
4.2仿真调试及数据分析10
4.3实验结果验证11
5结论与问题讨论12
5.1完成设计要求的程度12
5.2问题及解决办法12
5.3不足及改进12
5.4收获及心得体会12
参考文献13
1设计任务目的与要求
1.1设计目的
1)掌握可定时的八路显示抢答器的工作原理及其设计方法
2)进一步理解课本的理论知识,提高电路的分析能力
3)熟悉QUARTUSII软件的使用
1.2设计要求
1)抢答器同时供8名选手(编号为1~8)使用,每位选手控制8个开关SW0~SW7中的一个。
这些开关平时位于下档位,上拨再下拨一次开关表示选手进行一次抢答操作;
2)设置清除显示按键KEY0,和开始抢答控制按键KEY1,这两个按键由主持人控制;
3)设置一位数码管用于显示抢答中的选手的编号;
4)设置两位数码管用于显示剩余时间(也用于显示抢答确定的时间);
5)抢答的时限可简单的固定为30秒(最好设计成主持人可通过按键修改,为完成此功能可增加一个按键KEY2,用于进入/退出设定时限状态);
6)数码管所显示的抢中的用户编号和抢中的时间,须在主持人下一次按清除显示按键或开始抢答按键之前保持不变;
7)超过时限后选手的操作不起任何作用,且各数码管的显示均保持不变;
8)主持人可以随时按清除显示按键将各数码管的显示置灭。
2模块及其原理介绍
2.1设计电路总图
电路设计总图如下
2.2电路模块及工作原理介绍:
2.2.1抢答部分模块组成:
用74373芯片的8个输入端代表8位选手,它的输出按电路图依次接到74147优先编码器,再传到7447译码器,让7447译码器的输出端连接数码管。
抢答电路图(74373部分)
抢答电路图(74373部分)
2.2.2倒计时部分模块组成:
首先用程序对50M频率进行分频,分成1Hz,分频后作为倒数计数器的频率源,倒数计数器主要用三个十进制的74190组成,第一个计数器预先设定预置数为30,通过按键可以调节输出数值,每按一次减一,以此作为第三个计数器的预置数,从而实现通过按键设置倒计时时间,当开始按键按下时,计数器开始倒计时,输出数值端接到7447译码器通过数码管显示
程序分频电路图
倒计时电路图
2.2.3提示抢答模块组成:
当主持人按下“开始”开关后,LED1灯会亮一下当作提示(代替蜂鸣器)。
提示抢答开始报警灯电路图
2.2.4报警模块组成:
有人未正式开始抢答就提前按抢答按键时,则会通过由开始按键、抢答按键和锁存器的使能电平高低这三个组成的真值表和逻辑表达式来判断是否有人违反规则而接通LED2灯(代替蜂鸣器)报警。
报警电路图
2.2.5清零功能模块组成:
当主持人按下“清零”按键时,通过一系列的与门、非门、D触发器等将74373锁存器、74190计数器、7447译码器的置零功能开启。
清零电路图
2.2.6清除功能模块组成:
当主持人按下“清除”按键时,通过一系列的与门、非门、D触发器等使7447译码器的使能端处于低电平,以此将数码管置灭。
清除电路图
(1)
清除电路图
(2)
2.2.7工作原理:
当主持人按下“清除”按键时,7447译码器的BIN端为低电平,所有输出端全部关死,这样就没有编码传到数码管,相当于发数码管置灭。
当主持人按下“清零”按键时,通过一系列的与门、非门、D触发器等将74373锁存器、74190计数器、7447译码器等置零。
当主持人按下“开始”按键时,提示灯亮一下,74147优先编码电路和74373锁存电路同时处于工作状态,两个倒数器74190先是LDN=0,其中一个置数为0,另一个置数为3,然后LDN=1开始进行倒计数。
另外,74373锁存器等待输入端D1-D8输入信号,当有选手将键按下时(如5号按下自己抢答按键),74373的输出为11110111,经过一个八与门、一个或门和一个二与门组合,将返还低电平0到使能端G,让74373禁止工作;同时74373将11110111传到74147优先编码器编码,再把编码传给7447译码器,让显示器显示出“5”。
这就保证了抢答者的优先性以及抢答电路的准确性。
同时经一个八与门和一个四与门将0传到CLK,计数器停止计时,保持在选手按下时的剩余时间。
当30秒倒数完且没有选手抢答时,则由于此时计数器的RCON=0,经一个与门,将低电平0传给74373的使能端G,使74373处于禁止工作状态,禁止选手抢答。
倒计时数码管显示剩余时间为00,选手号数码管显示0。
假如有人在30秒后按下抢答按钮,则报警器工作(LED灯亮)。
另外,假如主持人需要更改抢答时间,可以按下“设置”按钮,此时通过一非门将高电平1传给一个74190计数器,让其进行十进制减法计数,工作一个周期,在原来的基础上减1,然后输出编码到74190计数器(用于显示十位数的数码管)。
3设计方案
3.1设计思路
设计思想:
设定一条控制总线S控制整个系统的运作,低电平有效。
设定一个清零控制,用于清除上一次抢答的显示,低电平清零。
另设计了一个自主的分频程序,对DE2板上的50MHz时钟频率进行分频。
计数器主要是用两个74190,通过这两个计数器,进行30秒的倒数。
3.2设计总体流程图:
3.3自主设计的分频程序:
libraryieee;
useieee.std_logic_1164.all;
entitydiv50is
port(
clk:
instd_logic;
clkout:
outstd_logic
);
enddiv50;
architectureartofdiv50is
signalnum:
integerrange0to49999999;
signaltemp:
std_logic;
begin
process(clk)
begin
ifclk'eventandclk='1'then
ifnum=49999999then
num<=0;temp<=nottemp;
elsenum<=num+1;
endif;
clkout<=temp;
endif;
endprocess;
endart;
4实验结果与数据分析
4.1测试步骤
(1)在QuartursII平台式建立一个新的工作区,建立一个新的文件,按设计电路画出完整的电路图保存在一个文件夹里并编译。
(2)编译完后分配管脚,再编译,然后下载到DE2板上,进行试验。
(3)观察实验结果看是否与要求相符合,如果有错误,分析电路图并进行修改再进行编译并下载到DE2板上,进行试验。
4.2仿真调试及数据分析
Protue草稿图仿真结果
最终利用QUARTUSII软件将已设计好的电路图进行仿真。
因为选手的抢答按键是以低电平为有效的,设置三位选手先手抢答(如下图1的三个低电平部分)。
设置合理时钟信号。
设置完后再编译一次,编译成功后按仿真按钮,结果如下图1所示。
4.3实验结果验证
1)模拟仿真结果正确后,结合实验板设置各输入、输出端;指定下载芯片,重新编译。
编译结果正确后下载到相应芯片中。
2)下载完成后,在实验板上验证结果,经指导老师检查验收通过,符合设计要求,本次实验取得成功。
5结论与问题讨论
5.1完成设计要求的程度
这个电路完成了抢答器课程设计的几乎所有要求,而且还添加了几个附加功能,如选手在抢答开始前抢答,就会亮一盏LED灯提示有人预先抢答,本次抢答无效,主持人按清零按键再准备进入下一次抢答,而且本电路还可以通过一按键调节抢答时间。
5.2问题及解决办法
完成此次课程设计遇到的问题有很多,首先对一些芯片的功能不是很了解,导致在设计电路连线出现错误,达不到想要的结果。
这就迫使我去查找相关课本和请教同学,最后在软件上在慢慢调试编译。
第二个大问题就是对QUARTUSII软件的不熟悉,虽然先前数电实验有做过两次,但还是很陌生,我看了一些相关教程和老师发给我们的课件,渐渐地对这个软件有进一步的了解,这对我顺利完成此次课程设计是非常重要的!
5.3不足及改进
不足:
按键每按一次就传送一个低电平,然后自动变回高电平,没有保存下来。
改进:
在需要锁存的按键后加一个锁存器。
5.4收获及心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节。
在这次课程设计里,虽然只有短短的几天,但是在整个过程里,我获益良多。
首先,这使我对课本里的知识理解得更加透彻,并且了解到了一些书里并没提到的知识和一些元件的功能。
其次,我懂得了将理论与实际相结合,只有这样才能设计出符合要求的成品。
第三,通过这次课程设计,我提高了自己的实际动手能力和独立思考能力。
在设计过程中遇到了各种各样的困难,如如何将50MHz的时钟频率分成1Hz的时钟频率;用什么芯片组成什么模块用作什么用途,这些都考验了我的知识的掌握程度和应用能力,在自己的不懈努力和同学的帮助下最后解决了这些问题。
此外,在这次课程设计中,让我学会了QUARTUSII的基本使用,为以后的电路设计打下好的基础。
最后,感谢老师的细心指导,感谢学校能提供这样一个实习机会,感谢我的同学对我的无私的帮助!
参考文献
【1】阎石主编.数字电子技术基础.高等教育出版社,2006.5
【2】谢云、刘冰茹等编.现代电子技术实践课程指导.机械工程出版社,2003.2