countroller.vhd

来自「十字路口交通信号灯试验,用max+plusII编程。希望对大家有用」· VHDL 代码 · 共 57 行

VHD
57
字号
LIBRARY IEEE; 
USE IEEE.STD_LOGIC_1164.ALL; 
ENTITY countroller IS 
   PORT ( Clock:IN STD_LOGIC; 
       Hold:in std_logic; 
       CountNum:in INTEGER RANGE 0 TO 79;
       NumA,NumB:out INTEGER RANGE 0 TO 63;
       RedA,GreenA,YellowA:out std_logic; 
       RedB,GreenB,YellowB:out std_logic); 
END ENTITY;
ARCHITECTURE behavior OF Countroller IS 
BEGIN
   process(Clock)
     BEGIN
       IF falling_edge(Clock)THEN
            IF Hold='1' THEN
 			  RedA<='1';RedB<='1';
              GreenA<='0';GreenB<='0';
              YellowA<='0';YellowB<='0';
		    ELSIF CountNum<=58 THEN
 			  NumA<=58-CountNum;
 			  RedA<='0';
 			  GreenA<='1';
			  YellowA<='0';
 		    ELSIF CountNum<=63 THEN
              NumA<=63-CountNum;
              RedA<='0';
              GreenA<='0';
              YellowA<='1';
            ELSE   
              NumA<=79-CountNum;
    	      RedA<='1';
 		      GreenA<='0';
		      YellowA<='0';
	      END IF;
          IF CountNum<=63 THEN
              NumB<=63-CountNum;
              RedB<='1';
              GreenB<='0';
              YellowB<='0';
          ELSIF CountNum<=74 THEN
              NumB<=74-CountNum;
              RedB<='0';
              GreenB<='1';
              YellowB<='0';
          ELSE
              NumB<=79-CountNum;
              RedB<='0';
              GreenB<='0';
              YellowB<='1';
          END IF;
       END IF;
   END PROCESS;
END ARCHITECTURE behavior;


⌨️ 快捷键说明

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