Zurück

VHDL-Code "Displaycontrol

entity Displaycontrol is
       port( Clock, ms-Takt, Balken: in bit;
	     T0, T1, T2, T3, T4, T5, T6, T7: in bit_vector(5 downto 0);   -- 5 Bit Trafosteuerwort
	     K0, K1, K2, K3, K4, K5, K6, K7: in bit;   -- 5 Bit Trafosteuerwort, 1 Bit
             grün, rot: out bit_vector(2 downto 0) );   -- 7 Bit LED grün, 7 Bit LED rot
end Displaycontrol;

architecture Erfassung of Displaycontrol

	signal Takt: bit_vector(4 downto 0); -- Takt 0 .. 19
	signal Dekade: bit_vector(3 downto 0); -- Dekade 0 .. 9                        -- zehn 20ms Zyklen (Zeilen Display)
	signal Tr0, Tr1, Tr2, Tr3, Tr4, Tr5, Tr6, Tr7, Vg, EK: bit_vector(4 downto 0);           -- Steuerbits Trafos
	signal Kl0, Kl1, Kl2, Kl3, Kl4, Kl5, Kl6, Kl7, Kl8, Kl9: bit_vector(2 downto 0); -- Klemmpulse 
	signal Ausst: bit_vector(6 downto 0);		                        -- dekodierter Rangebalken

	begin                            v-Änderung? 
	          Tr0 <= T0 NOT ("01110" XOR Takt)                    -- Erfassung bei 14ms
	          Tr1 <= T1 XOR "01110" XOR Takt
	          Tr2 <= T2 XOR "01110" XOR Takt
	          Tr3 <= T3 XOR "01110" XOR Takt
	          Tr4 <= T4 XOR "01110" XOR Takt
	          Tr5 <= T5 XOR "01110" XOR Takt
	          Tr6 <= T6 XOR "01110" XOR Takt
	          Tr7 <= T7 XOR "01110" XOR Takt
                          
                                    
			with Balken&'0'&Deakade select                          -- Steuerwort eines Trafos ...
				Ausst <= (T0(1),T0(2),T0(3)) when "00000",      -- ...zur Ausgabe gewählt binär oder als Aussteuerbalken!
					 (T1(1),T1(2),T1(3)) when "00001",
					 (T2(1),T2(2),T2(3)) when "00010",
					 (T3(1),T3(2),T3(3)) when "00011",
					 (T4(1),T4(2),T4(3)) when "00100",
					 (T5(1),T5(2),T5(3)) when "00101",
					 (T6(1),T6(2),T6(3)) when "00110",
					 (T7(1),T7(2),T7(3)) when "00111",

					 "00000" when "10000",
					 "10000" when "10001",
					 "11000" when "10010",
					 (T3(1),T3(2),T3(3)) when "10011",
					 (T4(1),T4(2),T4(3)) when "10100",
					 (T5(1),T5(2),T5(3)) when "10101",
					 (T6(1),T6(2),T6(3)) when "10110",
					 (T7(1),T7(2),T7(3)) when "10111",			
	end Erfassung;