- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)
您可能关注的文档
- 最新外研版九上m3u2.ppt
- 自动087___Miracle.ppt
- 英语演讲Global Citizenship begins at home-----helping those children.ppt
- 英语8 Unit5 Wonders of Oue Body.ppt
- 新外研版三年级英语第六模块 Unit1 Happy-birthday课件.ppt
- 新目标英语八年级下,unit6 Section A 1a-2d.ppt
- 新课标2013版-Unit7-Will-people-have-robots?.ppt
- 新概念英语第一册Lesson 123-124.ppt
- 新概念青少版3Bunit 16.ppt
- 新版七年级下(新目标)课件 Unit 12 What did you do last week Section A.ppt
文档评论(0)