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

📄 quartus4.txt

📁 1实现六个数码管串行扫描电路 2六个数码管滚动显示电路
💻 TXT
📖 第 1 页 / 共 2 页
字号:
					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;
		END IF;
	END IF;
	END PROCESS;
END arc_circle;
			
****************************************************************************************************************
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

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

ARCHITECTURE arc_sy4 OF sy4 IS
SIGNAL m:INTEGER RANGE 0 TO 15;
SIGNAL n:INTEGER RANGE 0 TO 7;
SIGNAL c:INTEGER RANGE 0 TO 255;
SIGNAL ctrl:STD_LOGIC;
BEGIN
	PROCESS(clk,switch)
	BEGIN
	IF clk'event AND clk='1' THEN
		IF switch='1' THEN
				ctrl<=NOT ctrl;
			ELSE
				ctrl<=ctrl;
			END IF;
		IF ctrl='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";
					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;
		END IF;
	END IF;
	END PROCESS;
END arc_sy4;				

⌨️ 快捷键说明

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