LCD_RS at RB4_bit;
LCD_EN at RB5_bit;
LCD_D4 at RB0_bit;
LCD_D5 at RB1_bit;
LCD_D6 at RB2_bit;
LCD_D7 at RB3_bit;
sbit
sbit
sbit
sbit
sbit
sbit
LCD_RS_Direction at TRISB4_bit;
LCD_EN_Direction at TRISB5_bit;
LCD_D4_Direction at TRISB0_bit;
LCD_D5_Direction at TRISB1_bit;
LCD_D6_Direction at TRISB2_bit;
LCD_D7_Direction at TRISB3_bit;
// Resetear el contador
Keypad_Init();
adcon1=0B0110;
digitales
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
Primero=1;
// Inicializar el Keypad
//configura las entradas y salidas como seales
// Iniciar el LCD
// Borrar el display
// Apagar el Cursor
// El valor 1 se almacena en la variable Primero
// kp = Keypad_Key_Press ();
Keypad
kp = Keypad_Key_Click();
// Se carga el cdigo de la tecla en la variable Kp
while (!kp);
// CONDICION MIENTRAS Kp est en 0 se mantiene en el lazo y
si est en 1 sale del lazo
// Si Kp tiene valores distintos de 0 Realiza lo siguiente
// Preparar valor para la salida, clave transformada a su valor ASCII
switch (kp) {
// Permite la ejecucin de un grupo de instrucciones de varios
grupos posibles, dependiendo del valor de una variable.
// Evala el valor de kp, entre los valores 1 al 16 y le da un valor ascii dependiendo del
valor de kp
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
1: kp = 1; break; // 1
2: kp = 2; break; // 2
3: kp = 3; break; // 3
4: kp = 10; break; // A
5: kp = 4; break; // 4
6: kp = 5; break; // 5
7: kp = 6; break; // 6
8: kp = 11; break; // B
9: kp = 7; break; // 7
10: kp = 8; break; // 8
11: kp = 9; break; // 9
12: kp = 12; break; // C
13: kp = 14; break; // *
14: kp = 0; break; // 0
15: kp = 15; break; // #
16: kp = 13; break; // D
// caso 1 ejecuta Kp = 1
// caso 2 ejecuta Kp = 2
// caso 3 ejecuta Kp = 3
// caso 4 ejecuta Kp = 10
// caso 5 ejecuta Kp = 4
// caso 6 ejecuta Kp = 5
// caso 7 ejecuta Kp = 6
// caso 8 ejecuta Kp = 11
// caso 9 ejecuta Kp = 7
// caso 10 ejecuta Kp = 8
// caso 11 ejecuta Kp = 9
// caso 12 ejecuta Kp = 12
// caso 13 ejecuta Kp = 14
// caso 14 ejecuta Kp = 0
// caso 15 ejecuta Kp = 15
// caso 16 ejecuta Kp = 13
}
// INGRESO DE VALORES
//PRIMER VALOR
if (primero == 1)
// Si la variable Primero es igual a 1 Ingresar el primer valor
{
// Presentar los valores en cada variable
cent=dec;
dec=uni;
uni=kp;
inttostr (uni,struni);
Lcd_out(1, 10, struni);
if (dec!=0)
{
inttostr (dec,strdec);
Lcd_out(1, 9, strdec);
}
if (cent!=0)
{
inttostr (cent,strcent);
Lcd_out(1, 8, strcent);
}
}
// SEGUNDO VALOR
if (primero == 0)
// Si la variable Primero es igual a 0 Ingresar el segundo valor
{
// Presentar los valores en cada variable
cent2=dec2;
dec2=uni2;
uni2=kp;
inttostr (uni2,struni2);
Lcd_out(1, 10, struni2);
1,10
if (dec2!=0)
{
inttostr (dec2,strdec2);
Lcd_out(1, 9, strdec2);
1,9
}
if (cent2!=0)
{
inttostr (cent2,strcent2);
Lcd_out(1, 8, strcent2);
1,8
}
}
if(kp>=10);
operador=kp;
}
}