Con cuatro interruptores cambiar 8 displays con su valor hexadecimal - TERASIC DE2

Placas completas (con o sin programador incorporado): Terasic, Altera, "chinas", etc
Avatar de Usuario
Subcritical
Spartan 3
Mensajes: 225
Registrado: 24 Ago 2018, 14:52

Con cuatro interruptores cambiar 8 displays con su valor hexadecimal - TERASIC DE2

Mensaje por Subcritical » 28 Ene 2019, 15:14

Es un ejemplo para placas alteras, cambiando el fichero .qsf se puede portar a otros entrenadores de terasic.
El modelo de placa usado es el Terasic DE2_70.

El corazón del programilla es una sentencia case que enciende los diodos dentro de las 128 posibilidades las 16 que tienen sentido para nosotros , 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.

Código: Seleccionar todo

		// seg = {6,5,4,3,2,1,0};
		// 0 es encendido y 1 es apagado
		
			case (hex_digit)
			4'b0000 :  seg_0 = ~7'b0111111; // Hexadecimal 0   // ---0----
			4'b0001 :  seg_0 = ~7'b0000110; // Hexadecimal 1   // |      |
			4'b0010 :  seg_0 = ~7'b1011011; // Hexadecimal 2   // 5      1
			4'b0011 :  seg_0 = ~7'b1001111; // Hexadecimal 3   // |      |
			4'b0100 :  seg_0 = ~7'b1100110; // Hexadecimal 4   // ---6----
			4'b0101 :  seg_0 = ~7'b1101101; // Hexadecimal 5   // |      |
			4'b0110 :  seg_0 = ~7'b1111101; // Hexadecimal 6   // 4      2
			4'b0111 :  seg_0 = ~7'b0000111; // Hexadecimal 7   // |      |
			4'b1000 :  seg_0 = ~7'b1111111; // Hexadecimal 8   // ---3----
			4'b1001 :  seg_0 = ~7'b1101111; // Hexadecimal 9
			4'b1010 :  seg_0 = ~7'b1110111; // Hexadecimal A
			4'b1011 :  seg_0 = ~7'b1111100; // Hexadecimal B
			4'b1100 :  seg_0 = ~7'b0111001; // Hexadecimal C
			4'b1101 :  seg_0 = ~7'b1011110; // Hexadecimal D
			4'b1110 :  seg_0 = ~7'b1111001; // Hexadecimal E
			4'b1111 :  seg_0 = ~7'b1110001; // Hexadecimal F
			endcase	



EJEMPLO ALTERA DE2_70:
Entrenadora 4.zip
(4.39 KiB) Descargado 341 veces
photo_2019-01-28_14-37-54.jpg
photo_2019-01-28_14-37-54.jpg (186.57 KiB) Visto 3350 veces

Responder

Volver a “Placas entrenadoras”