您的位置:電子發燒友網 > 電子技術應用 > 實驗中心 > 編程實驗 >
BJ-EPM CPLD開發板:VHDL入門例程2(3)
2012年05月16日 10:52 來源:本站整理 作者:秩名 我要評論(0)
process(Clk,Rst_n)
begin
if (Rst_n = '0') then --異步復位
key_valuer0 <= "111";
elsif (Clk'event AND Clk = '1') then --時鐘上升沿
key_valuer0 <= key_value; --鎖存上一拍鍵值
end if;
end process;
--消抖后第二拍按鍵鎖存
process(Clk,Rst_n)
begin
if (Rst_n = '0') then --異步復位
key_valuer1 <= "111";
elsif (Clk'event AND Clk = '1') then --時鐘上升沿
key_valuer1 <= key_valuer0; --鎖存上一拍鍵值
end if;
end process;
--消抖后按鍵下降沿檢測
key_valueneg <= key_valuer1 AND (NOT key_valuer0); --消抖后按鍵下降沿標志位,高電平有效一個時鐘周期
--LED狀態控制
process(Clk,Rst_n)
begin
if (Rst_n = '0') then --異步復位
Led_out <= "000";
elsif (Clk'event AND Clk = '1') then --時鐘上升沿
if (key_valueneg(0) = '1') then --按鍵0按下
Led_out(0) <= NOT Led_out(0); --LED0亮滅狀態更替
end if;
if (key_valueneg(1) = '1') then --按鍵1按下
Led_out(1) <= NOT Led_out(1); --LED1亮滅狀態更替
end if;
if (key_valueneg(2) = '1') then --按鍵2按下
Led_out(2) <= NOT Led_out(2); --LED2亮滅狀態更替
end if;
end if;
end process;
end architecture KEY_CONTROL_OF_LED;
本文導航
- 第 1 頁:BJ-EPM CPLD開發板:VHDL入門例程2(1)
- 第 2 頁:第二拍按鍵鎖存
- 第 3 頁:消抖后第一拍按鍵鎖存
標簽:VHDL(159)分頻計數器(5)J-EPM CPLD(4)