本帖最后由 winter2009 于 2009-12-10 15:12 编辑
PROCESS(CLKIN,EN2) --倒计时显示
VARIABLE HH:STD_LOGIC_VECTOR(7 DOWNTO 0) ;
BEGIN
IF clkin'EVENT AND CLKin='1' THEN
if EN='1' THEN
if(en2='1') then HH(7 downto 4):="0011"; hh(3 downto 0):="0000";
else
if hh>0 then
if HH(3 downto 0)=0 then HH(7 downto 4):=HH(7 downto 4)-1;HH(3 downto 0):="1001";
else HH(3 downto 0):=HH(3 downto 0)-1;
end if;
end if;
end if;
end if;
end if;
TH<=HH(7 downto 4);
TL<=HH(3 downto 0);
END PROCESS;
这是一个倒计时的程序,en是一个使能信号,为 1 时可倒计时,clkin 为1hz脉冲
问题是:上电按复位后,也就是en为 1 了,它不倒计时,只显示00,等过了大概几十秒后,再按复位,倒计时就一切正常了,太诡异了。。。
再说明下 en2 ,en2是复位瞬间为 1,松开开关后为0. |