verilog_hdl_fpga抢答器_第1页
verilog_hdl_fpga抢答器_第2页
verilog_hdl_fpga抢答器_第3页
verilog_hdl_fpga抢答器_第4页
verilog_hdl_fpga抢答器_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1页FPGA期末结业论文基于FPGA/一开始时声明有哪些端口INPUTCLK,INPUTEN,INPUTL1,INPUTL2,INPUTL3,INPUTL4/输入口OUTPUTSIG1,SIG2,SIG3,SIG4OUTPUT07LEDOUTPUTBUZZER/输出口REGSIG11B1,SIG21B1,SIG31B1,SIG41B1REG07LED河南大学物理与电子学院第13页REGBUZZER/在输出口配置个寄存器,以便运算REGENFLAT1B0/配置寄存器,ENFLAT是表明开始抢答的标志位REGBUCLK1B0/BUCLK是蜂鸣器的标志位REG07BUL8D0/BUL是做蜂鸣器的延时用ALWAYSPOSEDGECLK/捕捉时钟BEGINIFINPUTEN1B0/初始化各按键并开始抢答BEGINENFLAT1B1/初始化各个标志位和参数SIG11B1SIG21B1SIG31B1SIG41B1/各个按键对应的LED控制端LED8B11111111/静态数码管的控制端,有8位BUCLK1B0BUZZER1B1/蜂鸣器的控制管脚,低电平为发声音ENDIFENFLAT1B1/开始抢答BEGINIFINPUTL11B0/如果按键1按下BEGINENFLAT1B0/禁止其他选手抢答SIG11B0/静态数码管显示序号1LED8B01101111/对应的LED点亮BUCLK1B1/指示蜂鸣器发声ENDELSEIFINPUTL21B0/如果按键2按下BEGINENFLAT1B0/禁止其他选手抢答SIG21B0LED8B00011010BUCLK1B1ENDELSEIFINPUTL31B0/如果按键3按下BEGINENFLAT1B0/禁止其他选手抢答SIG31B0LED8B01001010BUCLK1B1ENDELSEIFINPUTL41B0/如果按键4按下BEGINENFLAT1B0/禁止其他选手抢答SIG41B0河南大学物理与电子学院第14页LED8B01101001BUCLK1B1ENDENDIFBUCLK1B1/当蜂鸣器标志位置1时/进入此蜂鸣器处理程序BEGINBUZZER1B0/蜂鸣器发声BULBUL8D1/延时变量加1IFBUL8D255/当到达延时的时间时关掉蜂鸣器BEGINBUL8D0/延时变量复位BUCLK1B0/蜂鸣器标志位复位BUZZER1B1/蜂鸣器停掉ENDENDENDENDMODULE4仿真综合根据以上设计原理,我们进行仿真综合,分别得到如下的结果图4抢答仿真波形图河南大学物理与电子学院第15页图5加减分模块仿真图河南大学物理与电子学院第16页图6重置模块图7I/O引脚的选取I/O引脚号的名称及其测试波形图都已经在上图中给出,至于其作用程序河南大学物理与电子学院第17页应经对其作出详细的描述,这里不再一一赘述。5结论以FPGA为控制核心设计的抢答器,开发周期短,功能升级方便,整个控制系统所需元件少,集成度较高,具有良好的稳定性和可靠性。经过仿真以及下载到FPGA开发板上测试,此次设计可以公正、准确、直观的判断第一抢答者,并对抢答进行计时,加减操作的计时,并通过LED显示并提示时间,以及复位抢答等功能,同时3个BCD数码管可以正确的显示第一抢答者的组号以及积分信息。同时通过测试验证了软件的按键消抖处理适当,不会产生按键误判断的情况,以及状态机的程序设计方式结构清晰,易于查找程序的错误和进行改进。参考文献1夏宇闻VERILOG数字系统设计教程(第二版北京航空航天大学出版社;2EDA先锋工作室,王诚、吴继华等ALTERAFPGA/CPLD设计(基础篇)人民邮电出版社;3阎石数字电子技术基础(第五版)高等教育出版社;4童诗白模拟电子技术基础(第四版)高等教育出版社;5网络资料来源百度文库,道客巴巴,新浪爱问等;网址(WWWBAIDUCOMWWWDOC88COMIASKSINACOMCN。附录源代码主程序如上所示(略)抢答模块BEGINIFENFLAT1B1河南大学物理与电子学院第18页BEGINIFINPUTL11B0BEGINENFLAT1B0ANSWER3D1LED28HF9BUCLK1B1ENDELSEIFINPUTL21B0BEGINENFLAT1B0ANSWER3D2LED28HA4BUCLK1B1ENDELSEIFINPUTL31B0BEGINENFLAT1B0ANSWER3D3LED28HB0BUCLK1B1ENDELSEIFINPUTL41B0BEGINENFLAT1B0ANSWER3D4LED28H99BUCLK1B1ENDENDEND加减分数模块IFANSWER3D1/第一组加减分BEGINBEGINIFADDSCORE1SCORE11/当主持人判定选手的回答正确时,按下ADD键进行加分操作ELSEIFSTUSCORE1SCORE11/当主持人判定选手的回答错误时,按下STU键进行减分操作END河南大学物理与电子学院第19页SCORESCORE1/把第一组的分数赋值给分数寄存器ENDIFANSWER3D2/第二组加减分BEGINBEGINIFADDSCORE2SCORE21/当主持人判定选手的回答正确时,按下ADD键进行加分操作ELSEIFSTUSCORE2SCORE21/当主持人判定选手的回答错误时,按下STU键进行减分操作ENDSCORESCORE2ENDIFANSWER3D3/第三组加减分BEGINBEGINIFADDSCORE3SCORE31/当主持人判定选手的回答正确时,按下ADD键进行加分操作ELSEIFSTUSCORE3SCORE31/当主持人判定选手的回答错误时,按下STU键进行减分操作ENDSCORESCORE3ENDIFANSWER3D4/第四组加减分BEGINBEGINIFADDSCORE4SCORE41/当主持人判定选手的回答正确时,按下ADD键进行加分操作ELSEIFSTUSCORE4SCORE41/当主持人判定选手的回答错误时,按下STU键进行减分操作ENDSCORESCORE4END倒计时模块BEGINIFENFLAT1B1BEGINIFCNT32D48000000/计时实现1HZ分频河南大学物理与电子学院第20页CNTCNT32D1ELSEBEGINCNT32D0LED18B111111111B1/LED1左移一个单位,实现一秒的倒计时ENDENDIFLED18B0/倒计时结束还没有按键按下,则抢答停止且蜂鸣器响ENFLAT1B0BUCLK1B1END蜂鸣器模块BEGINIFBUCLK1B1/当蜂鸣器标志位置1时BEGIN/进入此蜂鸣器处理程序BUZZER1B0/蜂鸣器发声BULBUL8D1/延时变量加1ENDIFBUL8D255/当到达延时的时间时关掉蜂鸣器BEGINBUL8D0/延时变量复位BUCLK1B0/蜂鸣器标志位复位BUZZER1B1/蜂鸣器停掉ENDEND重置模块IFCLR/按下CLR键以后各组参数重置,整个比赛重新开始BEGINENFLAT1B1/重置各个标志位和参数LED18B11111111/重置时8个LED灯全亮LED28B11111111/选手号静态数码管数码管为共阳极的控制端,有8位LED38B11111111/选手分数显示数码管重置BUCLK1B0/蜂鸣器标志位重置BUZZER1B1/蜂鸣器的控制管脚重置,低电平为发声音SCORE14D5SCORE24D5SCORE34D5SCORE44D5/各组分数重置ANSWER8HFF/分数显示寄存器重置河南大学物理与电子学院第21页END数码显示模块BEGINCASESCORE4H0LED38HC0/显示04H1LED38HF9/显示14H2L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论