当前位置: 首页 > article >正文

TQTT_KU5P开发板教程---实现流水灯

文档实现功能介绍

本文档是学习本开发板的基础,通过设置计数器使led0到led7依次闪烁,让用户初步认识vivado基本的开发流程以及熟悉项目的创建。本开发板的所有教程所使用的软件都是vivado2024.1版本的。可以根据网上的教程下载与安装。

硬件资源

此次教程使用了8个LED灯,如图1-1所示

图1-1  LED实物图

由原理图可知,此开发板的LED灯为高电平点亮,如图1-2所示

图1-2  LED原理图

创建项目工程

首先打开软件,如图1-3所示

图1-3

再创建一个新的工程,点击Create Project,如图1-4所示

图1-4

点击next,如图1-5所示

图1-5

修改项目名称为:led_shift

选择你想要将此项目存放的一个位置(路径不能有中文),如图1-6所示

图1-6

此页默认选项直接next,如图1-7所示

如图1-7

这是选择项目文件,分别是添加文件,添加目录,创建文件,此次教程先熟悉项目设计过程所以此次直接next。如图1-8所示

图1-8

添加或者创建约束文件,此页面也是跳过直接next,如图1-9所示

图1-9

选择芯片型号,开发板芯片型号为xcku5p-ffvb676-2-i,之后选择该型号芯片点击next。如图1-10所示

图1-10

  1. 直接finish,项目就创建完成了。如图1-11所示

图1-11

添加设计文件

点击Add Sources或者 +都可以添加设计文件,如图1-12所示

图1-12

第一个是引脚约束文件,第二个是设计文件,第三个是仿真文件,我们这里选择设计文件,如图1-13所示

图1-13

点击创建文件(Create File) --> 输入文件名:led_shift --> 点击OK --> 点击finish,如图1-14所示

图1-14

在输入模块名称:led_shift之后在点OK,创建设计文件完成。

此页面是确定模块名称以及输入输出接口,但是一般情况下不在此处设置输入输出接口,都在代码中设置。如图1-15所示

图1-15

查看创建的设计文件,打开Hierarchy窗口 --> 双击Design Sources --> 打开led_shift创建的设计文件,如图1-16所示

图1-16

将下列代码写入led_shift中

module led_shift#(parameter CNT_MAX = 49_999_999)(input       clk  ,output reg   [7:0]  led);
reg [31:0] cntr ; wire cntr_end = cntr == CNT_MAX ; 
always@(posedge clk )   cntr <= ( cntr_end ) ?0:(cntr+1) ;
reg [2:0]sec_cntr ;always@(posedge clk ) if (cntr_end)sec_cntr<= sec_cntr+1; 
always@(posedge clk ) led <= 1 <<sec_cntr;
endmodule

创建引脚约束文件

点击 + ,如图1-17所示

图1-17

选择引脚约束文件 --> 点next,如图1-18所示

图1-18

选择创建文件 --> 输入文件名称 --> 点OK --> 点finish引脚约束文件就创建完成了,如图1-19所示

图1-19

查看引脚约束文件

点Hierarchy --> 双击Constraints --> 双击constrs --> 双击pin.xdc就打开引脚约束文件,如图1-20所示

图1-20

在根据原理图绑定引脚,如图1-21所示

图1-21     部分原理图

电压大小,根据原理图可得知+ADJ的电压为1.8V,如图1-22所示

图1-22

绑定芯片引脚约束,再打开pin.xdc之后将下列代码放到其中,之后引脚约束就绑定成功

set_property  -dict {PACKAGE_PIN  e18  IOSTANDARD LVCMOS18} [get_ports clk ] ; 
set_property  -dict {PACKAGE_PIN  d18  IOSTANDARD LVCMOS18} [get_ports led[0] ] ; 
set_property  -dict {PACKAGE_PIN  e17  IOSTANDARD LVCMOS18} [get_ports led[1] ] ; 
set_property  -dict {PACKAGE_PIN  b16  IOSTANDARD LVCMOS18} [get_ports led[2] ] ; 
set_property  -dict {PACKAGE_PIN  d15  IOSTANDARD LVCMOS18} [get_ports led[3] ] ;  
set_property  -dict {PACKAGE_PIN  e16  IOSTANDARD LVCMOS18} [get_ports led[4] ] ; 
set_property  -dict {PACKAGE_PIN  g15  IOSTANDARD LVCMOS18} [get_ports led[6] ] ; 
set_property  -dict {PACKAGE_PIN  e22  IOSTANDARD LVCMOS18} [get_ports led[7] ] ; 

生成bit流文件

点Generate Bitstream --> 点ok,如图1-23所示

图1-23

当出现该界面时就代表代码没有错误且bit流成功生成。点cancel关闭界面,如图1-24所示

图1-24

烧写bit流

连接开发板电源和串口并开启电源开关,如图1-25所示

图1-25

双击Open Hardware Manager --> 点Open target --> 点auto connect,如图1-26所示

图1-26

当设备识别成功时显示如下图所示然后点program device -->  点program,如图1-27所示

图1-27

当烧写上之后led灯会从led0到led7依次闪烁

        本文档所使用的例程与代码都在以下链接中

通过网盘分享的文件:led_shift.rar
链接: https://pan.baidu.com/s/1kX0pu-VFcNQLbq4z23E9mw 提取码: sprq 

相关文章:

TQTT_KU5P开发板教程---实现流水灯

文档实现功能介绍 本文档是学习本开发板的基础&#xff0c;通过设置计数器使led0到led7依次闪烁&#xff0c;让用户初步认识vivado基本的开发流程以及熟悉项目的创建。本开发板的所有教程所使用的软件都是vivado2024.1版本的。可以根据网上的教程下载与安装。 硬件资源 此次教程…...

Model Context Protocol(MCP)模型上下文协议

Model Context Protocol&#xff08;MCP&#xff09;模型上下文协议 前言一、什么是MCP二、MCP的作用三、MCP与Function call对比四、构建一个简单的MCP DEMO环境准备实现MCP Server运行 ServerMCP Client端配置验证 总结 前言 在Agent时代&#xff0c;将Agent确立为大模型未来…...

第十二章:FreeRTOS多任务创建与删除

FreeRTOS多任务创建与删除教程 概述 本教程介绍FreeRTOS多任务的创建与删除方法&#xff0c;主要涉及两个核心函数&#xff1a; 任务创建&#xff1a;xTaskCreate()任务删除&#xff1a;vTaskDelete() 实践步骤 1. 准备工程文件 复制005工程并重命名为006 2. 创建多个任务…...

Seed-Thinking-v1.5:字节豆包新推理模型发布,200B参数战胜Deepseek

摘要 本文引入了Seed-Thinking-v1.5&#xff0c;能够在响应之前通过思考进行推理&#xff0c;从而提高了各种基准测试的性能。Seed-Thinking-v1.5在AIME 2024上获得86.7分&#xff0c;在Codeforces上获得55.0分&#xff0c;在GPQA上获得77.3分&#xff0c;展示了优秀的STEM和编…...

C#.NET模拟用户点击按钮button1.PerformClick自动化测试

PerformClick英文词是什么意思,几个词组成 PerformClick 是一个由两个英文单词组成的合成词&#xff0c;下面为你分别解释每个部分的含义以及整个词在编程语境中的意义&#xff1a; 单个单词含义 Perform&#xff1a;它是一个动词&#xff0c;读音为 /pəˈfɔːm/&#xff…...

微服务之间调用外键“翻译”的方法概述

写在前面的话&#xff1a;减少strean流操作&#xff0c;减少多层嵌套for循环。使用普通for循环和map的方式进行转换&#xff0c; 第一步查询数据 List<Student> findList studentDao.findList(findMap); 第二步准备遍历和赋值 if(CollectionUtil.isNotEmpty(findLis…...

AIDD-人工智能药物设计-提升分子预测反事实解释可靠性

UQ 过滤:提升分子预测反事实解释可靠性 目录 I-INF 指标结合 F1 评分,为评估大分子复合物(包括 RNA-蛋白质)的界面相互作用网络提供了可靠且全面的新方法。通过使用生成的人工 CAR 序列微调蛋白质语言模型(PLM),显著提高了 CAR-T 细胞活性的预测准确性,有效克服了合成蛋…...

软件界面设计:打造用户喜爱的交互体验

在数字化飞速发展的当下&#xff0c;软件已渗透进生活的各个角落&#xff0c;从日常使用的社交、购物软件&#xff0c;到专业领域的办公、设计软件&#xff0c;其重要性不言而喻。而软件界面作为用户与软件交互的桥梁&#xff0c;直接决定了用户对软件的第一印象与使用体验。出…...

【前端】webpack一本通

今日更新完毕&#xff0c;不定期补充&#xff0c;建议关注收藏点赞。 目录 简介使用webpack默认只能处理js文件 ->引入加载器对JS语法降级&#xff0c;兼容低版本语法合并文件再次打包进阶 工作原理html-webpack-plugin插件webpack开发服务器引入使用webpack-dev-server模块…...

代码学习总结(一)

代码学习总结&#xff08;一&#xff09; 这个系列的博客是记录下自己学习代码的历程&#xff0c;有来自平台上的&#xff0c;有来自笔试题回忆的&#xff0c;主要基于 C 语言&#xff0c;包括题目内容&#xff0c;代码实现&#xff0c;思路&#xff0c;并会注明题目难度&…...

DeepSeek在应急救援领域的应用解决方案

DeepSeek在应急救援领域的应用解决方案 一、引言 1.1 应急救援领域现状 近年来&#xff0c;我国应急管理工作全面加强&#xff0c;取得了显著成效。然而&#xff0c;一系列重特大灾害事故暴露出我国应急管理体系存在诸多问题短板。例如&#xff0c;在责任落实、应急处突、法…...

第十五届蓝桥杯C/C++B组省赛真题讲解(分享去年比赛的一些真实感受)

试题A——握手问题 一、解题思路 直接用高中学的排列组合思路 二、代码示例 #include<bits/stdc.h> using namespace std; int fun(int n) {int sum0;for(int i0;i<n;i){for(int ji1;j<n;j)sum; } return sum; } int main() {cout<<fun(50)-fun(7); }三、…...

【Qt】qDebug() << “中文测试“; 乱码问题

环境 Qt Creator版本&#xff1a;4.7.1 编译器&#xff1a;MSVC2015_32bit 解法一 在.pro文件中添加 msvc:QMAKE_CXXFLAGS -execution-charset:utf-8注意&#xff1a; 1、需要清理项目&#xff0c;并重新qmake&#xff0c;然后构建。 测试项目下载&#xff1a;https://do…...

Koordinator-NodeSLO

Reconcile() 获取node和nodeSLO&#xff0c;设置nodeExist和nodeSLOExistnode和nodeSLO都不存在&#xff0c;直接返回若!nodeExist 删除对应nodeSLO 若!nodeSLOExist 初始化nodeSLO创建nodeSLO 若nodeExist和nodeSLOExist都存在 获取nodeSLOSpec&#xff0c;若nodeSLOSpec改变…...

Vue接口平台学习六——接口列表及部分调试页面

一、实现效果图及界面布局简单梳理 整体布局分左右&#xff0c;左边调试&#xff0c;右边显示接口列表 左侧&#xff1a; 一个输入框按钮&#xff1b;下面展示信息&#xff0c;大部分使用代码编辑器就好了&#xff0c;除了请求体传文件类型需要额外处理。然后再下方显示响应信…...

2025年消防设施操作员考试题库及答案

一、多选题 31.区域报警系统主要由&#xff08;&#xff09;等组成。 A.火灾探测器 B.手动火灾报警按钮 C.火灾声光警报器 D消防联动控制器 E.区域型火灾报警控制器 答案&#xff1a;ABCE 解析&#xff1a;根据《基础知识》第215页&#xff0c;“消防联动控制器”一项可…...

【C语言】预处理(下)(C语言完结篇)

一、#和## 1、#运算符 这里的#是一个运算符&#xff0c;整个运算符会将宏的参数转换为字符串字面量&#xff0c;它仅可以出现在带参数的宏的替换列表中&#xff0c;我们可以将其理解为字符串化。 我们先看下面的一段代码&#xff1a; 第二个printf中是由两个字符串组成的&am…...

深入理解全排列算法:DFS与回溯的完美结合

全排列问题是算法中的经典问题&#xff0c;其目标是将一组数字的所有可能排列组合列举出来。本文将详细解析如何通过深度优先搜索&#xff08;DFS&#xff09;和回溯法高效生成全排列&#xff0c;并通过模拟递归过程帮助读者彻底掌握其核心思想。 问题描述 给定一个正整数 n&a…...

低频rfid手持机,助力动物耳标智能化管理

低频RFID手持机&#xff0c;助力动物耳标智能化管理&#xff0c;正逐步成为现代畜牧业不可或缺的工具。它不仅能够高效读取动物耳标中的信息&#xff0c;如唯一识别码、疫苗接种记录、健康状态等&#xff0c;还极大地提升了数据录入的准确性和时效性。 1.精准识别与追踪‌ 通过…...

【从零开始学习JVM | 第三篇】虚拟机的垃圾回收学习(一)

堆空间的基本结构 Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时&#xff0c;Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收。 Java 堆是垃圾收集器管理的主要区域&#xff0c;因此也被称作 GC 堆&#xff08;Garbage Collected Heap&am…...

蓝桥杯之门牌

问题&#xff1a; 这条街一共有 2020 位住户&#xff0c;门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到9 这几个数字字符&#xff0c;最后根据需要将字符粘贴到门牌上&#xff0c;例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0&#xff0c;2 个…...

Jieba分词的原理及应用(三)

前言 “结巴”中文分词&#xff1a;做最好的 Python 中文分词组件 上一篇文章讲了使用TF-IDF分类器范式进行企业级文本分类的案例。其中提到了中文场景不比英文场景&#xff0c;在喂给模型之前需要进行分词操作。 分词的手段有很多&#xff0c;其中最常用的手段还是Jieba库进行…...

Openlayers:flat样式介绍

在前段时间我在使用WebGL矢量图层时接触到了flat样式&#xff0c;我对其十分的感兴趣&#xff0c;于是我花了几天的时间对其进行了了解&#xff0c;在这篇文章中我将简单的介绍一下flat样式的使用方式以及我对其的一些理解。 一、了解flat样式 1.什么是flat样式&#xff1f; …...

149页研读——华为基于IPD全过程研发质量管理【附全文阅读】

本文介绍了IPD(集成产品开发)的全过程研发质量管理,强调了以客户需求为导向,通过跨部门协同、资源整合、快速响应等方式提高研发效率和成功率。文章详细阐述了IPD研发管理体系的精要,包括其核心思想、优势、框架以及核心理念。 其中,跨领域平台与技术研发、端到端流程与项…...

Linux入门指南:从零开始探索开源世界

引言 欢迎来到Linux的奇妙世界&#xff01;&#x1f30d; 这个诞生于1991年的开源操作系统&#xff0c;如今已悄然成为数字世界的隐形支柱。从智能手机到超级计算机&#xff0c;从智能家电到航天器&#xff0c;Linux的身影无处不在。本文将带你纵览Linux的发展历程、主流发行版…...

Oracle 23ai Vector Search 系列之5 向量索引(Vector Indexes)

文章目录 Oracle 23ai Vector Search 系列之5 向量索引Oracle 23ai支持的向量索引类型内存中的邻居图向量索引 (In-Memory Neighbor Graph Vector Index)磁盘上的邻居分区矢量索引 (Neighbor Partition Vector Index) 创建向量索引HNSW索引IVF索引 向量索引示例参考 Windows 环…...

vue模拟扑克效果

vue模拟扑克效果 效果图&#xff1a; step1:C:\Users\wangrusheng\PycharmProjects\untitled18\src\views\Home.vue <template><div class"poker-container"><!-- 使用复合数据对象实现双行显示 --><divv-for"(card, index) in POKER_…...

Android12源码编译之预置Android Studio项目Android.mk文件编写

1、在AndroidManifest.xml文件中添加package"com.sprd.silentinstalldemo"属性&#xff0c;因为新版本的Android Studio默认生成的AndroidManifest.xml是没有这个属性值的 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:an…...

高阶函数/柯里化/纯函数

本篇文章主要是介绍一下标题里面的概念&#xff0c;在面试的时候经常文档&#xff0c;结合阅读到的资料&#xff0c;结合本人的个人见解出品了该文章&#xff0c;如有写的不好的地方或理解有误的&#xff0c;还望阁下多多指教。 1、高阶函数 什么是高阶函数&#xff1f; 接受…...

Spring Boot 测试详解,包含maven引入依赖、测试业务层类、REST风格测试和Mock测试

Spring Boot 测试详解 1. 测试依赖引入 Spring Boot 默认通过以下 Maven 依赖引入测试工具&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</s…...