viernes, 11 de abril de 2014

LABORATORIO DE RETARDO "luces del auto fantastico"


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