Autor Tema: poner temporizador si x=0x00 || x=0x01 && avtivado=1  (Leído 1155 veces)

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

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
poner temporizador si x=0x00 || x=0x01 && avtivado=1
« en: 15 de Octubre de 2009, 13:53:53 »
hola, e estado intentando hacer que el PIN A1 del pic 16f873a en ccs c demore su activacion, si y solo si x=0x00 o x=0x01, pero con activado =1 (activado es una variable). pero no e conseguido nada. la idea es hacer que se retarde la activacion unos 30 0 40 seg si sucede lo anterior (x=0x00 o x=0x01 &&activado =1), y en cualquier otro caso el pin A1 se active de forma inmediata (pero siempre mi variable activado =1), ó si en estos 30 o 40 seg toma las dos situasiones mensionadas y no pasandose de este tiempo el pin A1 queda sin hacer nada, pero pasado este tiempo y x es x!=0x00 entonces A1 pasa a high. bueno alguna ayudita al respecto ??  :mrgreen:

bueno a qui les dejo un codigo de lo que pretendo.

Código: [Seleccionar]
int16 x;
char activado;

void main()
{    
   output_high(PIN_C5);

  while(true){
   activado=GETC();
   x=input_B();
   putc(0x00 + x);
  if(activado==1){
   output_high(PIN_A0);
  }else{
  output_low(PIN_A0);
  output_low(PIN_A1);
  }
 if(x!=0x00&&activado==1){output_high(PIN_A1);}
  }
}

le explico un poquito. chequeo el puerto b del pic y ademas veo como esta mi variable "activado" si en 1 ó 0, si es 1 y mi puerto b distinto de cero (x=input_B entonces X!=0x00), se activa el pin A1 en caso contrario esta encero.

por favor me daria una ayudita con este problemita por favor.  :-/  :mrgreen:
« Última modificación: 15 de Octubre de 2009, 23:58:02 por japifer_22 »