Autor Tema: COMO CALCULAR TIEMPO DE ANCHO DE PULSOS LISTO PARA USAR  (Leído 1766 veces)

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

Desconectado jhefren

  • PIC10
  • *
  • Mensajes: 42
COMO CALCULAR TIEMPO DE ANCHO DE PULSOS LISTO PARA USAR
« en: 02 de Noviembre de 2005, 07:48:00 »
Saludos a todos
les tengo una rutina en assembler para calcular los
pulsos de baja frecuencia es la siguiente:

dos registro nada más:

CONTA_1          EQU       1BH
CONTEO           EQU       21H  

una deficición nada más:
#DEFINE          BIT_CONTEO PORTB,0   ;BIT QUE HABILITA CONTEO INTERNO TIMER OPTION

rutina para calcular tiempo de pulso:

CONTAR:          BTFSS  BIT_CONTEO  ;SE MANTIENE AQUI ESPERANDO NIVEL ALTO
                   GOTO   $-1
                  BTFSC  BIT_CONTEO  ;PREGUNTA SI EL NIVEL AHORA ES BAJO
                  GOTO   $-1         ;SI LO ES SALTA Y CUENTA, SINO RETROCEDE    
INCRE_1:         CALL   DELAY_1MS   ;RETARDO DE 1 Mseg
                 INCF   CONTA_1,0   ;INCREMENTA  CONTADOR CONTA_1
                 MOVWF  CONTA_1     ;SACO DATO PARA SABER SI ES CERO
                 BTFSC  STATUS,2    ;VERIFICA SI SE REBOSO CONTADOR SINO CUENTA
                 INCF   CONTEO,1    ;INCREMETA SEGUNDO CONTADOR
                 BTFSS  BIT_CONTEO  ;
                 GOTO   INCRE_1
                 return

La rutina incrementa dos contadores uno es CONTA_1 que es el menos significativo
el otro es CONTEO que es el más significativo, cada incremento es de 1 milisegundo
supongamos que conto 456, eso multiplicado por 1 mseg da como ancho de pulso
456 mseg. es facil de usar.  CUALQUIER MEJOR POR FAVOR COLOQUENLA AQUI MISMO
GRACIAS DE ANTEMANO.