EDA 秒表实验报告Word文件下载.docx

上传人:b****4 文档编号:6977922 上传时间:2023-05-07 格式:DOCX 页数:11 大小:563.68KB
下载 相关 举报
EDA 秒表实验报告Word文件下载.docx_第1页
第1页 / 共11页
EDA 秒表实验报告Word文件下载.docx_第2页
第2页 / 共11页
EDA 秒表实验报告Word文件下载.docx_第3页
第3页 / 共11页
EDA 秒表实验报告Word文件下载.docx_第4页
第4页 / 共11页
EDA 秒表实验报告Word文件下载.docx_第5页
第5页 / 共11页
EDA 秒表实验报告Word文件下载.docx_第6页
第6页 / 共11页
EDA 秒表实验报告Word文件下载.docx_第7页
第7页 / 共11页
EDA 秒表实验报告Word文件下载.docx_第8页
第8页 / 共11页
EDA 秒表实验报告Word文件下载.docx_第9页
第9页 / 共11页
EDA 秒表实验报告Word文件下载.docx_第10页
第10页 / 共11页
EDA 秒表实验报告Word文件下载.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA 秒表实验报告Word文件下载.docx

《EDA 秒表实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《EDA 秒表实验报告Word文件下载.docx(11页珍藏版)》请在冰点文库上搜索。

EDA 秒表实验报告Word文件下载.docx

1.实现计时范围为到99-59-99的秒表,超过计时长度,有溢出则自动复位清零;

2.有开始/暂停功能,用于开始/结束计时操作;

3.用6个七段数码管显示计时数;

二.方案论证

方案结构框图如下

美女-

数字式秒表实际上是一个频率(1000HZ)进行计数的计数电路。

由于数字式秒表计数的需要,故需要在电路上加一个控制电路,该控制电路含清零、启动计时、暂停及继续计数等控制功能,同时1000HZ的时间信号必须做到准确稳定。

通常使用石英晶体振荡器电路来产生脉冲。

数字电子钟的总体方框图如图所示。

由图可见,数字秒表由以下几部分组成:

晶体振荡器和分频器组成的秒脉冲发生器;

防抖开关;

秒表控制开关;

一百进制秒、分计数器、六十进制秒计数器;

以及秒、分的译码显示部分等。

三.实验步骤

分模块设计电路,给出关键电路仿真图,电路分析说明等

1.电路分析

.显示译码驱动电路:

将计数器的计数结果(BCD码)通过译码器译成七段显示码并驱动LED数码管显示出来。

数码管显示电路

.控制电路:

根据题目要求,本电子秒表应具有两个按键,其中一个控制秒表的启/停,按一次启动计时,再按一次停止计时。

另一个按键控制清“0”,按下时系统清“0”。

复位电路

按键电路

.分频模块仿真

.控制模块仿真

.计时器仿真

2.源代码

modulewatch(clk,out_wei,out_duan,res,key2);

inputres;

//复位按键

inputclk;

inputkey2;

//控制开始和暂停按键

output[7:

0]out_wei;

//数码管位选

0]out_duan;

//数码管段选

reg[7:

0]out_wei=8'

b;

0]out_duan=8'

reg[4:

0]count;

//数码管位扫描时钟分频

reg[3:

0]count1;

//按键防抖

reg[14:

0]count2;

//主分频

0]sec_l=8'

0]sec_h=8'

0]fen_l=8'

0]fen_h=8'

0]msec_l=8'

0]msec_h=8'

0]s_1=0;

0]s_2=0;

0]s_3=0;

0]s_4=0;

0]s_5=0;

0]s_6=0;

regclk_out;

regpause;

always@(posedgeclk)begin

if(count2==20900)begin

count2<

=0;

clk_out<

=~clk_out;

end

elsecount2<

=count2+1;

always@(posedgeclk_out)begin

count<

=count+1'

b1;

case(count)

3:

begin

out_wei<

=8'

out_duan<

=msec_l;

6:

begin

=msec_h;

end

9:

=sec_l;

12:

=sec_h;

15:

=fen_l;

18:

=fen_h;

20:

count<

endcaseend

always@(negedgekey2)begin

pause<

=~pause;

end

always@(posedgeclk_out)begin

if(res==1)begin

s_1<

s_2<

s_3<

s_4<

s_5<

s_6<

else

if(count1==8)begin

count1<

if(s_6==9)begin

s_6<

if(s_5==9)begin

s_5<

if(s_1==9)begin

s_1<

if(s_2==5)begin

s_2<

if(s_3==9)begin

s_3<

if(s_4==5)

s_4<

elses_4<

=s_4+1;

endelses_3<

=s_3+1;

endelses_2<

=s_2+1;

endelses_1<

=s_1+1;

endelses_5<

=s_5+1;

endelses_6<

=s_6+1;

end

elseif(pause==1)begin

=count1+1;

endend

always@(s_1ors_2ors_3ors_4ors_5ors_6)begin

case(s_1)

0:

sec_l=8'

1:

2:

3:

4:

5:

7:

8:

default:

sec_l=1'

bx;

endcase

case(s_2)

sec_h=8'

sec_h=1'

endcase

case(s_3)

fen_l=8'

fen_l=1'

case(s_4)

fen_h=8'

fen_h=1'

case(s_6)

msec_l=8'

msec_l=1'

case(s_5)

msec_h=8'

msec_h=1'

endmodule

四.实验总结

五.

这次的计时秒表,其实跟100进制的计数器的原理是一样的,只是在时间脉冲上的速度加快,同时点亮6段数码管,让数码管计时依次点亮。

开始做设计时总是会犯一些错误,只有经过不停的改错不停的编译得到正确的程序说明了作为软件编程人员是不能粗心大意的,一个程序的质量的高低与你细心与否有着一定的联系。

在编程时,我充分使用了结构化的思想,这样程序检查起来也比较方便,调试时也给了我很大方便,只要一个模块一个模块的进行调就可以了,充分体现了结构化编程的优势。

在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。

在应用VHDL的过程中让我真正领会到了其并行运行与其他软件顺序执行的差别及其在电路设计上的优越性。

用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法在数字系统设计中发挥越来越重要的作用。

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

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2