Spartan-6 FPGA 嵌入式套件试用(三)---key and led
[复制链接]
这里实现的功能使用板载的key来控制led,其实也是很简单的东西,本来不想写的,但是对于fpga来说,输入和输出是典型的两个方面。Key和led又是这两个方面的典型应用,简单是简单了点,就当给大家做个演示吧。
ucf文件的内容如下
NET "led0" LOC = D17;
NET "led1" LOC = AB4;
NET "led2" LOC = D21;
NET "led3" LOC = W15;
NET "key0" LOC = F3;
NET "key1" LOC = G6;
NET "key2" LOC = F5;
NET "key3" LOC = C1;
NET "clk" LOC = AB13;
测试代码如下:
module led(
output led0,
output led1,
output led2,
output led3,
input key0,
input key1,
input key2,
input key3,
input clk
);
assign led0 = key0;
assign led1 = key1;
assign led2 = key2;
assign led3 = key3;
endmodule
从上述代码可以看出,LED直接反映key的状态,key按下led亮,key弹起led灭。实现的功能就是如此的简单,呵呵
大家仔细想想有没有问题呢,乍一看是没有的!但事实上是有的,呵呵,什么问题呢?没有进行按键消抖嘛。什么是按键消抖?如何进行按键消抖?如何在fpga中实现按键消抖呢?期待着您的回复……
还是先来看看我的演示效果把:
KEY0按下LED0亮:
KEY1按下LED1亮:
KEY2按下LED2亮:
KEY3按下LED3亮:
KEY1和KEY3同时按下LED1和LED3同时亮:
|