⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 quartus4.txt

📁 1实现六个数码管串行扫描电路 2六个数码管滚动显示电路
💻 TXT
📖 第 1 页 / 共 2 页
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY xs IS
	PORT(clk,rst:IN STD_LOGIC;
		cat: OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
		flag:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)
		);
END xs;

ARCHITECTURE arc_xs OF xs IS
SIGNAL n :INTEGER RANGE 0 TO 7;
BEGIN
	PROCESS(clk,rst)
	BEGIN
		IF rst='1' THEN
		cat<="111111";
		ELSIF clk'event AND clk='1' THEN
			IF n>5 THEN
				n<=0;
			ELSE n<=n+1;
			END IF;
			CASE n IS
				WHEN 0=>cat<="011111"; flag<="1111110";
				WHEN 1=>cat<="101111"; flag<="0110000";
				WHEN 2=>cat<="110111"; flag<="1101101";
				WHEN 3=>cat<="111011"; flag<="1111001";
				WHEN 4=>cat<="111101"; flag<="0110011";
				WHEN 5=>cat<="111110"; flag<="1011011";
				WHEN OTHERS=>cat<="111111";
			END CASE;
		END IF;
	END PROCESS;
END arc_xs;
********************************************************************************************************************
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY circle IS
	PORT(clk,switch:IN STD_LOGIC;
		cat:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);
		flag:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)
		);
END circle;

ARCHITECTURE arc_circle OF circle IS
SIGNAL m:INTEGER RANGE 0 TO 15;
SIGNAL n:INTEGER RANGE 0 TO 7;
SIGNAL c:INTEGER RANGE 0 TO 255;
BEGIN
	PROCESS(clk,switch)
	BEGIN
	IF clk'event AND clk='1' THEN
		IF switch='0' THEN
			IF n>5 THEN
				n<=0;
			ELSE n<=n+1;
				 c<=c+1;
			END IF;
			IF c>200 THEN
				c<=0;
				m<=m+1;
			END IF;
			IF m>5 THEN
				m<=0;
			END IF;
			CASE m IS
				WHEN 0=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="1111110";
					WHEN 1=>cat<="101111"; flag<="0110000";
					WHEN 2=>cat<="110111"; flag<="1101101";
					WHEN 3=>cat<="111011"; flag<="1111001";
					WHEN 4=>cat<="111101"; flag<="0110011";
					WHEN 5=>cat<="111110"; flag<="1011011";
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 1=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="0110000";
					WHEN 1=>cat<="101111"; flag<="1101101";
					WHEN 2=>cat<="110111"; flag<="1101101";
					WHEN 3=>cat<="111011"; flag<="1111001";
					WHEN 4=>cat<="111101"; flag<="0110011";
					WHEN 5=>cat<="111110"; flag<="1111110";
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 2=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="1101101";
					WHEN 1=>cat<="101111"; flag<="1111001";
					WHEN 2=>cat<="110111"; flag<="0110011";
					WHEN 3=>cat<="111011"; flag<="1011011";
					WHEN 4=>cat<="111101"; flag<="1111110";
					WHEN 5=>cat<="111110"; flag<="0110000"; 
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 3=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="1111001";
					WHEN 1=>cat<="101111"; flag<="0110011";
					WHEN 2=>cat<="110111"; flag<="1011011";
					WHEN 3=>cat<="111011"; flag<="1111110";
					WHEN 4=>cat<="111101"; flag<="0110000"; 
					WHEN 5=>cat<="111110"; flag<="1101101"; 
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 4=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="0110011";
					WHEN 1=>cat<="101111"; flag<="1011011";
					WHEN 2=>cat<="110111"; flag<="1111110";
					WHEN 3=>cat<="111011"; flag<="0110000";
					WHEN 4=>cat<="111101"; flag<="1101101"; 
					WHEN 5=>cat<="111110"; flag<="1111001"; 
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 5=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="1011011";
					WHEN 1=>cat<="101111"; flag<="1111110";
					WHEN 2=>cat<="110111"; flag<="0110000";
					WHEN 3=>cat<="111011"; flag<="1101101";
					WHEN 4=>cat<="111101"; flag<="1111001";
					WHEN 5=>cat<="111110"; flag<="0110011";
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN OTHERS=>cat<="111111";
			END CASE;
		ELSE
			IF n>5 THEN
				n<=0;
			ELSE n<=n+1;
				 c<=c+1;
			END IF;
			IF c>200 THEN
				c<=0;
				m<=m+1;
			END IF;
			IF m>11 THEN
				m<=0;
			END IF;
			CASE m IS
				WHEN 0=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="1111110";
					WHEN 1=>cat<="101111"; flag<="0110000";
					WHEN 2=>cat<="110111"; flag<="1101101";
					WHEN 3=>cat<="111011"; flag<="1111001";
					WHEN 4=>cat<="111101"; flag<="0110011";
					WHEN 5=>cat<="111110"; flag<="1011011";
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 1=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="0110000";
					WHEN 1=>cat<="101111"; flag<="1101101";
					WHEN 2=>cat<="110111"; flag<="1101101";
					WHEN 3=>cat<="111011"; flag<="1111001";
					WHEN 4=>cat<="111101"; flag<="0110011";
					WHEN 5=>cat<="111111"; flag<="1111110";
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 2=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="1101101";
					WHEN 1=>cat<="101111"; flag<="1111001";
					WHEN 2=>cat<="110111"; flag<="0110011";
					WHEN 3=>cat<="111011"; flag<="1011011";
					WHEN 4=>cat<="111111"; flag<="1111110";
					WHEN 5=>cat<="111111"; flag<="0110000"; 
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 3=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="1111001";
					WHEN 1=>cat<="101111"; flag<="0110011";
					WHEN 2=>cat<="110111"; flag<="1011011";
					WHEN 3=>cat<="111111"; flag<="1111110";
					WHEN 4=>cat<="111111"; flag<="0110000"; 
					WHEN 5=>cat<="111111"; flag<="1101101"; 
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 4=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="0110011";
					WHEN 1=>cat<="101111"; flag<="1011011";
					WHEN 2=>cat<="111111"; flag<="1111110";
					WHEN 3=>cat<="111111"; flag<="0110000";
					WHEN 4=>cat<="111111"; flag<="1101101"; 
					WHEN 5=>cat<="111111"; flag<="1111001"; 
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 5=>
				CASE n IS
					WHEN 0=>cat<="011111"; flag<="1011011";
					WHEN 1=>cat<="111111"; flag<="1111110";
					WHEN 2=>cat<="111111"; flag<="0110000";
					WHEN 3=>cat<="111111"; flag<="1101101";
					WHEN 4=>cat<="111111"; flag<="1111001";
					WHEN 5=>cat<="111111"; flag<="0110011";
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 6=>
				CASE n IS
					WHEN 0=>cat<="111111"; flag<="1111110";
					WHEN 1=>cat<="111111"; flag<="0110000";
					WHEN 2=>cat<="111111"; flag<="1101101";
					WHEN 3=>cat<="111111"; flag<="1111001";
					WHEN 4=>cat<="111111"; flag<="0110011";
					WHEN 5=>cat<="111111"; flag<="1011011";
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 7=>
				CASE n IS
					WHEN 0=>cat<="111111"; flag<="0110000";
					WHEN 1=>cat<="111111"; flag<="1101101";
					WHEN 2=>cat<="111111"; flag<="1101101";
					WHEN 3=>cat<="111111"; flag<="1111001";
					WHEN 4=>cat<="111111"; flag<="0110011";
					WHEN 5=>cat<="111110"; flag<="1111110";
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 8=>
				CASE n IS
					WHEN 0=>cat<="111111"; flag<="1101101";
					WHEN 1=>cat<="111111"; flag<="1111001";
					WHEN 2=>cat<="111111"; flag<="0110011";
					WHEN 3=>cat<="111111"; flag<="1011011";
					WHEN 4=>cat<="111101"; flag<="1111110";
					WHEN 5=>cat<="111110"; flag<="0110000"; 
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 9=>
				CASE n IS
					WHEN 0=>cat<="111111"; flag<="1111001";
					WHEN 1=>cat<="111111"; flag<="0110011";
					WHEN 2=>cat<="111111"; flag<="1011011";
					WHEN 3=>cat<="111011"; flag<="1111110";
					WHEN 4=>cat<="111101"; flag<="0110000"; 
					WHEN 5=>cat<="111110"; flag<="1101101"; 
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 10=>
				CASE n IS
					WHEN 0=>cat<="111111"; flag<="0110011";
					WHEN 1=>cat<="111111"; flag<="1011011";
					WHEN 2=>cat<="110111"; flag<="1111110";
					WHEN 3=>cat<="111011"; flag<="0110000";
					WHEN 4=>cat<="111101"; flag<="1101101"; 
					WHEN 5=>cat<="111110"; flag<="1111001"; 
					WHEN OTHERS=>cat<="111111";
				END CASE;
				WHEN 11=>
				CASE n IS
					WHEN 0=>cat<="111111"; flag<="1011011";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -