基于FPGA的数字电子钟的设计与实现 您所在的位置:网站首页 基于fpga的数码管显示程序 基于FPGA的数字电子钟的设计与实现

基于FPGA的数字电子钟的设计与实现

2023-08-25 16:42| 来源: 网络整理| 查看: 265

背景:本实验所有结果基于Quartus II 13.1 (64-bit)实现,实验过程采用自下而上

2020年6月21日更新

我的实验报告,希望大家可以借鉴理解。

链接:https://pan.baidu.com/s/1Hp_wdcR7Ad642M920Cq2BQ?pwd=dijs  提取码:dijs

大家有什么不懂的可以评论。

目录

一、基本功能设计与思路

1、动态显示模块

扫描模块 scan_cnt6

 位选模块 dig_select

 数据选择模块 seg_select

译码模块 decoder

2、计时模块

小时计时模块(模24计数) m24

三、分频模块

二、附加功能

1、暂停计数 suspend

 2、补全6,9

3、控制时钟频率(必做)

 4、加杠

一、基本功能设计与思路

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

1、动态显示模块

该模块主要功能是通过数码管的动态扫描实现 6 位数码管显示计数结果,本模块由扫描模块 scan_cnt6,位选控制模块 dig_select,数据选择控制模块 seg_select 以及译码模块 decoder 构成

扫描模块 scan_cnt6

模块功能:产生 位选控制端dig_select 和数据选择端 code_select 模块所需要的地址信息,扫描时钟决定位选信号和数据切换的速度。

设计思路:利用74390芯片(P160 TTL 双十进制异步计数器)构建一个模六计数器,就是6进制计数器,利用计数到6(110)时,“q2”和“q1”为高电平,产生 一个复位信号,加到74390的高电平有效的异步清0端“1CLR”上,使计数器回0,从而实现模六计数。

设计结果:

cnt6模块设计图

 波形仿真:(默认为时序仿真)

cnt6模块波形仿真图  位选模块 dig_select

模块功能:在地址端的控制下,产生位选信号。

设计思路:利用74138芯片(3线-8线译码器),当选通端输入端G1为高电平,选通端输入端G2AN和G2BN为低电平时,将扫描信号cnt6的输出作为输入信号,dig[5..0]是译码输出,输出低电平有效。

设计结果:

dig_select模块设计图

 波形仿真:

dig_select模块波形仿真图  数据选择模块 seg_select

模块功能:输入 6 组数据,每组数据 4bit,本模块完成在地址端的控制下从6 组数据当中选择 1 组输出。

设计思路:利用74151芯片(P91 8选1数据选择器),在控制输入端GN为低电平时,将扫描信号的选择下,分别选中D[5..0]对应的输入信号输出为Y。

设计结果:

seg_select模块设计图

 波形仿真:

译码模块 decoder

模块功能:本模块实现将从 seg_select 模块送过来的 4 位 BCD 码转换为共阴数码 管的段码数据。

设计思路:利用7448芯片(P86 显示译码器),在

设计结果:(已补全)

decoder模块设计图

 波形仿真:

decoder模块波形仿真图 动态显示模块 display

2、计时模块 小时计时模块(模24计数) m24

模块功能:实现24小时计数

设计思路:

设计结果:

波形仿真:

分、秒计时模块(模60计数)m60

模块功能:实现60分钟和60秒计数

设计思路:

设计结果:

波形仿真:

三、分频模块

 模块功能:将实验平台晶体振荡器提供的 50MHz 时钟信号分频,输出 500Hz,1KHz 及 1Hz 三种信号备用

设计思路:

设计结果:

 

波形仿真:

四、系统顶层 

 设计思路:

设计结果:(这里已经实现暂停和控制时钟频率)

二、附加功能 1、暂停计数 suspend

模块功能:sw_1控制下计数的暂停

设计结果:

 2、补全6,9

如上面的decoder模块,不再重复

3、控制时钟频率(必做)

模块功能:sw_0控制下选择计数频率是1hz还是500hz

设计结果:

 4、加杠

模块功能:在不同位值间加上一条横杆表示分割

设计思路:这里将之前的cnt6要改为cnt8,因为现在要去控制8位数据管,要实现8位循环。然后是去选择怎么实现段端只有一个杠,也就是只有QG为高电平。为了后续操作尽量的简单,选择当输入为“1100”时,去处理QB和QF,使得当输入“1100”时,QB和QF恒为低电平,而在其他时刻QB和QF没有影响。这里处理的方法和“补全6,9”基本一致。

ps:这里选择输入“1011”和“1010”和上面处理类似。大家可以自己尝试。

设计结果:由于想尽量减少封装文件,所以这里display文件尽可能多的去实现功能,所以导致整体观感并不完美。

暂停、清零、补全6,9、加杠、秒表、整点报时、闹钟、手动校时、符号cqupt、倒计时、



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有