新手请教一个关于按键控制的问题

2019-07-16 02:12发布

我想实现的功能是:上电后,led灭,当按键按下一后,对应的led点亮,即使按键松开,led依然亮,我的程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENtiTY TEST_1 IS
PORT(S:IN STD_LOGIC;
     L:OUT STD_LOGIC;
     NUM:BUFFER INTEGER RANGE 0 TO 1:=0);
END TEST_1;
ARCHITECTURE ONE OF TEST_1 IS
BEGIN
PROCESS(S)
BEGIN
IF(S='0') THEN
NUM<=1;
END IF;
END PROCESS;
PROCESS(NUM)
BEGIN
CASE NUM IS
WHEN 0=>L<='0';
WHEN 1=>L<='1';
END CASE;
END PROCESS;
END ONE;
但是上电后对应的灯就亮了.....郁闷,请大家帮助一下,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
812487431
2019-07-16 11:17
首先,出现上电后对应的灯就亮的情况,你仔细检查一下你用的板子按键是0表示按下还是1表示按下;然后检查一下LED对应的是0还是1;最后就是即便你能解决上电后灯就亮的问题也不能实现你想要的功能,因为根据你的设计要求,应该是用时序电路来实现(即使按键松开,led依然亮)至少得要用一个寄存器吧,但是你的程序确实个组合逻辑,虽然是process描述;
嘿嘿,我的理解,如果不对请指正哈。。。。

一周热门 更多>