FPGA

您所在的位置:网站首页 单片机按键输入实验 FPGA

FPGA

2023-05-31 08:44| 来源: 网络整理| 查看: 265

FPGA 课程设计,果断选择最简单的花式点灯

实验要求 一、设计一个8路流水灯控制电路 二、有多种变化方式: 1)自左向右逐次点亮,或自右向左逐次点亮,到终点后在从头开始; 2)自左向右逐次熄灭,或自右向左逐次熄灭,到终点后再从头开始; 3)按一定间隔(自定义)逐次点亮; 4)灯工作时间可调; 三、设置复位键,独立流水灯工作模式控制键,独立流水灯速度键; 四、时钟信号为开发板上时源。 完成任务1)-4)的得分不超过65分,有扩展到内容酌情增加得分。

OK,虽然看起来很复杂,但拆分一下要求的话核心是以下几点: 基础流水灯 *、方向控制键 **、速度控制键 **、复位键 ***(*代表优先级)

实验平台

对于流水灯实验,都不需要开发板选型,随便抄起手边现有的板子就直接开始,这里我用的是安路科技的 EF2L45BG256_MINI_DEV3 开发板,原理图如下。我这里LED是低电平点亮,按键按下去是"0",按键释放是"1",拨码开关拨上ON 是"0",拨到OFF 是"1"。

学校里常用的应该是Xilinx或者Altera的板子,但其实影响不大,不同板子只需要对照原理图修改部分代码(LED是低电平点亮还是高电平点亮、按键按下是0还是1)以及管脚约束文件就可以。 在这里插入图片描述 在这里插入图片描述

设计思路 按键检测

按键开关和拨码开关不同,需要你一直按着才能保持,一旦松手就检测不到’'0"了,这里我为了达到和拨码开关一样的效果(按一下之后就可以松手了),当然你如果想一直按着按键保持流水灯点亮可以忽略这一部分。 因为按下后弹起会有一个从"0"到"1"的上升沿,通过检测这个上升沿就可以判断按键是否被按下后又弹起:

reg key1_d0,key2_d0,key3_d0; reg key1_out,key2_out,key3_out; // 检测按键是否弹起 assign key1_up = key[0] & ~key1_d0; assign key2_up = key[1] & ~key2_d0; assign key3_up = key[2] & ~key3_d0; always@(posedge clk or negedge rst_n)begin if(!rst_n)begin key1_d0


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3