La configuració per defecte del microcontrolador és amb un rellotge de 4 MHz. Cada instrucció normal requereix quatre cicles de rellotge i, per tant, cada instrucció normal s'executa en un microsegon (us). Quan la instrucció que s'executa no és la següent (perquè hi ha un salt en el programa) es perden quatre cicles de rellotge i, per tant, triga 2 μs en executar-se. En aquest apartat estem suposant la configuració per defecte.
Per a retards de pocs microsegons podem fer servir la instrucció nop que introdueix un retard d'un microsegon.
La funció següent crea un bucle de retard de 0,77 ms. No importa quin valor tingui l'acumulador. L'acumulador no es modifica.
Retard1 EQU 0x20 ; Variable de retard
; ; Funció de retard de 0,8 ms ; RetC: decfsz Retard1,f goto RetC return
La funció següent crea un bucle de retard de 0,2 s. No importa quin valor tingui l'acumulador. L'acumulador no es modifica.
Retard1 EQU 0x20 ; Variables de retard Retard2 EQU 0x21
; ; Funció de retard de 0,2 s ; RetM: decfsz Retard1,f goto RetM decfsz Retard2,f goto RetM return
La funció següent crea un bucle de retard variable. L'acumulador conté el nombre de cops que es repeteix el bucle i cada bucle dura uns 3 μs. Per exemple, amb un valor d'entrada de 10 tindrem un bucle de 30 μs. L'acumulador no es modifica.
Retard1 EQU 0x20 ; Variable de retard
; ; Funció de retard ; Retus: movwf Retard1 Bucleus: decfsz Retard1,f goto Bucleus return
La funció següent crea un bucle de retard variable. L'acumulador conté el nombre de cops que es repeteix el bucle i cada bucle dura 771 μs. Per exemple, amb un valor d'entrada de 13 tindrem un bucle de 10 ms. L'acumulador no es modifica.
Retard1 EQU 0x20 ; Variables de retard Retard2 EQU 0x21
; ; Funció de retard ; Retms: movwf Retard2 Buclems: decfsz Retard1,f goto Buclems decfsz Retard2,f goto Buclems return
La funció següent crea un bucle de retard variable. L'acumulador conté el nombre de cops que es repeteix el bucle i cada bucle dura 0,2 s. Per exemple, amb un valor d'entrada de 10 tindrem un bucle de 2 s. L'acumulador no es modifica.
Retard1 EQU 0x20 ; Variables de retard Retard2 EQU 0x21 Retard3 EQU 0x22
; ; Funció de retard de 0,2 W s ; Rets: movwf Retard3 Bucles: decfsz Retard1,f goto Bucles decfsz Retard2,f goto Bucles decfsz Retard3,f goto Bucles return

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.