- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
1亿VIP精品文档
相关文档
最近下载
- 最新人教部编版六年级数学上册《【全册】完整版》精品PPT优质课件.pptx
- 教程说明differential games in economics and management kner作者steffen jorgensen10industrial organization oligopoly.pdf VIP
- CRMLCXZLKF001华润万象生活写字楼项目客户关系管理与维护作业指引.docx
- 中国共享衣橱市场发展策略及投资潜力可行性预测报告.pdf
- 2023年江苏省南京市中考化学试卷及解析.docx
- -水利工程工程量清单计价规范1.pdf
- 中国心理学会新版章程.doc
- YD-T 1117-2001全光纤型分支器件技术条件.pdf VIP
- 2023年07月广东佛山市顺德区城乡规划编制信息研究中心公开招聘控员内人员2人笔试历年难易错点考题含答案带详细解析.docx
- 成都文旅集团入职考试试题.pdf
文档评论(0)