(好长时间没学习了,写篇文章来开始我的学习模式,找一下状态)
进入正题
简介:
本文主要介绍如何用VHDL设计一个时钟(可以产生时分秒的信号),然后用数码管显示出时分秒。
实验器材: FPGA开发板、板载6位数码管(共阳极)
设计思路
设计两个模块,一个模块负责产生时分秒的信号,另一个模块负责驱动数码管显示出时分秒的时间。然后在顶层模块中把两个模块的输入输出进行例化。(本文只给出底层模块的VHDL程序,顶层模块进行例化就可以了)
原理介绍
时钟:通过计数FPGA开发板自带的40MHZ时钟的脉冲个数来产生秒数。得到秒数之后就可以得到分钟数,小时数。(计算可得40,000,000个脉冲大概为1秒)
数码管:数码管需要实现动态显示(各位数码管可以“同时”显示不同的数字)。实现方法就是驱动第一位显示要显示的数字,几毫秒过后在驱动第二位显示要显示的数字,几毫秒后再驱动第三位显示要显示的数字,,,一直到第六位。然后不断循环显示。这样人眼看到的效果就是同时显示了不同的数字。
VHDL程序
时钟
library i