辩论赛计时器Word文档下载推荐.docx

上传人:b****6 文档编号:19545683 上传时间:2023-01-07 格式:DOCX 页数:18 大小:5.78MB
下载 相关 举报
辩论赛计时器Word文档下载推荐.docx_第1页
第1页 / 共18页
辩论赛计时器Word文档下载推荐.docx_第2页
第2页 / 共18页
辩论赛计时器Word文档下载推荐.docx_第3页
第3页 / 共18页
辩论赛计时器Word文档下载推荐.docx_第4页
第4页 / 共18页
辩论赛计时器Word文档下载推荐.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

辩论赛计时器Word文档下载推荐.docx

《辩论赛计时器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《辩论赛计时器Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。

辩论赛计时器Word文档下载推荐.docx

任务书下达日期 

2013年5月01日

设计完成日期 

2013年5月22日

目录

1、设计内容.............................................................................3

2、设计要求.............................................................................3

3、设计思路............................................................................3

4、安装、调试步骤................................3

5、问题分析与设计改进...........................7

6、设计结果、总结与设计调试体会.......................................8

7、附录.........................................10

八、参考文献.........................................................................17

1.设计内容

依照现有辩论赛规则,设计制作一个简易的计时装置。

2.设计要求

根据实验要求作预习报告。

根据实验需求,进行程序的设计。

根据以前设计的经验,反复调试程序。

调试通过,下载到FPGA开发板上进行实践调试。

完成整个过程,写实验报告。

3.设计思路

1.了解辩论赛流程及原则

辩论赛由开篇立论、双方攻辩、攻辩小结、自由辩论和总结陈词五部分组成。

1.1开篇立论、攻辩小结、总结陈词部分需一方发言终止后,另一方才允许发言。

1.2双方攻辩和自由辩论中,双方需要交替发言,一方发言时,本方计时器工作;

另一方计时器处于停滞状态。

2.程序实现模块化设计,由简单到困难循序渐进。

本实验中要完成倒数计时,状态控制与过渡,文字提示的显示,按键消抖等功能。

系统正常工作时,发光二极管循环闪烁提醒辩手时间的流逝;

八段数码管显示剩余时间;

发光数码管显示发言者属于哪一方(正方/反方);

拨码开关控制是对正方计时,还是对反方计时;

按键1控制计时状态;

按键2实现计时状态的转换。

具体模块设计参照附录中代码设计。

4.安装、调试步骤

3.1.根据实验要求作预习;

3.2.建立工程,设计程序:

1)新建工程;

2)新建verilogHDL文件(注:

文件名和模块名称要和工程名保持一致)。

3)调试程序:

见实验附录

3.3.配置管脚:

参照实验指导中的管脚图,配置管脚。

3.4.下载到开发板,观察实验结果,尝试创造自己的实验方案:

3.5.完成实验报告。

5.问题分析与设计改进

设计中我们用16*8点阵显示“正方”和“反方”,但在分频的时钟tick2下反复调试不能实现闪烁。

其实是我们肉眼观测不出来,因此在此时钟下有设计了一个计时器间接实现分频

于是得到了预想的结果

六、设计结果、总结与设计调试体会

1.设计结果:

经过反复的调整与调试我们得到了如下的结果

2.总结与设计调试体会:

本次课程所设计的辩论赛计时器。

通过这次课程设计让我们了解和学习了更多关于数字系统设计的知识,为今后的学习打下了坚实的基础。

在试验中,我们也遇到了不少困难,但通过查找资料、和学长同学交流最终解决了问题,每当解决一个问题都会很高兴和成就感,又学到了很多东西。

也在课程设计中找到许多乐趣,从学习中寻求快乐。

7.附录(代码)

modulekeshe(clk,stop,zf,C,R,led_seg,led_dig,ledin,zt,ft);

inputclk,stop,zf,zt,ft;

//stop-正方或反方倒计时使能0-有效zf-选择正方或反方1-选择正方0-选择反方zt/ft分别为正方或反方清零

outputC,R,led_seg,led_dig,ledin;

//设定点阵管脚C-1亮R-0亮设定LED显示管脚led_seg-1亮,led_dig-0亮,

reg[5:

0]z,f;

//z循环控制正方倒计时30-00f循环控制反方倒计时30-00

reg[0:

7]R,ledin;

15]C;

7]led_seg,led_dig;

reg[4:

0]m;

reg[2:

0]n;

//计时器

reg[25:

0]i,j;

regtick1,tick2;

regts;

reg[3:

0]zs,zg,fs,fg;

//正方十位正方个位反方十位反方个位

integerjjjj;

always@(posedgeclk)//分频

begin

if(i==9999999)

begin

tick1<

=~tick1;

i<

=0;

end

else

i<

=i+1;

end

always@(posedgeclk)

if(j>

999)

tick2<

=~tick2;

j<

j<

=j+1;

always@(posedgetick1)

if(zf)

if(stop==0)//z循环控制正方倒计时30-00

if(z==0)

beginz<

=30;

zs<

=3;

zg<

else

beginz<

=z-1;

=z/10;

=z%10;

if(zt)//正方倒计时清零操作

end

if(stop==0)//f循环控制反方倒计时30-00

if(f==0)

beginf<

fs<

fg<

beginf<

=f-1;

=f/10;

=f%10;

if(ft)//反方倒计时清零操作

always@(posedgetick2)

begin

case(n)

0:

led_dig<

=8'

b11011111;

case(zs)//显示正方十位0-3

led_seg<

b11111100;

1:

b01100000;

2:

b11011010;

3:

b11110010;

4:

b01100110;

5:

b10110110;

6:

b10111110;

endcase

end

1:

b11101111;

case(zg)//显示正方个位0-9

7:

b11100000;

8:

b11111110;

9:

b11110110;

2:

b11111101;

case(fs)//显示反方十位0-3

3:

case(fg)//显示反方个位0-9

endcase

if(n==4)

n<

n<

=n+1;

if(zf&

&

z>

5)//显示正方

begin

case(m)

0:

beginC=16'

b0001000000000000;

R=8'

b01111111;

1:

b0000100001111110;

b10111111;

2:

b0111111100001000;

3:

b0000100000101000;

4:

b0001111000101110;

b11110111;

5:

b0010001000101000;

b11111011;

6:

b0100001000101000;

7:

b1000011011111111;

if(m==7)

m<

m<

=m+1;

elseif(zf==0&

f>

5)//显示反方

b0001000001111110;

b0000100001000000;

b0111111101111110;

b0000100001100010;

b0001111001010100;

b0010001001001000;

b0100001001010100;

b1000011001000011;

if(m==7)

elseif(zf==1&

z<

6)//正方闪烁

if(jjjj<

20000)

begin

jjjj<

=jjjj+1;

end

10000)

case(m)

0:

1:

2:

3:

4:

5:

6:

7:

endcase

m<

C=16'

b00000000000000000;

b00000000;

f<

6)//反方闪烁

9999)

end

begin

ledin=8'

b00001111;

if(zs==0&

zg<

=5)

case(ts)

0:

beginledin=8'

1:

b11110000;

if(fs==0&

fg<

ts<

=ts+1;

if(ts==1)

endmodule

八、参考文献

[1]周润景.基于QuartusII的FPGA/CPLD数字系统设计实例(第2版)[M].电子工业出版社(2013-01出版)

[2]夏宇闻.verilog数字系统设计教程(第2版)[M].北京航空航天大学出版社,2008.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1