FPGA之旅设计99例之第七例-----综合数字时钟

简介: 笔记

一. 简介


在学习了前面几例之后,就可以做一个小设计啦,本次分享的是数字时钟,也是在课设中经常出现的题目,虽然难度系数系数不大,但可以很好的锻炼一下综合能力,特别是对于刚刚接触FPGA的小伙伴来说。


演示视频.


二. 所需硬件


所使用到的硬件极少,一般开发板上都带了。


六个动态数码管 : 用来显示时间

按键 :用来控制


三. 功能介绍


时-分-秒显示,为24小时制

通过按键可以动态调整时间

通过按键可以动态选择要调整的时间,对应的数码管闪烁

按键消抖

将前面的几个案例都结和起来了(没有包括uart和iic)。


四. 核心代码介绍


1.RTL图

本代码项目一共由三个模块核心模块组成

4.png

时钟控制模块 : 通过接收外部按键的输入,来设置当前项目的显示模式

时钟模块 : 生成时分秒三个数据

数码管显示模块: 接收时钟模块提供的数据,驱动数码管的显示

2.数码管选中闪烁

twinkle_en为亮或者暗使能信号,select是否选择当前数码管

通过代码可以看到twinkle_en为1的时候,并且select选中了当前数码管的时候,数码管为暗,其他时候都为亮。

这样当select不变的情况下,通过修改twinkle_en切换的频率,就可以实现数码管选中闪烁的例子了。


if( twinkle_en == 1'b0)
  smg_sel_reg <= 6'b111_110;
else if( twinkle_en == 1'b1  && select == 'd0)
  smg_sel_reg <= 6'b111_111;  
else
  smg_sel_reg <=6'b111_110;


分离时分秒数据

时分秒每个数据都需要用到两个数码管进行显示,这样就需要分离出数据的高位和地位,通过如下方法可以快速获取。

assign data0 = sec_data %10;  //地位
assign data1 = (sec_data  > 'd49) ? 'd5 : (sec_data > 'd39)  ?'d4 :
     (sec_data > 'd29) ?'d3  : (sec_data > 'd19) ? 'd2:
     (sec_data > 'd9) ? 'd1 :'d0; //高位
//方法二,获取高位
assign data1 = ((sec_data - data0 )/10)%10;


至此核心代码就介绍完成了。

需要可以gzh回复 FPGA之旅设计99例之第七例 获取下载链接

公众号:FPGA之旅

目录
相关文章
|
7月前
|
缓存 监控 异构计算
|
异构计算
|
异构计算
FPGA单比特信号跨时钟域处理
FPGA单比特信号跨时钟域处理
170 0
FPGA单比特信号跨时钟域处理
|
存储 Java 异构计算
FPGA - 7系列 FPGA内部结构之Clocking -01- 时钟架构概述(二)
FPGA - 7系列 FPGA内部结构之Clocking -01- 时钟架构概述
722 0
FPGA - 7系列 FPGA内部结构之Clocking -01- 时钟架构概述(二)
|
存储 数据可视化 芯片
FPGA - 7系列 FPGA内部结构之Clocking -01- 时钟架构概述(一)
FPGA - 7系列 FPGA内部结构之Clocking -01- 时钟架构概述
678 0
FPGA - 7系列 FPGA内部结构之Clocking -01- 时钟架构概述(一)
|
芯片
FPGA-使用RTC时钟芯片进行时钟读取(数码管显示)
FPGA-使用RTC时钟芯片进行时钟读取(数码管显示)
300 0
FPGA-使用RTC时钟芯片进行时钟读取(数码管显示)
|
芯片 数据格式 异构计算
音频DA转换芯片CS4334及基于FPGA的时钟配置
音频DA转换芯片CS4334及基于FPGA的时钟配置
音频DA转换芯片CS4334及基于FPGA的时钟配置
|
异构计算
FPGA期末项目 | 数字时钟
戳这里下载整个项目包(已上传到CSDN资源库) 一、实验设备 FPGA开发平台、计算机、其它外接器件 二、需求分析(选题的意义、功能要求等。。。这里有点水,小伙伴们可以选择性跳过) 选题的意义:个人认为本项目(《数字时钟》)的选题意义有二,其一,...
1192 0
|
12天前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的16QAM调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本项目基于FPGA实现了16QAM基带通信系统,包括调制、信道仿真、解调及误码率统计模块。通过Vivado2019.2仿真,设置不同SNR(如8dB、12dB),验证了软解调相较于传统16QAM系统的优越性,误码率显著降低。系统采用Verilog语言编写,详细介绍了16QAM软解调的原理及实现步骤,适用于高性能数据传输场景。
111 69
|
16天前
|
移动开发 算法 数据安全/隐私保护
基于FPGA的QPSK调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的QPSK调制解调系统,通过Vivado 2019.2进行仿真,展示了在不同信噪比(SNR=1dB, 5dB, 10dB)下的仿真效果。与普通QPSK系统相比,该系统的软解调技术显著降低了误码率。文章还详细阐述了QPSK调制的基本原理、信号采样、判决、解调及软解调的实现过程,并提供了Verilog核心程序代码。
53 26

热门文章

最新文章

下一篇
DataWorks