深圳大学——基于basys3开发板的秒表设计及应用

目录

一、总体分析和设计

二、实验过程

2.1 工程建立

2.2 分频器模块

2.3 时钟计数模块

   2.3.1 分秒计数(向上计数)

2.3.2 分秒计数(向下计数)

2.3.3 百分之一计数(向下计数)

2.4 数码管显示模块

   2.4.1 数码管扫描原理

2.4.2 数码管扫描模块算法思路

2.4.3 添加模式选择

三、仿真电路图


摘要:本次秒表设计软件部分使用Xilinx公司的软件编译器Vivado完成,实现有清零、暂停和向下计数功能,并增加一个按键用于轮流切换两个七段数码管分别显示百分之一秒,秒,分钟,通过七段数码管显示秒表功能。硬件部分将功能输入接到BASYS3开发板推拉管的引脚,利用推拉管改变信号状态实现对各功能输入值的控制。其中,分频器模块使用偶分频原理得到100Hz输出;计数器模块分百分之一秒、秒、分钟,三者逻辑一致,将数据高低位分开计数并存储便于后续数码管显示;数显模块设置一个变量选择点亮的数码管同时也通过片选信号选择数据再通过译码电路翻译后送入开发板引脚。

关键词:偶分频、高低位分开计数、串行连接、片选信号。

正文:此次期末大设计实现秒表具有向上计数和向下计数功能,并设置复位、暂停、模式选择显示四种控制,将程序导入basys3开发板,通过开发板验证最后功能。由于设计此秒表功能较多,比较复杂,为使代码逻辑清晰,方便修改。故设计分模块进行并仿真验证,结果符合预期后再将模块整合。我的实验完成可分为以下几个步骤进行:

1.秒表总体框架分析和设计(大致思路设计)

2.程序编写与验证

2.1分频器设计 (偶分频原理)

2.2 秒表计数模块(此模块进行testbench仿真验证正误)

2.2.1 秒钟与分钟计数块 (利用if条件判断,高低位分开计数)

2.2.2百分之一秒计数块

      2.3 数码管显示代码编写(此模块需验证与完善同时进行)

2.3.1 数码管扫描原理

2.3.2 数码管扫描模块算法思路

2.3.3 增加模式选择

      2.4 导板约束文件编写 (此部分较易,按照教程即可)

   3.导板验证功能并修改完善代码 (根据导板情况分析原因修改)

一、总体分析和设计

<

你可能感兴趣的:(vivado,单片机,嵌入式硬件,fpga开发)