TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: gio013 en 19 de Septiembre de 2009, 13:44:13
-
ola ola
tengo lo siguiente.. debo hacer una calculadora con un pad 4X 4 y mostrar los valores en un lcd, pero resulta que el lcd me imprime todo,
en ves de imprimir me el valor que le doy me imprime todos los valores, no se que pasa y ya me estoy arrancando lo cabellos :S
agradecería su ayuda.
#include<18f2550.h>
#device adc=10
#use delay(clock=4000000)
#fuses xt,put,mclr,nolvp,nobrownout,PROTECT,nowdt
#define use_portb_lcd TRUE
#include<lcd.c>
float Vector1[8];
float Vector2[8];
int32 tecla;
int i;
void main()
{
lcd_init();
lcd_putc("por favor digite en el teclado \n en el teclado\f");
setup_adc_ports(an0);//configurar entrada analoga
setup_adc(ADC_CLOCK_INTERNAl);//fosc inter adc
while (true)
{
set_adc_channel(0);
delay_us(1);
tecla=read_adc();
if (tecla>0)
{
vector1[i]=tecla;
if(tecla=184)
{lcd_putc("borrar");
ç
if(tecla=253)
{lcd_putc("7");
}
if(tecla=327)
{lcd_putc("4");
}
if(tecla=367)
{lcd_putc("1");
}
if(tecla=417)
{lcd_putc("/");
}
if(tecla=454)
{lcd_putc("8");
}
if(tecla=495)
{lcd_putc("5");
}
if(tecla=519)
{lcd_putc("2");
}
if(tecla=562)
{lcd_putc("*");
}
if(tecla=583)
{lcd_putc("9");
}
if(tecla=608)
{lcd_putc("6");
}
if(tecla=623)
{lcd_putc("3");
}
if(tecla=705)
{lcd_putc("-");
}
if(tecla=715)
{lcd_putc("+");
}
if(tecla=728)
{lcd_putc("0");
}
if(tecla=735)
{lcd_putc("enter");
}
i=i++;
delay_ms(1);
}
}
}el lcd imprime borrar741/852*963-+0enter muchas veces aunque no mueva su valor.
la verdad es que ya no se ni que estoy haciendo XD
uso ccs compiller
-
añade otro signo de = a los if ya que si no asijna el valor , if(valor= 0x00)... Lo que hace es asijnar la variable valor a 0x00 y no hace la funcion if... Prueba con if(valor==0x00)
-
por favor sigue opinando en este tema
http://www.todopic.com.ar/foros/index.php?topic=27626.0