Cofrades Picmanianos, vengo tal vez, con una duda muy trivial, espero que me puedan ayudar, sería para mi de gran ayuda que pudiera hacerlo, para una mayor comprensión, colocaré el código a continuación y en breve, la explicación de lo que quiero hacer, lo que no me da, y lo que espero hacer mas adelante:
#include <16F877.h>
#use delay(clock=2000000)
#fuses NOWDT,NOPROTECT,NOLVP,NODEBUG
#define use_portb_kbd TRUE
#define use_portb_lcd TRUE
#include <LCD.C>
#include <KBD.C>
char CLAVE[5];
char k; //defino como caracter
byte j=16, DIR;
//DIR; //defino como byte otra constante, otra forma
void main() {
port_b_pullups(TRUE); // Resistencias de Pull up
lcd_init();
kbd_init();
delay_ms(300);
//es para que se deslice la palabra DIGITADO:
for (j=16; j>=1; --j)
{
lcd_gotoxy(j,1);
(lcd_putc("CONTROL PID "));
delay_ms(100);
lcd_putc("/F");
}
delay_ms(1000);
lcd_gotoxy(1,1); //esta el puntero
(lcd_putc("CONTROLADORES"));
lcd_gotoxy(j,2); //esta el puntero
for (j=16; j>=1; --j)
{
lcd_gotoxy(j,2);
(lcd_putc("1.P 2.PI 3.PID "));
delay_ms(100);
}
while (TRUE)
{
k=0;
k=kbd_getc();
if( (k!=' '))
{
// ->CONTROL P
if ((k='1'));
{
printf(lcd_putc,"f" );
(lcd_putc("INGRSE Kc: "));
lcd_gotoxy(12,1);
}
// ->CONTROL PI
if ((k='2'));
{
printf(lcd_putc,"f" );
(lcd_putc("INGRSE Kc: "));
lcd_gotoxy(12,1);
printf(lcd_putc,"f" );
(lcd_putc("INGRSE Ti: "));
lcd_gotoxy(12,1);
printf(lcd_putc,"f" );
(lcd_putc("INGRSE Tp: "));
lcd_gotoxy(12,1);
}
if ((k='3'));
{
printf(lcd_putc,"f" );
(lcd_putc("INGRSE Kc: "));
lcd_gotoxy(12,1);
printf(lcd_putc,"f" );
(lcd_putc("INGRSE Ti: "));
lcd_gotoxy(12,1);
printf(lcd_putc,"f" );
(lcd_putc("INGRSE Td: "));
lcd_gotoxy(12,1);
printf(lcd_putc,"f" );
(lcd_putc("INGRSE Tp: "));
lcd_gotoxy(12,1);
}
}
}
}
Bueno, hasta el momento llevo esto de código, sin embargo falta mucho mas por hacer, lo que quiero que me haga este pequeño programa, es escoger entre los 3 tipos de control (P, PI, PID), estoy leyendo un teclado hexadecimal y necesito que cuando apriete el número "1", me seleccione contro P, pero lo que sucede es que me lleva inmediatamente al último, necesito que me reconozca este número, no se que estoy colocando mal, estoy todavía muy nuevo en esto de programar en c, muchisimas gracias por su ayuda camaradas, espero que me puedan ayudar, sería de gran ayuda.