evento como por ejemplo el encendido de una luz, LED, activacin de una bobina de un rel o
lectura de una determinada entrada, se suele recurrir a los retardos. Prcticamente casi todos
los programas de microcontroladores PIC usan en algun momento una rutina de retardo.
El tpico programa del parpadeo de un LED hace uso de estas rutinas para generar una
demora entre los cambios de estado de un LED que se enciende y se apaga, el tiempo que
tenemos entre el encendido y apagado viene determinado por la rutina de retardo..
Los retardos en los PIC los podemos generar de dos formas diferentes:
Por Software.
Temporizador/Contador de 8 bits.
; Delay = 5 seconds
; Clock frequency = 4 MHz
cblock
c1
c2
c3
endc
Delay
movlw
0x2C
movwf
c1
movlw
0xE7
movwf
c2
movlw
0x0B
movwf
c3
Delay_0
decfsz c1, f
goto
$+2
decfsz c2, f
goto
$+2
decfsz c3, f
goto
Delay_0
goto
$+1
nop
return
;---------------Encabezado-------------
LIST
p=16f84
radix
hex
;------------mapa de memoria---------
estado equ
0x03
TRISB
equ
0x06
ptob
equ
0x06
; Haciendo asignaciones
reg1
equ
0x0C
reg2
equ
0x0D
reg3
equ
0x0E
;-------Configuracin de puertos-------
reset
org
0x00
goto
inicio
inicio bsf
estado,5
movlw
b'00000000'
movwf
TRISB
bcf
estado,5
ahora
bsf
ptob,0
call
retardo
bcf
ptob,0
call
retardo
goto
ahora
retardo movlw
de retardo.
tres
dos
10
movwf
reg1
movlw
20
movwf
reg2
movlw
30
movwf
reg3
uno
decfsz reg3,1
anidados.
goto
uno
decfsz reg2,1
goto
dos
decfsz reg1,1
goto
tres
retlw
00
end