Autor Tema: ayuda con instruccion sleep()  (Leído 5733 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado quirogaareal

  • PIC16
  • ***
  • Mensajes: 180
Re: ayuda con instruccion sleep()
« Respuesta #15 en: 04 de Agosto de 2006, 19:13:38 »
Pelusac:

No hay problema.

Maunix:

ok me fijare es eso pero esto me pasa solo en la simulacion, habra que ver que acontece cuando implementemos el 2do hardware.

saludos
Recuerda : Si una mujer te ama de verdad no te pedira ni Matrimonio, Ni concubinato , Ni hijos, No te mentira , ni buscara que cambies de opinion con respecto a las tres primeras opciones.

Saludos

desde Cordoba Argentina

Desconectado quirogaareal

  • PIC16
  • ***
  • Mensajes: 180
Re: ayuda adc 16f876
« Respuesta #16 en: 07 de Agosto de 2006, 09:48:19 »
Hola Muchachos:

Lo del sleep ya esta ahora tengo otro problema.

1)entro en el 16f876 com una señal para sensar cuanto queda de bateria y cuando hago la comparacionm impromir ya sea 50%   25% o lo que quede de bateria segun la comparacion, pero no me funciona, a esta instruccion la puse en main ya que quiero que se ejecute solo una vez al encender el equipo. ¿sugerencias?

2)si yo quisiera sensar una bateria que fuera de alimentacion negativa como haria para entrar al conversor del pic ya que este no acepta tensiones negativas?


CODIGO


void main(void)
{int Pob,copia,PobN,copiaN,unidad,formato;//po
float valor,valorN,kp=1,kn=1,Ku=1;

lcd_init( ); //inicializamos lcd
lcd_putc("  Medidor de \n  Presion...");
delay_ms(1000);
lcd_putc("\f");
setup_adc_ports(ALL_ANALOG);

setup_adc(ADC_CLOCK_INTERNAL);

enable_interrupts(int_ext); //activar interrupcion externa
ext_int_edge(H_TO_L); //configuracion:interrupcion cuando señal esta en baja
enable_interrupts(GLOBAL); //activar interrupciones
//port_b_pullups(TRUE);


set_adc_channel(2);//Para la bateria
delay_ms(100);
dato=read_adc();




lcd_gotoxy(1,1);
lcd_putc("BATERIA...");
lcd_gotoxy(6,2);
printf(lcd_putc,"dato %4x ",dato);

if(dato<=0x9)
{
lcd_gotoxy(1,2);
lcd_putc("100%  ");
}
if(dato>=5)
{
lcd_gotoxy(1,2);
lcd_putc("75%  ");
}
if(dato>3)
{
lcd_gotoxy(1,2);
lcd_putc("50%  ");
}
if(dato>1)
{
lcd_gotoxy(1,2);
lcd_putc("25%  ");
delay_ms(5000);
}





Recuerda : Si una mujer te ama de verdad no te pedira ni Matrimonio, Ni concubinato , Ni hijos, No te mentira , ni buscara que cambies de opinion con respecto a las tres primeras opciones.

Saludos

desde Cordoba Argentina

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: ayuda adc 16f876
« Respuesta #17 en: 07 de Agosto de 2006, 14:54:51 »
Si te fijas tu código, así como está hecho suceden lo siguiente:

Tus comparaciones no estan anidadas con 'else' por lo cual se ejecutarán todas y casi siempre será válida la ultima dato > 1.  La única razon por la que se de la primer condición  es que dato sea <= 1.  En ese caso mostrará 100% en todos los demás casos mostrará 25%.

Además, comparas valores muy pequeños!  si usas modo 8 bits, tendrás 5V / 255 = 1.96mV por paso.

Si tienes 1, serán 1.96mV
Si tienes 3, serán 5.88 mV
Si tienes 9, serán 17.64 mV


Escalalo mas!
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado quirogaareal

  • PIC16
  • ***
  • Mensajes: 180
Re: ayuda con instruccion sleep()
« Respuesta #18 en: 08 de Agosto de 2006, 06:50:17 »
Hola Maunix:

Si precisamente ese era el error escalado y if else.

tendrias alguna sugerencia para el otro inconveniente ? o sea el sensado de bateria negativo?


saludos
Recuerda : Si una mujer te ama de verdad no te pedira ni Matrimonio, Ni concubinato , Ni hijos, No te mentira , ni buscara que cambies de opinion con respecto a las tres primeras opciones.

Saludos

desde Cordoba Argentina


 

anything