当前位置:网站首页>FPGA:基础入门按键控制LED灯
FPGA:基础入门按键控制LED灯
2022-08-05 10:10:00 【最早的早安...】
题目概述:
使用按键控制LED灯亮灭。
无按键按下——LED全灭
按下KEYO——从右向左的流水灯效果
按下KEY1——从左向右的流水灯效果
按下KEY2——LED闪烁
按下KEY3——LED全亮
编程:
`timescale 1ns / 1ps
module key_led(
input sys_clk,
input sys_rst_n,
input [3:0] key,
output reg [3:0] led
);
//定义0.2s计数器 0.2s/20ns=10^7
reg [23:0] cnt;
[email protected](posedge sys_clk or negedge sys_rst_n)
begin
if(!sys_rst_n)
cnt<=0;
else if(cnt<24'd999_9999)
cnt<=cnt+1'b1;
else
cnt<=0;
end
reg [1:0] led_control;//4个LED 00 01 10 11
//状态切换和状态赋值
[email protected](posedge sys_clk or negedge sys_rst_n)
begin
if(!sys_rst_n)
led_control<=4'b0;
else if(cnt==24'd999_9999)
led_control<=led_control+1'b1;
else
led_control<=led_control;
end
[email protected](posedge sys_clk or negedge sys_rst_n)
begin
if(!sys_rst_n)
led<=4'b0000;
else if(key[0]==0)
case(led_control)
2'b00:led<=4'b1000;
2'b01:led<=4'b0100;
2'b10:led<=4'b0010;
2'b11:led<=4'b0001;
endcase
else if(key[1]==0)
case(led_control)
2'b00:led<=4'b0001;
2'b01:led<=4'b0010;
2'b10:led<=4'b0100;
2'b11:led<=4'b1000;
endcase
else if(key[2]==0)
case(led_control)
2'b00:led<=4'b0000;
2'b01:led<=4'b1111;
2'b10:led<=4'b0000;
2'b11:led<=4'b1111;
endcase
else if(key[3]==0)
led<=4'b1111;
else
led<=4'b0000;
end
endmodule
上机实践:
QQ视频20220804160212
边栏推荐
- 第四章:activiti流程中,变量的传递和获取流程变量 ,设置和获取多个流程变量,设置和获取局部流程变量「建议收藏」
- Redis源码解析:Redis Cluster
- MySQL使用聚合函数可以不搭配GROUP BY分组吗?
- 电竞、便捷、高效、安全,盘点OriginOS功能的关键词
- 阿里顶级架构师多年总结的JVM宝典,哪里不会查哪里!
- 为什么sys_class 里显示的很多表的 RELTABLESPACE 值为 0 ?
- 【温度预警程序de开发】事件驱动模型实例运用
- 浅析WSGI协议
- 【 temperature warning program DE development 】 event driven model instance
- PHP 操作mangoDb
猜你喜欢

three.js debugging tool dat.gui use

Bias lock/light lock/heavy lock lock is healthier. How is locking and unlocking accomplished?

Technical dry goods | Hausdorff distance for image segmentation based on MindSpore

The JVM collection that Alibaba's top architects have summarized for many years, where can't I check it!

Pycharm 常用外部工具

How can project cost control help project success?

hcip BGP 增强实验

Voice-based social software development - making the most of its value

Pytorch Deep Learning Quick Start Tutorial -- Mound Tutorial Notes (3)

百年北欧奢华家电品牌ASKO智能三温区酒柜臻献七夕,共品珍馐爱意
随机推荐
第六章:activiti流程分流判断之排它网关和并行网关
5. Deploy the web project to the cloud server
Open Source Summer | How OpenHarmony Query Device Type (eTS)
MySQL advanced (twenty-seven) database index principle
企业的数字化转型到底是否可以买来?
The JVM collection that Alibaba's top architects have summarized for many years, where can't I check it!
你最隐秘的性格在哪?
Redis源码解析:Redis Cluster
Brief Analysis of WSGI Protocol
【温度预警程序de开发】事件驱动模型实例运用
Technical dry goods | Hausdorff distance for image segmentation based on MindSpore
MySQL之数据视图
Pytorch深度学习快速入门教程 -- 土堆教程笔记(三)
Pycharm 常用外部工具
项目成本控制如何帮助项目成功?
Wei Dongshan Digital Photo Frame Project Learning (6) Transplantation of tslib
egg框架使用(二)
第五章:多线程通信—wait和notify
入门 Polkadot 平行链开发,看这一篇就够了
语音社交软件开发——充分发挥其价值