ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:118.80KB ,
资源ID:5607829      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5607829.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(eda实训 智能电子抢答器.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

eda实训 智能电子抢答器.docx

1、eda实训 智能电子抢答器 桂林电子科技大学信息科技学院EDA技术及应用实训报告学 号 * 姓 名 张常彪 指导教师:覃琴 2012 年 6 月 20 日智能电子抢答器 1.系统设计1.1 设计要求1.1.1 设计任务设计并制作一台智能电子抢答器。1.1.2 性能指标要求 用EDA实训仪的I/O设备和PLD芯片实现智能电子抢答器的设计。 智能电子抢答器可容纳4组参赛者抢答,每组设一个抢答按键。 电路具有第一抢答信号的鉴别和锁存功能。在主持人将复位按钮按下后开始抢答,并用EDA实训仪上的八段数码管显示抢答者的序号,同时扬声器发出“嘟嘟”的响声,并维持3秒钟,此时电路自锁,不再接受其他选手的抢答信

2、号。 设计一个计分电路,每组在开始时设置为100分,抢答后由主持人计分,答对一次加10分,答错一次减10分。 设计一个犯规电路,对提前抢答和超时抢答者鸣喇叭示警,并显示犯规的组别序号。1.2设计思路及设计框图1.2.1 设计思路模块qdq具有抢答所存功能,模块jfq 具有计算选手分数的功能模块fpq 将20MHZ的转为一秒的脉冲,模块bj具有超时抢答警报的功能,cnt3具有3秒倒计时的功能,还有contr和cont1两个控功能的模块。1.2.2 总体设计框图2各个模块程序的设计(1)抢答器抢答器模块有5个输入,分别为4个选手按键以及一个始能端一个清零端,3个输出分别接到LED模块,犯规模块。m

3、odule qdq(k,k1,k2,k3,k4,led,q,kk,en,q2);input k,k1,k2,k3,k4;output reg3:0 q;output reg3:0 led;output kk,en;wire ena,p;reg en1,en2,en3,en4,kk1,kk2,kk3,kk4,j1=0,j2=0,j3=0,j4=0;output reg q2;assign ena=(|q);assign kk=kk1|kk2|kk3|kk4;assign en=en1|en2|en3|en4;assign p=j1|j2|j3|j4; alwaysbeginif(p=1) q2=

4、1;else q2=0;endalways(negedge k1 or negedge k)begin if(k) begin q0=0; en1=1;j1=0;end else if(ena) begin q0=1; kk1=1; j1=1;end else q0=q0;end always(negedge k2 or negedge k)beginif(k) begin q1=0;en2=1;j2=0; end else if(ena) begin q1=1; kk2=1;j2=1;end else q1=q1;end always(negedge k3 or negedge k)begi

5、n if(k) begin q2=0;en3=1;j3=0;end else if(ena) begin q2=1; kk3=1;j3=1;end else q2=q2;end always(negedge k4 or negedge k)begin if(k) begin q3=0;en4=1;j4=0;end else if(ena) begin q3=1; kk4=1;j4=1;end else q3=q3;end alwayscase(q)0:led=0;1:led=1;2:led=2;4:led=3;8:led=4;endcaseendmodule(2)加减模块计分模块主要是起到一个

6、为各组选手计分的作用,当分组选手抢答成功时就会显示相应的分数,初始分数是10分,答对一题加1分打错一题减掉1分module jfq(clk,j,k1,clr,e);input 1:0 j;input 3:0 k1;input clk;input clr;output reg 7:0 e;reg 7:0c,d,f,g;always (posedge clk or negedge clr)begin if(clr) begin c7:4=0;c3:0=0;d7:4=0;d3:0=0;f7:4=0;f3:0=0;g7:4=0;g3:0=0;end else if (k1=0) begin e7:0=

7、0;end else if(k1=1) begin if(j0=1) begin if(c3:09&c7:4!=9) c3:0=c3:0+1; else if(c3:0=9&c7:4!=9) begin c3:0=0;c7:4=c7:4+1;end else if(c3:0=9&c7:4=9) begin c3:0=9;c7:4=9;end e=c; end else if(j1=1) begin if(c3:0=0&c7:4=0) begin c3:0=0;c7:4=0;end else if(c3:0=0&c7:4!=0) begin c3:0=9;c7:4=c7:4-1;end else

8、 if (c3:0!=0&c7:4=0) c3:0=c3:0-1; else if(c3:0!=0&c7:4!=0) begin c7:4=c7:4;c3:0=c3:0-1;end e=c; end else e=c; end else if(k1=2) begin if(j0=1) begin if(d3:09&d7:4!=9) d3:0=d3:0+1; else if(d3:0=9&d7:4!=9) begin d3:0=0;d7:4=d7:4+1;end else if(d3:0=9&d7:4=9) begin d3:0=9;d7:4=9;end e=d; end else if(j1=

9、1) begin if(d3:0=0&d7:4=0) begin d3:0=0;d7:4=0;end else if(d3:0=0&d7:4!=0) begin d3:0=9;d7:4=d7:4-1;end else if (d3:0!=0&d7:4=0) d3:0=d3:0-1; else if(d3:0!=0&d7:4!=0) begin d7:4=d7:4;d3:0=d3:0-1;end e=d; end else e=d; end else if(k1=3) begin if(j0=1) begin if(f3:09&f7:4!=9) f3:0=f3:0+1; else if(f3:0

10、=9&f7:4!=9) begin f3:0=0;f7:4=f7:4+1;end else if(f3:0=9&f7:4=9) begin f3:0=9;f7:4=9;end e=f; end else if(j1=1) begin if(f3:0=0&f7:4=0) begin f3:0=0;f7:4=0;end else if(f3:0=0&f7:4!=0) begin f3:0=9;f7:4=f7:4-1;end else if (f3:0!=0&f7:4=0) f3:0=f3:0-1; else if(f3:0!=0&f7:4!=0) begin f7:4=f7:4;f3:0=f3:0

11、-1;end e=f; end else e=f; end else if(k1=4) begin if(j0=1) begin if(g3:09&g7:4!=9) g3:0=g3:0+1; else if(g3:0=9&g7:4!=9) begin g3:0=0;g7:4=g7:4+1;end else if(g3:0=9&g7:4=9) begin g3:0=9;g7:4=9;end e=g; end else if(j1=1) begin if(g3:0=0&g7:4=0) begin g3:0=0;g7:4=0;end else if(g3:0=0&g7:4!=0) begin g3:

12、0=9;g7:4=g7:4-1;end else if (g3:0!=0&g7:4=0) g3:0=g3:0-1; else if(g3:0!=0&g7:4!=0) begin g7:4=g7:4;g3:0=g3:0-1;end e=g; end else e=g; end endendmodule(3)报警电路module bj(bout,q2,clr,fout);input bout,q2,clr;output reg fout;alwaysbeginif(bout=1)begin if(q2=0) fout=0; else fout=1;endendendmodule(4)倒计时器倒计时

13、模块主要是一个倒计时的作用,我们设计的是一个3秒的倒计时。module cnt3(clk,lod,d,q,bout); input clk,lod; input 3:0 d; output reg3:0 q; output reg bout; always (posedge clk or negedge lod) begin if (lod) begin q=d;bout=0;end else begin if (q=0) q=h0; else q=q-1; if (q=0) bout=1; else bout=0; end endendmodule(5)分频器 分频器实现的是将高频时钟信号转

14、换成低频的时钟信号,用于触发控制器,计数器和扫描显示电路。该分频器,将EDA实训仪主板提供的20MHz的主频经20000000分频后,得到电路所需的1Hz(秒)时钟。其设计模块如图2所示。 module fpq(clk,cout);input clk;reg 24:0 q;output reg cout;always (posedge clk)begin if(q20000000-1) q=q+1; else q=0; if(q=20000000-1) cout=1; else cout=0;endendmodule(6)抢答器结构图3调试过程根据自己画的电路图以及个管脚功能,锁定相应引脚,然

15、后编译下载到试验箱中去。然后就进行硬件调试,刚开始时,加分模块功能有问题,按下加分按键后不是分很多就是加不了,经过反复更改程序后,最后得到的所要求的加分功能,其他模块有的有一些问题,有的很容易就改过来了,最后有部分功能还没调试出来,不过大部分都已经完成。4功能测试4.1 测试仪器与设备1. 安装Quartus II软件电脑一台2. EDA实训仪一台4.2 性能指标测试 实现了用EDA实训仪的I/O设备和PLD芯片实现智能电子抢答器的设计。 实现了智能电子抢答器可容纳4组参赛者抢答,每组设一个抢答钮。 实现了电路具有第一抢答信号的鉴别和锁存功能。在主持人将复位按钮按下后开始抢答,并用EDA实训仪

16、上的八段数码管显示抢答者的序号,同时LED灯闪烁提示。此时电路自锁,不再接受其他选手的抢答信号。 实现了设计一个计分电路,每组在开始时设置为10分,抢答后由主持人计分,答对一次加1分,答错一次减1分。 实现了设计一个犯规电路,对提前抢答和超时抢答者进行警告提示,并显示犯规的组别序号。 5实训心得体会 通过本次实训,觉得以后不管做什么制作,首先应该理清思路,需要有模块,怎么连接,每个模块的作用是什么,模块与模块之间有什么联系,还有一些输入输出。然后再细分到每个模块的突破,写程序也一样,再在写这些复杂的程序前我们先要有一个整体思路。接下来就是根据每各快的功能来写这写程序,有些可以参考书上的一些程序

17、,在这个程序上加以修改就可以实现功能。最后就是把程序变成器件,再把各个快连接起来,接上输入输出口。再锁管脚的时候不同的作用的引脚要锁不同的地方,比如要脉冲信号的要接16,有的接按键;有的接拨动开关等。在次过程中碰到了好多问题,不仅是知识上的缺陷,更重要的是自己心态,在碰到问题一下子不能解决时,一定不能浮躁,要静下心,慢慢思考,这段时间坚持下来,就一定会把问题解决。所以不管做什么事,一定要坚持。 6参考文献 EDA技术与应用 电子工业出版社 江国强 编著 附录:仿真波形图(部分模块)1.分频器模块2.Cnt仿真波形图程序清单module qdq(k,k1,k2,k3,k4,led,q,kk,en

18、,q2);input k,k1,k2,k3,k4;output reg3:0 q;output reg3:0 led;output kk,en;wire ena,p;reg en1,en2,en3,en4,kk1,kk2,kk3,kk4,j1=0,j2=0,j3=0,j4=0;output reg q2;assign ena=(|q);assign kk=kk1|kk2|kk3|kk4;assign en=en1|en2|en3|en4;assign p=j1|j2|j3|j4; alwaysbeginif(p=1) q2=1;else q2=0;endalways(negedge k1 or

19、 negedge k)begin if(k) begin q0=0; en1=1;j1=0;end else if(ena) begin q0=1; kk1=1; j1=1;end else q0=q0;end always(negedge k2 or negedge k)beginif(k) begin q1=0;en2=1;j2=0; end else if(ena) begin q1=1; kk2=1;j2=1;end else q1=q1;end always(negedge k3 or negedge k)begin if(k) begin q2=0;en3=1;j3=0;end e

20、lse if(ena) begin q2=1; kk3=1;j3=1;end else q2=q2;end always(negedge k4 or negedge k)begin if(k) begin q3=0;en4=1;j4=0;end else if(ena) begin q3=1; kk4=1;j4=1;end else q3=q3;end alwayscase(q)0:led=0;1:led=1;2:led=2;4:led=3;8:led=4;endcaseendmodulemodule jfq(clk,j,k1,clr,e);input 1:0 j;input 3:0 k1;i

21、nput clk;input clr;output reg 7:0 e;reg 7:0c,d,f,g;always (posedge clk or negedge clr)begin if(clr) begin c7:4=0;c3:0=0;d7:4=0;d3:0=0;f7:4=0;f3:0=0;g7:4=0;g3:0=0;end else if (k1=0) begin e7:0=0;end else if(k1=1) begin if(j0=1) begin if(c3:09&c7:4!=9) c3:0=c3:0+1; else if(c3:0=9&c7:4!=9) begin c3:0=0

22、;c7:4=c7:4+1;end else if(c3:0=9&c7:4=9) begin c3:0=9;c7:4=9;end e=c; end else if(j1=1) begin if(c3:0=0&c7:4=0) begin c3:0=0;c7:4=0;end else if(c3:0=0&c7:4!=0) begin c3:0=9;c7:4=c7:4-1;end else if (c3:0!=0&c7:4=0) c3:0=c3:0-1; else if(c3:0!=0&c7:4!=0) begin c7:4=c7:4;c3:0=c3:0-1;end e=c; end else e=c

23、; end else if(k1=2) begin if(j0=1) begin if(d3:09&d7:4!=9) d3:0=d3:0+1; else if(d3:0=9&d7:4!=9) begin d3:0=0;d7:4=d7:4+1;end else if(d3:0=9&d7:4=9) begin d3:0=9;d7:4=9;end e=d; end else if(j1=1) begin if(d3:0=0&d7:4=0) begin d3:0=0;d7:4=0;end else if(d3:0=0&d7:4!=0) begin d3:0=9;d7:4=d7:4-1;end else

24、 if (d3:0!=0&d7:4=0) d3:0=d3:0-1; else if(d3:0!=0&d7:4!=0) begin d7:4=d7:4;d3:0=d3:0-1;end e=d; end else e=d; end else if(k1=3) begin if(j0=1) begin if(f3:09&f7:4!=9) f3:0=f3:0+1; else if(f3:0=9&f7:4!=9) begin f3:0=0;f7:4=f7:4+1;end else if(f3:0=9&f7:4=9) begin f3:0=9;f7:4=9;end e=f; end else if(j1=

25、1) begin if(f3:0=0&f7:4=0) begin f3:0=0;f7:4=0;end else if(f3:0=0&f7:4!=0) begin f3:0=9;f7:4=f7:4-1;end else if (f3:0!=0&f7:4=0) f3:0=f3:0-1; else if(f3:0!=0&f7:4!=0) begin f7:4=f7:4;f3:0=f3:0-1;end e=f; end else e=f; end else if(k1=4) begin if(j0=1) begin if(g3:09&g7:4!=9) g3:0=g3:0+1; else if(g3:0

26、=9&g7:4!=9) begin g3:0=0;g7:4=g7:4+1;end else if(g3:0=9&g7:4=9) begin g3:0=9;g7:4=9;end e=g; end else if(j1=1) begin if(g3:0=0&g7:4=0) begin g3:0=0;g7:4=0;end else if(g3:0=0&g7:4!=0) begin g3:0=9;g7:4=g7:4-1;end else if (g3:0!=0&g7:4=0) g3:0=g3:0-1; else if(g3:0!=0&g7:4!=0) begin g7:4=g7:4;g3:0=g3:0-1;end e=g; end else e=g; end endendmodulemodule bj(bout,q2,clr,fout);input bout,q2,clr;output reg fout;alwaysbeginif(bout=1)begin if(q2=0) fout=0; else fout=1;endendendmodulemodule fpq(clk,cout);input clk;reg 24:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1