数字系统课程设计--辩论赛计时器.doc

数字系统课程设计--辩论赛计时器.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数字系统课程设计--辩论赛计时器 数字系统设计实验 课程设计 题目:辩论赛计时器 学生姓名:文超周 李 旭1138019 1138033 班级专业:11级自动化 指导教师:潘秀琴 一(实验名称:辩论赛计时器 二(实验学时:24学时 三(实验目的: 1、深入了解Verilog HDL语言语法。 2、学会独立思考、设计及实现较大规模的数字电路系统。 四(实验要求 实验报告应包含实验目的、实验原理,设计思路,实验程序,实验结果,实验总结。其中具体要求为: 1) 程序实现模块化设计,写出设计思路,认真标注代码注释; 2) 达到正确地运行结果; 3) 实验中出现的问题进行详细总结。 五(实验原理: 本实验中将依照现有辩论赛规则,制作一个简易的计时装置。辩论赛由开篇立论、双方攻辩、攻辩小结、自由辩论和总结陈词五部分组成。 1) 开篇立论、攻辩小结、总结陈词部分需一方发言终止后, 另一方才允许发言。 2) 双方攻辩和自由辩论 中,双方需要交替发言,一方发言 时,本方计时器工作;另一方计时器处于停滞状态。 本实验中要完成倒数计时,状态控制与过渡,文字提示的显示, 按键消抖等功能。系统正常工作时,发光二极管循环闪烁提醒辩手时间的流逝;八段数码管显示剩余时间;发光数码管显示发言者属于哪一方(正方/反方);拨码开关控制是对正方计时,还是对反方计时;按键1控制计时状态;按键2实现计时状态的转换。 六(实验步骤: 1) 根据实验要求作预习报告。 2) 根据实验需求,进行程序的设计。 3) 根据以前设计的经验,反复调试程序。 4) 调试通过,下载到FPGA开发板上进行实践调试。 5) 完成整个过程,写实验报告。 七(实验结果 八(附录: module keshe(clk,stop,zf,C,R,led_seg,led_dig,ledin,zt,ft); input clk,stop,zf,zt,ft;//stop-正方或反方倒计时使能0-有效 zf-选择正方或反方1-选择正方 0-选择反方 zt/ft分别为正方或反方清零 output C,R,led_seg,led_dig,ledin;//设定点阵管脚 C-1亮R-0亮 设定LED显示管脚led_seg-1 亮,led_dig-0亮, reg [5:0]z,f; //z循环控制正方倒计时30-00 f循环控制反方倒计时30-00 reg [0:7]R,ledin; reg [0:15]C; reg [0:7]led_seg,led_dig; reg [4:0]m; reg [2:0]n; //计时器 reg [25:0]i,j; reg tick1,tick2; reg ts; reg [3:0]zs,zg,fs,fg;//正方十位 正方个位 反方十位 反方个位 integer jjjj; always @(posedge clk)//分频 begin if(i==9999999) begin tick1<=~tick1; i<=0; end else i<=i+1; end always @(posedge clk) begin if(j>999) begin tick2<=~tick2; j<=0; end else j<=j+1; end always @(posedge tick1) begin if(zf) begin if(stop==0) //z循环控制正方倒计时30-00 begin if(z==0) begin z<=30;zs<=3;zg<=0;end else begin z<=z-1;zs<=z/10;zg<=z%10;end if(zt) //正方倒计时清零操作 begin z<=30;zs<=0;zg<=0;end end end else begin if(stop==0) //f循环控制反方倒计时30-00 begin if(f==0) begin f<=30;fs<=3;fg<=0;end else begin f<=f-1;fs<=f/10;fg<=f%10;end if(ft) //反方倒计时清零操作 begin f<=30;fs<=0;fg<=0;end end end end always @(posedge tick2) begin case(n) 0:begin led_dig<=8' case(zs) //显示正方十位0-3 0:led_seg<=8' 1:led_seg<=8' 2:led_seg<=8'b1

文档评论(0)

ffxikirin + 关注
实名认证
内容提供者

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

认证主体陈**

1亿VIP精品文档

相关文档

相关课程推荐