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

📄 八路彩灯控制器.txt

📁 是一个用汇编语言编写的八路控制灯程序。其功能可以实现数字化的灯路控制。
💻 TXT
字号:
八路彩灯控制器
LIBRARY IEEE; 
USE IEEE.STD_LOGIC_1164.ALL; 
USE IEEE.STD_LOGIC_UNSIGNED.ALL; 
ENTITY CDKZ IS 
PORT(CLK:IN STD_LOGIC; 
D:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); 
END CDKZ; 
ARCHITECTURE ART OF CDKZ IS 
SIGNAL A:INTEGER RANGE 0 TO 8; 
SIGNAL B:INTEGER RANGE 0 TO 3; 
SIGNAL Q,T:STD_LOGIC; 
BEGIN 
PROCESS(CLK)IS 
BEGIN 
IF CLK'EVENT AND CLK='1'THEN 
IF A=8 THEN 
A<=1;T<=NOT T; 
IF B=2 THEN 
B<=0; 
else 
B<=B+1; 
END IF; 
ELSIF A=0 THEN 
A<=1;T<='1'; 
ELSIF T='1'THEN 
A<=A+1; 
ELSIF T='0'AND Q='1'THEN 
A<=A+1;Q<=NOT Q; 
ELSIF T='0'AND Q='0'THEN 
Q<=NOT Q; 
END IF; 
END IF; 
END PROCESS; 
D<="01010101"WHEN A=1 AND B=1 ELSE 
"10101010"WHEN A=2 AND B=1 ELSE 
"01010101"WHEN A=3 AND B=1 ELSE 
"10101010"WHEN A=4 AND B=1 ELSE 
"01010101"WHEN A=5 AND B=1 ELSE 
"10101010"WHEN A=6 AND B=1 ELSE 
"01010101"WHEN A=7 AND B=1 ELSE 
"10101010"WHEN A=8 AND B=1 ELSE 
"10000000"WHEN A=1 AND B=2 ELSE 
"11000000"WHEN A=2 AND B=2 ELSE 
"11100000"WHEN A=3 AND B=2 ELSE 
"11110000"WHEN A=4 AND B=2 ELSE 
"11111000"WHEN A=5 AND B=2 ELSE 
"11111100"WHEN A=6 AND B=2 ELSE 
"11111110"WHEN A=7 AND B=2 ELSE 
"11111111"WHEN A=8 AND B=2 ELSE 
"10000001"WHEN A=1 AND B=0 ELSE 
"11000011"WHEN A=2 AND B=0 ELSE 
"11100111"WHEN A=3 AND B=0 ELSE 
"11111111"WHEN A=4 AND B=0 ELSE 
"01111110"WHEN A=5 AND B=0 ELSE 
"00111100"WHEN A=6 AND B=0 ELSE 
"00011000"WHEN A=7 AND B=0 ELSE 
"00000000"WHEN A=8 AND B=0; 
END ARCHITECTURE ART;
--------七人表决器参考源程序--------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY vote7 IS
   PORT
   (    men: IN    std_logic_vector(6 downto 0);
       pass,stop    : buffer std_logic
          );
  END vote7;
ARCHITECTURE behave OF vote7 IS
BEGIN
stop<=not pass;
   PROCESS (men)
        variable temp:std_logic_vector(2 downto 0);
   BEGIN
            temp:="000";
       for i in 0 to 6 loop
               if(men(i)='1') then
                  temp:=temp+1;
               else
                  temp:=temp+0;
               end if;
             end loop;    
           pass<=temp(2);
           stop<=not(pass);
   END PROCESS;
END behave;

⌨️ 快捷键说明

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