IMC!


Contenuti


Foto

 







Curiosando...
Novita  Novità Link  Link Blog  Blog English  Español 
02 - Routine di ritardo

 | 

Questo articolo illustra un circuito completo, ma solo una routine utile per implementare rapidamente dei ritardi durate l'esecuzione del programma. L'idea di base è quella di tenere occupato il PIC con una serie di operazioni, come NOP o GOTO, in numero sufficiente a ottenere il ritardo voluto. La variabile K1 permette di variare il ritardo tra 10ms e 256ms a passi di 10ms. Tuttavia, modificando K2 e K3 opportunamente, è possibile ottenere altri intervalli di ritardo.
Esistono sicuramente soluzioni più efficienti e eleganti per creare ritardi, come l'utilizzo dei timer interni al PIC, ma questa routine è particolarmente semplice e rapida da utilizzare in fase di programmazione. Nei codici successivi questo programma sarà sempre utilizzato sottoforma di funzione, alla quale viene passato K1 come valore nel registro W.



; -------------------
; RITARDO
; -------------------
; --------------------------------------------------------------
; Questa funzione implementa una semplice routine di ritardo
; che varia da 10ms fino a 2560ms. Il valore è impostato tramite
; K1 con passi di 10ms.
; --------------------------------------------------------------

; ----------------------------
; Direttive per l'assemblatore
; ----------------------------
  LIST p=16F877
  RADIX dec
  INCLUDE "p16F877.inc"
  __CONFIG _HS_OSC & _PWRTE_ON & _WDT_OFF & _CP_OFF & _LVP_OFF & _BODEN_OFF
  ORG 0x0000

; ---------
; Variabili
; ---------
K1 EQU 1
X1 EQU 0x20
K2 EQU 116
X2 EQU 0x21
K3 EQU 61
X3 EQU 0x22

; -------------------
;        Main
; -------------------
    MOVLW K1
    MOVWF X1
LOOP1:
    MOVLW K2
    MOVWF X2
LOOP2:
    MOVLW K3
    MOVWF X3
LOOP3:
    GOTO SALTO1
SALTO1:
    GOTO SALTO2
SALTO2:

    DECFSZ X3,F
    GOTO LOOP3
    DECFSZ X2,F
    GOTO LOOP2
    DECFSZ X1,F
    GOTO LOOP1

STOP: GOTO STOP
  END

 


 | 







Commenti

Nessun commento presente!

Scrivi un commento

Pui scrivere quì sotto un commento all'articolo che hai appena letto. Non sono abilitate smile, immagini e link. La lunghezza massima del commento è 4000 caratteri. La buona educazione è benvenuta, tutti i commenti offensivi saranno cancellati.

Your comment (lascia bianco!):
Utente (max 25 caratteri, obbligatorio)
Sito web (max 255 caratteri, facoltativo)
e-Mail (max 255 caratteri, facoltativa, non sarà pubblicata) Your opinion (lascia bianco!):
Commento (max 4000 caratteri, obbligatorio):





Valid HTML 4.01 Transitional
E-Mail - 85.53 ms

Valid HTML 4.01 Transitional