Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LCD EN SPARTAN-3E
busy, rdy => puls, error => OPEN); Driver de la LCD u2: lcd_opciones port map ( clk =>clk, reset
=> reset, w1 => w1, primera posicion primera linea w2 => w2, w3 => w3, w4 => w4, w5 => w5,
w6 => w6, w7 => w7, w8 => w8, w9 => w9, w10=> w10, w11=> w11, w12=> w12, w13=> w13,
w14=> w14, w15=> w15, w16=> w16, w17=> w17, w18=> w18, w19=> w19, w20=> w20, w21=> w21,
w22=> w22, w23=> w23, w24=> w24, w25=> w25, w26=> w26, w27=> w27, w28=> w28, w29=>
w29, w30=> w30, w31=> w31, w32=> w32, ultima posicion segunda linea sf_d => sf_d, num =>
0000, lcd_e => lcd_e, lcd_rs => lcd_rs, lcd_rw => lcd_rw, sf_ce0 => sf_ce0); escribimos en
la LCD w1 <=s1; w2 <=s2; w3 <=s3; w4 <=s4; w5 <=s5; w6 <=s6; w7 <=s7; w8
<=s8; w9 <=s9; w10<=s10; w11<=s11; w12<=s12; w13<=s13; w14<=s14; w15<=s15;
w16<=s16; w17<=s17; w18<=s18; w19<=s19; w20<=s20; w21<=s21; w22<=s22;
w23<=s23; w24<=s24; w25<=s25; w26<=s26; w27<=s27; w28<=s28; w29<=s29;
w30<=s30; w31<=s31; w32<=s32;
Diseo MEF que controla el teclado y LCD Proceso 1 Combinacional proceso1:
process(edo_presente,codigo) lista sensitiva de estado_presente y scancode de teclado variable
key_press: std_logic_vector (7 downto 0); begin case codigo is when 00011100=>key_press:=
01000001;a when 00110010=>key_press:= 01000010;b when 00100001=>key_press:=
01000011;c when 00100011=>key_press:= 01000100;d when 00101011
=>key_press:=01000110; f when 00110100 =>key_press:=01000111; g when 00110011
=>key_press:=01001000; h when 01000011 =>key_press:=01001001; i when 00111011
=>key_press:=01001010; j when 01000010 =>key_press:=01001011; k when 01001011
=>key_press:=01001100; l when 00111010 =>key_press:=01001101; m when 00110001
=>key_press:=01001110; n when 01000100 =>key_press:=01001111; o when 01001101
=>key_press:=01010000; p when 00010101 =>key_press:=01010001; q when 00101101
=>key_press:=01010010; r when 00011011 =>key_press:=01010011; s when 00101100
=>key_press:=01010100; t when 00111100 =>key_press:=01010101; u when 00101010
=>key_press:=01010110; v when 00011101 =>key_press:=01010111; w when 00100010
=>key_press:=01011000; x when 00110101 =>key_press:=01011001; y when 00100100
=>key_press:=01000101; e when 00011010=>key_press:= 01011010; z when 00101001
=>key_press:=10100000; espacio when 00010110 =>key_press:=00110001; 1 when
00011110 =>key_press:=00110010; 2 when 00100110 =>key_press:=00110011; 3 when
00100101 =>key_press:=00110100; 4 when 00101110 =>key_press:=00110101; 5 when
00110110 =>key_press:=00110110; 6 when 00111101 =>key_press:=00110111; 7 when
00111110 =>key_press:=00111000; 8 when 01000110 =>key_press:=00111001; 9 when
01000101 =>key_press:=00110000; 0 when others=> key_press:=00000000; end case;
case edo_presente is when d0=> if(((codigo=00011100) or (codigo=00110010) or
(codigo=00100001) or (codigo=00100011) or (codigo=00100100) or (codigo=00101011) or
Video 2,
enlace: http://www.youtube.com/watch?v=8_eRoptPluo
Video 3, enlace: http://www.youtube.com/watch?v=k818JhW5nA
Continuando con el trabajo en dar la intefaz procedemos ha
chequear sintaxis donde posteriormente generamos y
configuramos la tarjeta mediante el accesorio de xilinx
ISE iMPACT con la opcin Configure Device (iMPACT).