You are on page 1of 5

CARACTERES.

vhd Tue Apr 23 13:11:15 2019


1
2 library IEEE;
3 use IEEE.STD_LOGIC_1164.ALL;
4 use IEEE.STD_LOGIC_UNSIGNED.ALL;
5
6 entity CARACTERES is
7
8 port(
9 CLK,RES: IN STD_LOGIC;
10 PULS: IN STD_LOGIC;
11 SALIDA: out std_logic_vector(9 downto 0)
12 );
13
14 end CARACTERES;
15
16 architecture rtl of CARACTERES is
17
18 type CONTEO is array(0 to 160) of std_logic_vector(9 downto 0);
19
20 constant MENSAJE_LED : CONTEO := (
21 0 => "1111111111",
22 1 => "0000000000",
23 2 => "1110101111",
24 3 => "1101101111",
25
26 4 => "1110101111",
27 5 => "0000000000",
28 6 => "1111111111",
29 7 => "0000000000",
30 8 => "1101011101",
31 9 => "1101011011",
32 10 => "1101010111",
33 11 => "0000000000",
34 12 => "1111111111",
35
36 13 => "0000001110",
37 14 => "0111101110",
38 15 => "0111100000",
39 16 => "0111101110",
40 17 => "0111101110",
41 18 => "1111111111",
42 19 => "0000011000",
43
44
45 20 => "1101010111",
46 21 => "1101001111",
47 22 => "1101010111",
48 23 => "0000011000",
49 24 => "1111111111",
50 25 => "1111100000",
51 26 => "1111101010",
52
53
54 27 => "1111101010",
55 28 => "1111101010",
56 29 => "1111111111",
57 30 => "0000000000",

Page 1
CARACTERES.vhd Tue Apr 23 13:11:15 2019
58 31 => "0111011010",
59 32 => "0101010010",
60 33 => "0001001000",
61 34 => "1111111111",
62 35 => "0000001000",
63
64
65 36 => "1101001010",
66 37 => "1001001010",
67 38 => "0100000010",
68
69 39 => "1111111111",
70 40 => "0000001110",
71 41 => "1101001110",
72 42 => "1101000000",
73 43 => "1101001110",
74 44 => "0000001110",
75 45 => "1111111111",
76
77
78 46 => "0000000000",
79 47 => "1110101110",
80 48 => "1101101110",
81 49 => "1011110101",
82 50 => "0000011011",
83 51 => "1111111111",
84 52 => "0000000000",
85
86
87 53 => "0111011010",
88 54 => "0111011010",
89 55 => "1000100000",
90
91
92 56 => "1111111111",
93 57 => "0000000000",
94 58 => "0101001110",
95 59 => "0101001110",
96 60 => "0101010001",
97 61 => "1111111111",
98 62 => "1111111111",
99 63 => "1111111111",
100 64 => "0000001000",
101 65 => "0101001010",
102 66 => "0101001010",
103 67 => "0101000010",
104 68 => "1111111111",
105 69 => "0000000000",
106 70 => "1110111010",
107 71 => "1101111010",
108 72 => "1011111010",
109 73 => "0000000000",
110 74 => "1111111111",
111 75 => "1111000000",
112 76 => "1111011101",
113 77 => "0000011011",
114 78 => "1111010111",

Page 2
CARACTERES.vhd Tue Apr 23 13:11:16 2019
115 79 => "1111000000",
116 80 => "1111111111",
117 81 => "0000011111",
118 82 => "1101011111",
119 83 => "1001011111",
120 84 => "0100011111",
121 85 => "1111111111",
122 86 => "0000000000",
123 87 => "0101001110",
124 88 => "0101001110",
125 89 => "0101001110",
126 90 => "1111111111",
127 91 => "1111100000",
128 92 => "1111111010",
129 93 => "1111111010",
130 94 => "1111100000",
131 95 => "1111111111",
132 96 => "0000000000",
133 97 => "0111111010",
134 98 => "0111110010",
135 99 => "0111101000",
136 100 => "1111111111",
137 101 => "0000000000",
138 102 => "1101001111",
139 103 => "1101001111",
140 104 => "0000001111",
141 105 => "1111111111",
142 106 => "0100000000",
143 107 => "0101001110",
144 108 => "0101001110",
145 109 => "0001000000",
146 110 => "1111111111",
147 111 => "1111101000",
148 112 => "1111101010",
149 113 => "1111101010",
150 114 => "1111100010",
151 115 => "1111111111",
152 116 => "0000011111",
153 117 => "0111011111",
154 118 => "0111011111",
155 119 => "1000111111",
156 120 => "1111111111",
157 121 => "0000000000",
158 122 => "0101001110",
159 123 => "0101001110",
160 124 => "0101010001",
161 125 => "1111111111",
162 126 => "0000000000",
163 127 => "0111101010",
164 128 => "0111101010",
165 129 => "0111101010",
166 130 => "1111111111",
167 131 => "1111111111",
168 132 => "1111111111",
169 133 => "1111111111",
170 134 => "0000000000",
171 135 => "1110101110",

Page 3
CARACTERES.vhd Tue Apr 23 13:11:16 2019
172 136 => "1101101010",
173 137 => "1110101010",
174 138 => "0000000010",
175 139 => "1111111111",
176 140 => "0000000000",
177 141 => "0111101111",
178 142 => "0111101111",
179 143 => "0000000000",
180 144 => "1111111111",
181 145 => "0000000000",
182 146 => "1110111010",
183 147 => "1101111010",
184 148 => "1011111010",
185 149 => "0000000000",
186 150 => "1111111111",
187 151 => "0000011110",
188 152 => "0111011110",
189 153 => "0111000000",
190 154 => "1010111110",
191 155 => "1101111110",
192 156 => "1111111111",
193 157 => "0000000000",
194 158 => "0111001010",
195 159 => "0111001010",
196 160 => "0000001010"
197 );
198 signal SALIDA_LED : std_logic_vector(9 downto 0);
199 signal CLOCK_DIVISOR : std_logic;
200
201 begin
202 -- divisor de reloj inicio
203 process(RES, CLK)
204 begin
205 if RES = '0' then
206 CLOCK_DIVISOR <= '0';
207 elsif rising_edge(CLK) then
208 CLOCK_DIVISOR <= not CLOCK_DIVISOR;
209 end if;
210 end process;
211
212 --divisor de reloj fin
213
214 process(RES, CLOCK_DIVISOR , PULS)
215 variable CONTEO_LETRAS : integer range 0 to 160;
216 begin
217
218
219
220
221 if RES = '0' then
222 CONTEO_LETRAS := 0;
223 SALIDA_LED <= "0000000000";
224 elsif rising_edge(CLOCK_DIVISOR)then
225 if CONTEO_LETRAS < 160 and PULS = '1' then
226 CONTEO_LETRAS := CONTEO_LETRAS + 1;
227 else
228 CONTEO_LETRAS := 0;

Page 4
CARACTERES.vhd Tue Apr 23 13:11:16 2019
229 end if;
230
231 SALIDA_LED <= MENSAJE_LED(CONTEO_LETRAS);
232 end if;
233
234 end process;
235
236 SALIDA <= SALIDA_LED;
237 end rtl;
238
239
240

Page 5

You might also like