【紫光同创盘古PGX-Lite 7K教程】——(盘古PGX-Lite 7K开发板/PGC7KD-6IMBG256第七章)数字钟实验例程

ops/2024/9/23 10:51:01/

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com)


适用于板卡型号:

紫光同创PGC7KD-6IMBG256开发平台(盘古PGX-Lite 7K)

仅需一根TypcC线,插上即用,轻松操作。兼容下载器的一体版,配套资料丰富, 快速掌握国产FPGA!

一:盘古PGX-Lite 7K开发板简介

PGX-Lite 7K 开发板是一套基于紫光同创 compa 系列 PGC7KD-6IMBG256 芯片为核心的开 发套件,支持主自加载双启动功能,集成板载 jtag 调试接口,支持 Type-C 转串口通信,同 时预留非常丰富的扩展 IO、数码管、按键、led 灯等硬件资源,在提供用户基础的硬件环境 基础上,满足用户更加灵活的需求。

 

 

 二:实验目的

设计一个具有计时功能和校时功能的数字时钟。

三:实验要求

数码管显示小时和分钟,秒钟用 LED 闪烁标识。

三个按键用于时钟校准。

K0 用于切换正常计时,校准小时和分钟

K1 用于时钟的“+”

K2 用于时钟的“-” 校准相应的刻度,该数码管闪烁。

四:实验原理

从上述的实验要求分析可得到此数字钟我们实现过程中要注意两个功能点:

1、计时显示功能:LED 闪烁显示秒钟读秒,数码管右侧两位显示分钟计时,

数码管左侧两位显示时钟计时;

此功能的实现由两个细节功能实现:1S 计时控制,与前面的实验中需要 计时功能模块实现方式一致,注意此处计时的周期为 1S 即可;计时过程中进 位控制;进位控制有四处需要进位:

2、计时校准功能:通过对应按键控制调整分钟计时与时钟计时,调整的过程中对应位需要闪烁; 此项功能中注意两点:调整对应位,数码管该位进行闪烁;调整时注意进位;

基于上述分析我们将项目分成两个部分:

1. 时钟计时与控制。

2. 数码管显示控制。 

五:实验源码(完整源码查看 demo 源文件) 

顶层设计

输入输出信号如下表:

 

 

 

 

 

 

 

 

数字时钟产生与控制模块设计

在此模块中我们要实现前面描述的两个主要的功能点:计时与控制;

输入输出信号如下表: 

Module 设计的关键点如下(完整 module 查看源文件):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

时钟分频模块 

 

数码管显示模块设计 

数码管显示模块相比前一个实验需要增加一个功能:当进入校准模式时数码 管的校准位需要进行闪烁,故而引入一个 1S 的周期信号,在 1S 时间内 0.5s 正 常点亮,0.5s 不点亮使得数码管闪烁;闪烁对应位需要引入按键控制输出的 dig_ctl 信号(前面代码中有描述);

闪烁控制的模块设计如下:

 

六:实验现象 

加载后的显示结果为:数码管显示从 00:00 开始,LED1 闪烁(1 次/s);

按轻触按键 KEY0,进入校准模式,第一次按下 KEY1,进入分钟低位计数 校准调节,之后再次按下 KEY0,校准位将会往左移动 1 位,直到校准位为时钟 计数高位时,按下 KEY0 将推出校准模式,进入正常计数模式;

在校准模式中按下轻触按键 KEY1 一次,对应校准位加 1,在可计数的最大 值时会归 0;

在校准模式中按下轻触按键 KEY2 一次,对应校准位减 1,在减到 0 时会置 位为可计数的最大值;


http://www.ppmy.cn/ops/21240.html

相关文章

成为程序员后我们都明白了什么?

成为程序员后我们都明白了什么? 作为一名程序员,我获得了很多收获和体会。首先,我发现编程是一项极具挑战性和创造性的工作,让我可以不断学习和成长。通过解决问题和构建应用程序,我可以看到自己的成果,这…

防火墙技术基础篇:认识安全策略、安全区域、域间转发及报文转发流程

防火墙技术基础篇:认识安全策略、安全区域、域间转发及报文转发流程 一、安全策略匹配机制 简单通俗的讲,防火墙设备最基本的用途就是定义数据如何转发,靠什么定义呢?最基本的就是安全策略,当流量来到防火墙之后首先…

【Linux】MySQL的安装及配置(Ubuntu-18.04)

一、安装MySQL 分别安装MySQL服务器、MySQL客户端、C/C开发库 sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev 二、配置MySQL 1.查看默认配置文件,此处的user和password为默认提供的,…

什么是vue,vue怎样使用?

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面&#xff0…

设计模式:单例、原型和生成器

在这篇文章中,我们将重点介绍其余的创建模式:Singleton,Builder和Prototype。 在我看来,这些模式不如工厂重要。然而,了解它们仍然很有用。我将提供UML描述,简单的java示例(这样即使你不了解jav…

unittest自动化测试框架讲解以及实战

为什么要学习unittest 按照测试阶段来划分,可以将测试分为单元测试、集成测试、系统测试和验收测试。单元测试是指对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,通常指函数或者类,一般是开发完成的。 单元…

Ubuntu-22.04.4安装问题

查看linux版本 uname -a5.15.0-71-generic #78-Ubuntu SMP Tue Apr 18 09:00:29 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux5.15.0-71-generic 内核版本#78-Ubuntu SMP Tue Apr 18 09:00:29 UTC 2023 编译内核时间x86_64 x86_64 x86_64 GNU/Linux安装 默认安装ssh 可选默认安装…

web题目实操 5(备份文件和关于MD5($pass,true)注入的学习)

1.[ACTF2020 新生赛]BackupFile (1)打开页面后根据提示是备份文件 (2)查看源码发现啥都没有 (3)这里啊直接用工具扫描,可以扫描到一个文件名为:/index.php.bak的文件 (…