数字电子技术课程设计报告--基于FPGA的四位智能抢答器..docVIP

数字电子技术课程设计报告--基于FPGA的四位智能抢答器..doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字电子技术课程设计报告--基于FPGA的四位智能抢答器.

数字电子技术课程设计报告--基于 FPGA的四位智能抢答器 专业:xxx 班级:xxx 姓名:xxx 学号:xxx 设计任务及要求 基于EDA/SOPC系统开发平台,运用QuartusⅡ可编程逻辑器件开发软件,设计一个4位智能抢答器。要求如下: 可以同时供4名选手抢答,其编号分别为1、2、3、4,各用抢答按键S1、S2、S3、S4,按键编号与选手编号对应。主持人设置有一个开始按键S5,一个清零按键S6,用于控制抢答的开始和系统的清零; 抢答器具有定时抢答的功能,一次抢答的时间为10秒。当主持人启动“开始”按键后,用4 位LED 数码管左边两位显示10s 的倒计时; 抢答器具有数据锁存和显示的功能,抢答开始后,如果有选手按动按键,其编号立即锁存并显示在数码管上(显示在右边的两个数码管上),同时封锁输入电路,禁止其他选手抢答;优先选手的编号一直保持到主持人将系统清零为止; 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示抢答时刻的时间(左边两个数码管上)和参赛选手的编号(显示在右边的两个数码管上),并保持到主持人将系统清零为止;如果定时抢答的时间已到而没有选手抢答,本次抢答无效,封锁输入电路,禁止抢答,定时器显示“00”并闪烁,闪烁频率为0.5HZ;一直保持到主持人将系统清零为止; 在主持人未按下开始按键时,如果有人抢答则犯规,在显示器上右边两位闪烁犯规选手的编号,闪烁频率为0.5HZ;一直保持到主持人将系统清零为止; 说明:系统上电和按下清零按键后显示“0000”,设计中的时钟脉冲频率为1000赫兹; 附加:加入按键软件消抖功能及加减分数显示计分功能;能够设置不同的抢答时间,以便应用于不同的抢答系统。 设计原理及方案 本次设计主要采用verilog HDL 语言,总体编程思路采用模块化设计方式,主要分为3个模块,一个主控制及按扭输入模块,一个LED计时提示模块,一个抢答组号显示模块,分别对这3个子模块进行独立编程设计,并生成元件,并在顶层使用原理图的方式将3个模块连接起来完成整个设计。锁定管脚并编译通过,下载到试验箱进 行测试。 总设计框图: LED1 LED2 LED3 LED4 8421码 8421码 CLK 开始 清零 选手1 选手2 选手3 选手4 解析:在上图框架中LED计时提示模块、抢答组号显示模块都为译码器,主控制及按钮输入模块实现具体功能。主控制及按钮输入模块主要功能为计时、显示、闪烁、分频。其先将需要输出的内容以8421BCD码的形式输入给下一级,再通过LED计时提示模块和抢答组号显示模块的程序将8421BCD码译为对应的数据显示,最后和对应的共阳极数码显示管的管脚相连,显示最后的数据。 电路源文件 1、主控制与按钮输入模块 module zhukongzhi(clk,clear,start,p1,p2,p3,p4,answer1,answer2,q1,q2); input clk,clear,start,p1,p2,p3,p4; output[3:0] q1,q2 output [3:0] answer1,answer2; wire[3:0] qq1, qq2; wire co; reg [3:0] answer1, answer2;reg st;reg cr;reg en;reg kp;reg [10:0] tm;reg temp;reg temp2;reg [3:0] temp3;reg [3:0]q1;reg [3:0]q2;reg flag;reg flag1;reg flag2; initial begin flag2=1;st=1;cr=1;flag1=1;tm=0;temp=0;flag=0;kp=0; answer1=4b0000;answer2=4b0000; end always@(negedge start or negedge clear) begin if(!start) begin st=0;cr=

文档评论(0)

sa43sad5 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档