实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示

实验四 基于FPGA的数字电子钟设计

实验任务:基于FPGA实验平台完成数字电子钟的设计与调试;

基本功能:能实现秒、分钟、小时的计数,计数结果清晰稳定的显示在6位数码管上。

模块设计

一、经过实验一到三,我们已经设计完成了以下模块的设计(如果有不明白的同学可以看看我专栏的前面的三篇文章哦)
1、模100计数器m100

2、分频器fre_div

3、decoder模块(补段后的)

4、dig_select模块

5、模六计数器cnt6

6、sec_select模块

二、这次实验是要实现数字电子钟的走时功能和加速功能(方便看进位情况)所以还要设计以下的模块。
1、fre_div模块需要改动一下输出1Hz、500Hz、1000Hz、和5000Hz的频率

2、此外还需要模24和模60计数器来表示小时、分钟和秒的进位
模60计数器(co是进位端)

模24计数器

两个计数器都是使用模100计数器改装,到24和60的时候清零得来。
后面清零时的D触发器是为了消除实际电路中的竞争冒险现象。
3、为了控制时钟的速度我们还需要一个spead_select模块
spead_select模块

这个模块用一个swich开关来控制时钟频率,我这里只连了两个,其实可以连更多。

整体设计

下面将上面的所有模块按功能连接起来

fre_div分频器将50MHz的信号转换为四种频率输出
500Hz提供给cnt6和dig_select模块,相当于屏幕刷新率,使6个数码管同时显示
1Hz秒信号先通过速度选择模块,再到模60一号(秒),模60二号(分)和模24计数器(时)
模60一号计满60个时钟信号,进一位给模60二号,相当于过了一分钟,模60二号计满60个相当于过了一小时,模24计数器计满24个进位相当于过了24个小时。
中间的非门是为了使计数器同步清零而加的
最后再将三个计数器的输出数字接到sec_select,使数码管输出相应的数字。
其他的连接和实验三是一样的。

其他功能设计包括闹钟和秒表
https://blog.csdn.net/qq_51222650/article/details/122182216

猜你喜欢

转载自blog.csdn.net/qq_51222650/article/details/121942494
今日推荐