FPGA-50秒倒计时的实现(特权XILINX spartan-6开发板)

工具 ISE14.7

通过时间分频在4位7段数码管中显示2个数字,给人眼一个错觉是同时显示出两个数字。

实验原理是轮流向各位数码管送出字形码和相应的位选信 ,利用数码管闪烁的余晖和人眼视觉的暂留作用,使人感觉像各位管同时在显示

就像单片机数码管的思想一样:这里也要做相同的事情。

单片机步骤如下:

动态显示:

1)位选数码管;  2)段选数码管; 3)延时

这样的代码实现流水显示,如果延时时间够短肉眼难以分辨;则可以实现几位数据的同时显示;

同理到FPGA中也是这样,不过要考虑用不同的模块实现这个功能

EG 两位数码管显示:

单片机中延时用个delay就可以实现,但是这里的延时要用一个计数器来模拟延时的状态

1.0)段选选择数码管显示的数值

1.1)因为这里我代码中值用了4个位来显示当前的数据(数据位宽为4)所以要在不同的时间选择当前显示的值

2)位选选择数码管的位数

3)延时(保证动态显示肉眼分辨不出)

代码如下:

数码管显示模块定义好了就要想如何实现倒计时的完成

这里的设计思路是 

                                                              顶层设计模块

分频器模块  –>      计数器模块 —–>     数码管显示模块

输入复位信 和系统时钟

1)分频器输入25MHz输出1Hz

2)IHz时钟信 传给计数器模块用于计数

3)计数的值在数码管显示

输出数码管的段选和位选

和蜂鸣器(计时完成标志位)

代码如下:

1,.TOP.v

2.div.v

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年9月16日
下一篇 2018年9月16日

相关推荐