摁键控制LED灯(FPGA)

这篇具有很好参考价值的文章主要介绍了摁键控制LED灯(FPGA)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:以下是本篇文章正文内容,下面案例可供参考


一、实验要求

1.无按键按下时,LED灯全灭;
2.按键1按下时,LED灯显示.自右向左的流水效果;
3.按键2按下时,LED灯显示自左向右的流水效果;
4.按键3按下时,四个LED灯同时闪烁
5.按键4按下时,LED灯全亮

二、实验原理

如图1所示,本实验使用四个按键开关控制四个LED灯

按键控制led灯,FPGA项目,fpga开发,c语言,单片机
图 1 按键电路原理图

如上图所示,开发板上的5个按键未按下时,输出高电平,按下后,输出低电平。本实验中,系统时钟、复位按键、按键和LED灯的管脚如下表所示

按键控制led灯,FPGA项目,fpga开发,c语言,单片机
按键控制led灯,FPGA项目,fpga开发,c语言,单片机
图 2 触摸按键控制LED管脚分配图

LED在流水效果和闪烁效果在时间间隔均为0.2秒,因此需要在程序中定义一个0.2s的计数器,即每隔0.2s,状态计数器加一。根据当前按键的状态选择不同的显示模式,不同的显示模式下四个led灯的亮灭随状态计数器的值改变,从而呈现出不同的显示效果。

按键控制led灯,FPGA项目,fpga开发,c语言,单片机
图 3 系统框图文章来源地址https://www.toymoban.com/news/detail-717193.html

二、代码

1.按键控制led模块的代码如下所示:

module key_led (
	input sys_clk , //50Mhz系统时钟
	input sys_rst_n, //系统复位,低有效
	input [3:0] key, //按键输入信号
	
	output reg [3:0] led //LED输出信号
);

	//reg define 
	reg	[23:0] 	cnt;
	reg 	[1:0] 	led_control;
	
	//用于计数0.2s的计数器
	always @ (posedge sys_clk or negedge sys_rst_n) begin
		if

到了这里,关于摁键控制LED灯(FPGA)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA实战-----点灯大师(1)led灯闪烁流水跑马+按键

    FPGA实战 用verliog语言点亮FPGA开发板上的led灯是最最最最最基础的操作。 这里用的EP4CE6F17C8开发板,上边一共有四个led灯珠,可以实现简单的例如4个全亮,流水灯,跑马灯以及相比之下难了一点的呼吸灯等等等等效果。 本文最终目的就是实现 用按键切换led灯的运动模式 。做

    2024年02月04日
    浏览(47)
  • STM32+摁键与定时器实现Led灯控制(中断)

    中断作为单片机开发必须掌握的内容,它能够在不搭载操作系统的情况下让我们体验多任务处理的快感,保证了高优先级任务的实时性,同时系统中断也能够提供给用户在核心发生错误之后进行处理的机会。STM32F103系列单片机中断非常强大,每个外设都可以产生中断,F103 在

    2024年02月04日
    浏览(60)
  • FPGA 学习笔记:Verilog 实现LED流水灯控制

    在初步了解 Xilinx Vivado 的使用后,开启了FPGA Hello World 程序:LED 流水灯控制 在嵌入式MCU中,流水灯需要延时来实现,FPGA的延时,使用外部晶振来实现 实现 3个 LED 流水灯控制,也就是循环依次点亮, LED 低电平亮, 高电平灭,FPGA 有一个40MHz的外部晶振,作为系统时钟输入开

    2023年04月08日
    浏览(38)
  • 四个按键控制led的四种变化(按键控制led)(附源码)

    使用开发板上的四个按键控制四个LED灯。按下不同的按键时,四个LED灯显示不同效果。本实验是在EP4CE6F17C8开发板上实现,仿真请用modelsim Altera 仿真代码: 注意:该实验并未进行按键消抖,需一直按着按键才能让该按键所操控的led变化功能实现。

    2024年02月06日
    浏览(38)
  • 【嵌入式系统应用开发】FPGA——HLS入门实践之led灯闪烁

    HLS(High Level Synthesis) :一款高层次综合工具。 能够将 C/C++ 或者 system C 等高级语言转化为 RTL (底层硬件描述语言)电路,降低开发时间。 提供了常见的库(例如图像处理相关的 OpenCv 库和其 它的数学库)。 可以创建IP并通过例化或者使用 BlockDesign 的方式应用到项目中。 转化原

    2024年02月05日
    浏览(64)
  • FPGA在校学习记录系列---实验4不同状态的LED+开发板(Verilog HDL)

    此系列记录FPGA在学校的学习过程。 FPGA系列 需要用到的软硬件: 软件:Quartus II 15.0 (64-bit) 硬件: 5CEBA4F23C7芯片 链接: FPGA在校学习记录系列—新建一个FPGA工程编写程序并仿真(Verilog HDL) 创建的工程名字为:LED (这次不用仿真,直接用开发板验证) 编译文件 按键资源:

    2024年04月09日
    浏览(46)
  • 按键控制LED闪烁实验

    实验任务: 本节实验任务是使用底板上的PL_KEY0和PL_KEY1按键来控制底板上的PL_LED0和PL_LED1两个LED的闪烁方式。没有按键按下时,两个LED保持常亮;如果按键0按下,则两个LED交替闪烁;如果按键1按下,则两个LED同时闪烁。 模块示意图:   模块代码实现: modulekey_led( input     

    2024年02月04日
    浏览(43)
  • 按键控制led变化

    使用按键控制开发板上一个led灯的亮灭,当按键按下的时候led灯就亮,当再一次按下按键的时候led就不亮了。由于按键存在抖动,按键松开的时候led灯就不亮,所以需要一个消抖模块对按键消抖 总的来说编写不算复杂,需要注意的是模块之间的连接和按键消抖模块

    2024年02月16日
    浏览(34)
  • SoC-按键控制led

    1.hps_0.h 2.main.c SoC

    2024年02月10日
    浏览(39)
  • 触摸按键控制LED灯

    目录 1.理论 2.代码 2.1 touch_ctrl_led.v 2.2 tb_touch_ctrl_led 以上的波形图的touch_flag是采用组合逻辑的方式产生的。 以上的touch_flag是采用时序逻辑产生的,时序逻辑会延迟一拍。 以上是上升沿和下降沿的组合逻辑和时序逻辑实现,逻辑或的写法刚好是逻辑与的两个寄存器的值反过来

    2024年01月23日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包