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

该文介绍了一个基于野火征途Pro开发板的项目任务,使用4个按键和2个LED灯,通过Verilog编程实现不同按键组合控制LED亮灭的功能。当无按键按下时,LED全灭;奇数按键按下,LED1亮;偶数按键按下,LED1和LED2均亮。文章提供了相应的Verilog代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

本次项目任务,利用开发板上的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_1

    input 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        //模块结束

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朽木自雕i

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值