Paso 4: Vamos a hacer alguna programación
Así que ahora que tenemos los circuitos, el trabajo está ahí ^^!Estoy usando un pic 16F88 de microchip por lo que voy a usar el IDE de MPLAB para programar, el lenguaje utilizado es el C, MPLAB necesita un compilador especial (shareware) llamado CCS pero puede escribir el programa en ensamblador (no voy a enseñar cómo hacerlo en asm).
Aquí le damos las funciones y la definición de varios de unas líneas:
#include < 16F88.h >
#fuses INTRC, NOPROTECT, NOWDT, NOLVP
#use Delay(Clock=4000000)
#define pin_B7 Y1
#define pin_B6 Y2
#define pin_B5 Y3
#define pin_B4 Y4
#define X1 pin_A0
#define X2 pin_A7
#define X3 pin_A6
#define LED_OK pin_A1
#define LED_NO pin_A2
#define a 10
#define cero 11
#define B 12
int L1 = 0, L2 = 0, L3 = 0, L4 = 0;
void Clavier()
{
L1 = 0; L2 = 0; L3 = 0; L4 = 0;
output_high(Y1);
output_low(Y2);
output_low(Y3);
output_low(y4);
Si (input(X1))
{
L1 = 7;
}
else if (input(X2))
{
L1 = 8;
}
else if (input(X3))
{
L1 = 9;
}
output_low(Y1);
output_high(Y2);
output_low(Y3);
output_low(y4);
Si (input(X1))
{
L2 = 4;
}
else if (input(X2))
{
L2 = 5;
}
else if (input(X3))
{
L2 = 6;
}
output_low(Y1);
output_low(Y2);
output_high(Y3);
output_low(y4);
Si (input(X1))
{
L3 = 1;
}
else if (input(X2))
{
L3 = 2;
}
else if (input(X3))
{
L3 = 3;
}
output_low(Y1);
output_low(Y2);
output_low(Y3);
output_high(y4);
Si (input(X1))
{
L4 = A; Lettre A
}
else if (input(X2))
{
L4 = CERO; Chiffre 0
}
else if (input(X3))
{
L4 = B; B lettre
}
}
Code() vacío
{
Si (L1 == 7 & & L2 == 5 & & L3 == 2 & & L4 == A)
{
output_high(LED_OK);
output_low(LED_NO);
L1 = 0; L2 = 0; L3 = 0; L4 = 0;
delay_ms(1000);
output_low(LED_NO);
output_low(LED_OK);
}
else if (L1 == 0 || L2 == 0 || L3 == 0 || L4 == 0)
{
output_low(LED_NO);
output_low(LED_OK);
}
else if (L1! = 7 & & L2! = 5 & & L3! = 2 & & L4! = A)
{
output_high(LED_NO);
output_low(LED_OK);
delay_ms(1000);
output_low(LED_NO);
output_low(LED_OK);
L1 = 0; L2 = 0; L3 = 0; L4 = 0;
}
}
Y aquí tenemos el programa principal que llame a la función hemos visto
#include "fonctions.h"
void main()
{
while(1)
{
Clavier();
Code();
}
}
Podemos leer el teclado, cada línea por cada línea y entonces buscamos si el código es el correcto!
Eso es todo amigos!!!
Buena suerte