用VHDL语言,求一个一个键或者两个键输入,数字0-9输出程序

来源:百度知道 编辑:UC知道 时间:2024/05/05 04:39:03
用Quartus 2或者Max都可以,求个一个或者两个键位输入(即一个时钟信号)输出为0-9.就是每按一次加1 到9了就回到0.

这个好弄啊,十进制计数器,然后把clk锁定到按键上就能实现啊,给你一个通用的计数器吧,带复位,使能,进位的,将数直接改下就变成其他进制的了

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY counter IS
PORT( RST,EN,CLK:IN STD_LOGIC;
OC:OUT STD_LOGIC;
Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END counter;
ARCHITECTURE bhv OF counter IS
BEGIN
PROCESS(RST,EN,CLK)
VARIABLE TMP:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF RST='1' THEN TMP:="0000";OC<='0';
ELSIF EN='0' THEN NULL;
ELSIF CLK'EVENT AND CLK='1' THEN
IF TMP=9 THEN OC<='1';TMP:="0000";--这儿有个9,改成15就是十六进制啦,当然其他的也行啊
ELSE TMP:=TMP+1;OC<='0';
END IF;

END IF;
Q<=TMP;
END PROCESS;
END bhv;