数字系统课程设计_辩论赛计时器.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  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文档。上传文档
查看更多
数字系统设计实验 课程设计 题目:辩论赛计时器 学生姓名:文超周 李 旭1138019 1138033 班级专业:11级自动化 指导教师:潘秀琴 实验名称:辩论赛计时器 实验学时:24学时 实验目的: 1、深入了解Verilog HDL语言语法。 学会独立思考、设计及实现较大规模的数字电路系统。 实验要求 实验报告应包含实验目的、实验原理,设计思路,实验程序,实验结果,实验总结。其中具体要求为: 程序实现模块化设计,写出设计思路,认真标注代码注释; 达到正确地运行结果; 实验中出现的问题进行详细总结。 实验原理: 本实验中将依照现有辩论赛规则,制作一个简易的计时装置。辩论赛由开篇立论、双方攻辩、攻辩小结、自由辩论和总结陈词五部分组成。 开篇立论、攻辩小结、总结陈词部分需一方发言终止后,另一方才允许发言。 双方攻辩和自由辩论 中,双方需要交替发言,一方发言时,本方计时器工作;另一方计时器处于停滞状态。 本实验中要完成倒数计时,状态控制与过渡,文字提示的显示,按键消抖等功能。系统正常工作时,发光二极管循环闪烁提醒辩手时间的流逝;八段数码管显示剩余时间;发光数码管显示发言者属于哪一方(正方/反方);拨码开关控制是对正方计时,还是对反方计时;按键1控制计时状态;按键2实现计时状态的转换。 实验步骤: 根据实验要求作预习报告。 根据实验需求,进行程序的设计。 根据以前设计的经验,反复调试程序。 调试通过,下载到FPGA开发板上进行实践调试。 完成整个过程,写实验报告。 实验结果 附录: 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(j999) 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)

文档评论(0)

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

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

1亿VIP精品文档

相关文档