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

背景:本实验所有结果基于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、倒计时、

  • 64
    点赞
  • 334
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值