Un retardo, es una
forma de control de tiempo en la programación del PIC,
Las instrucciones
'normales' utilizan un ciclo de máquina para ejecutarse, un ciclo
máquina es la unidad
básica de tiempo de ejecución de un programa en un PIC y
depende de la
velocidad del oscilador.
Hay instrucciones
llamadas de salto como goto,return, call, btfss etc que necesitan
2 ciclos máquina para
ejecutarse.
Si contamos los
ciclos máquina de una determinada parte de instrucciones de un
programa, podremos
controlar los tiempos de retardo.
Como sabemos que
F=1/T, siendo F=frecuencia y T=tiempo, podemos determinar
cuánto tiempo
consumirá una instrucción en el microcontrolador, sabiendo que
para ejecutar una
instrucción el microcontrolador utiliza 4 pulsos de reloj.
Ej : Si un
microcontrolador funciona a 4MHz, ¿qué tardará en ejecutar una
instrucción?
F=1/4T -> T=1*4/F
Si F=4MHz
T=1/F = 1*4/4000000
=1useg
Es decir que para un
reloj de 4 MHz, cada instrucción simple tardará 1 useg, y
para las
instrucciones de salto tardará 2useg.
CÓDIGO DEL PROGRAMA
LIST p=16F877A
#INCLUDE <P16F877A.INC>
__CONFIG _WDT_OFF&_PWRTE_ON&_XT_OSC&_LVP_OFF&_CP_OFF ; Configuración para
ORG 0x00 ; Inicio de programa
N EQU 0x22
cont1 EQU 0x20
cont2 EQU 0x21
BCF STATUS,RP0 ; Accede a banco 0
BCF STATUS,RP1
CLRF PORTB ; Limpia PORTB
BSF STATUS,RP0 ; Accede a banco 1
CLRF TRISB ; Configura todas las patitas de PORTB como salidas
BCF STATUS,RP0 ; Regresa a banco 0
BSF PORTB,0 ; La línea RA0 de PORTB toma el valor 1, se enciende el LED
Encledsec
CALL Retardo ; Llamada a la rutina de retardo
RLF PORTB,1 ; Recorre el bit de RB0 a RB7
GOTO Encledsec ; Va a la etiqueta Encledsec
Retardo ; Rutina de retardo
MOVLW d'200'
MOVWF cont1
Rep1
MOVLW d'200'
MOVWF cont2
Rep2
DECFSZ cont2,1
GOTO Rep2
DECFSZ cont1,1
GOTO Rep1
Rep3
MOVLW d'200'
MOVWF cont2
Rep4
DECFSZ cont2,1
GOTO Rep4
DECFSZ cont1,1
GOTO Rep3
RETURN ; Retorno a la llamada de rutina de retardo.
END ; Fin de programa
Wilmar fernando girldo 31528
Jose David quitero peña 31343
Daniel mora 30632
No hay comentarios:
Publicar un comentario