Basic
Enviado por Luis Alvarez • 29 de Septiembre de 2015 • Ensayo • 531 Palabras (3 Páginas) • 253 Visitas
CMCON=7 'DESHABILITAMOS COMPARADORES
CUENTA VAR BYTE 'SE ESTABLECE LA VARIABLE CUENTA LA CUAL SERVIRÁ PARA INCREMENTAR EL TIMER 0
ON INTERRUPT GOTO TIEMPO 'ETIQUETA DE INTERRUPCIÓN
SYMBOL TOIF = INTCON.2 'BIT 2 DEL REGISTRO INTCON ES IGUAL A TOIF
SYMBOL GIE = INTCON.7 'BIT 7 DEL REGISTRO INTCON ES IGUAL A GIE
SYMBOL LED = PORTA.2 'EL LED ESTARÁ EN A2
OPTION_REG =%0000111 'CONFIG DEL REGISTRO OPTION REG
INTCON =%1010000 'CONFIG DEL REGISTRO CMCON
DISABLE
INICIO:
HIGH LED 'ENCIENDE LED
CALL TIEMPO 'LLAMA RUTINA DE TIEMPO
LOW LED 'APAGA LED
CALL TIEMPO 'VUELVE A LLAMAR RUTINA DE TIEMPO
GOTO INICIO 'VUEVE A INICIO
TIEMPO: 'ESTA RUTINA REPETIRA 4 VECES PARA OPTENER UN RETARDO DE 200ms
FOR CUENTA=1 TO 4 '4 VECES
CALL TIMER0 'LLAMA RUTINA DE TIMER 0
NEXT CUENTA 'CONTINUA INCREMENTANDO EL CONTADOR
RETURN
TIMER0: 'ETIQUETA PARA ESTABLECER EL RETARDO INICIAL
'TMR0 SE DESBORDARÁ CADA 50ms
'ENTONCES PARA LOGRAR LOS 200ms USARÉMOS LA SIG FORMULA:
'TIEMPO= 4 / PERIODO X VALOR A CARGAR EN TMR0 X VALOR DEL DIVISOR
'TMR0 = 256 - (0.050*50ms*/0.000256*256us*)= 60,68 = 61
TMR0=61 'DATO CALCULADO PARA OBTENER 50 ms
ESPERA:
IF TOIF=1 THEN RESET 'SI LA BANDERA TOIF ES 1 OSEA SI TMR0 ESTÁ DESBORDADO
GOTO ESPERA 'ENTONCES VA A ESPERA
RESET: 'ETIQUETA DE RESET PARA INICIALIZAR TOIF
TOIF=0
RETURN
RESUME
END
[pic 1]
...