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

《FPGA学习》->多个按键控制LED灯

🍎与其担心未来,不如现在好好努力。在这条路上,只有奋斗才能给你安全感。你若努力,全世界都会为你让路。

本次项目任务,利用开发板上的4个按键KEY1,KEY2,KEY3,KEY4和2个LED灯LED1,LED2,完成以下功能:

①如果没有按键按下,LED1和LED2均熄灭;

②如果有奇数个按键同时被按下,则LED1亮,LED2熄灭;

③如果有偶数个按键同时被按下,则LED1和LED2都亮;

实验平台:野火征途Pro开发板

写代码之前,我们先利用真值表根据任务做一个功能拆解。

①当按键没有一个按键按下时,这时候LED1应该为1;

②当按键有任意一个按下时,LED1都会亮;

③当按键有偶数个同时按下时,LED2才会亮。

根据真值表写出程序如下:

module KEY_LED_1(          //定义一个模块,名称为KEY_LED_1input wire KEY1,       //定义KEY1为输入模式input wire KEY2,       //定义KEY2为输入模式input wire KEY3,       //定义KEY3为输入模式input wire KEY4,       //定义KEY4为输入模式output wire LED1,      //定义LED1为输出模式output wire LED2       //定义LED2为输出模式
);assign LED1 = ((KEY1)&&(KEY2)&&(KEY3)&&(KEY4));    //没按键按下,LED1灭assign LED2 = (((~KEY1)&&(~KEY2)&&(~KEY3)&&(~KEY4))||      //0000((~KEY1)&&(~KEY2)&&( KEY3)&&( KEY4))||      //0011((~KEY1)&&( KEY2)&&(~KEY3)&&( KEY4))||      //0101((~KEY1)&&( KEY2)&&( KEY3)&&(~KEY4))||      //0110(( KEY1)&&(~KEY2)&&(~KEY3)&&( KEY4))||      //1001(( KEY1)&&(~KEY2)&&( KEY3)&&(~KEY4))||      //1010(( KEY1)&&( KEY2)&&(~KEY3)&&(~KEY4))        //1100);endmodule        //模块结束

🔥🔥🔥本系列文章持续更新,喜欢的话可以关注收藏~🔥🔥🔥

http://www.lryc.cn/news/12201.html

相关文章:

  • vb.net计算之.net core基础(4)-项目与程序结构(2)
  • 基于RK3588的嵌入式linux系统开发(五)——uboot优化修改(按任意按键停止autoboot)
  • Lumerical---在FDTD和MODE工程中的PML边界条件
  • 论文投稿指南——中文核心期刊推荐(社会学)
  • KVM-4、KVM 高级功能详解
  • 【Linux】进程状态
  • 2023河南省第二届职业技能大赛郑州市选拔赛“网络安全”项目比赛样题任务书
  • pygame8 扫雷游戏
  • c/c++开发,无可避免的模板编程实践(篇四)
  • c++11 标准模板(STL)(std::unordered_set)(二)
  • GEE学习笔记 七十二:【GEE之Python版教程六】命令行简介
  • DDD单根 聚合根 实体 值对象
  • SpringMvc介绍。
  • 华为OD机试 - 最小传递延迟(JS)
  • 学生信息管理系统(通讯录)----------通俗易懂、附源码、C语言实现
  • Python抽奖系统
  • 真实景观渲染技巧【Three.js】
  • MySQL知识汇总:MySQL函数CASE WHEN用法详解
  • Python学习-----模块1.0(模块的简介、定义与使用)
  • Linux进程学习【二】
  • 我问chatGPT,在JavaScript中构造函数和类的区别
  • 软考高级-信息系统管理师之沟通管理(最新版)
  • PyQt5 自定义富文本编辑器
  • 【高可用系统架构设计】SLA服务可用性4个9是什么意思?如何保证服务的高可用性 HA(High Availability)?...
  • 微服务架构设计模式-(14)面向生产环境
  • HTML5新增用法
  • 富足金字塔:人的努力是为了扩大选择的范围
  • C++类基础(十七)
  • LeetCode刷题复盘笔记—一文搞懂贪心算法之56. 合并区间(贪心算法系列第十四篇)
  • Andriod入门级开发