Muchos programas necesitan un control de tiempo fiable, esta rutina realiza un retardo de varios cientos de microsegundos que deseemos.
Hay que declarar los registros PDel1 y PDel0.
Para llamarla rutina:
movlw PPcall Ret100
Donde PP es el número de cientos de microsegundos
La rutina es:
Ret100 movwf PDel1movlw 0x1E ; set numero de repeticion
movwf PDel0
PLoop0 decfsz PDel0, 1 ; es el tiempo 0?
goto PLoop0 ; no, loop
decfsz PDel1, 1
goto loop
return
loop movlw 0x20 ; set numero de repeticion
movwf PDel0
decfsz PDel0, 1 ; es el tiempo 0?
goto PLoop0 ; no, loop
Funciona con un Xtal de 4MHz