Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Pic 12f508 - variare il tempo di pausa


Messaggi consigliati

Inserito:

buonasera a tutti voi del forum, sono alle prime armi e di istruzioni in asm sono propriomesso male.

Ho scritto questo semplice progammino ma vorrei aumentare il tempo di pausa, portarlo a 10sec o 50 o addirittura 1min,o usato NOP ma se ne metto tanti mi da errore !

Chi mi puo aiutareeeeeeeeeeeeee!

Però vorrei capire l'istruzione che si usa e perche . Inoltre dove trovo del materiale didattico che mi spiega proprio le basi e le varie istruzioni ? in rete ce tanto ma un po confuse!

movwf OSCCAL

movlw b'11111100'

start

bsf GPIO,1

nop

nop

nop

nop

nop

nop

bsf GPIO,0

nop

nop

nop

nop

nop

nop

bcf GPIO,0

nop

nop

nop

nop

nop

nop

bcf GPIO,1

nop

nop

nop

nop

nop

nop

goto start

end

grazieeeeeeeeeeeeeeeeeeee


Inserita:

Usare le NOP per creare un ritardo è un metodo barbaro. Il micro cicla senza far nulla. Comunque se proprio vuoi usare questo sitema scrivi una decina di NOP per creare un ritardo di qualche usec (dipende dal clock del micro), poi crei un loop che ripete n volte queste istruzioni, così moltiplichi il tuo ritardo.

Il metodo più corretto è quello di programmare uno dei timer del micro. Al termine del conteggio il timer genera un interupt. Se, ad esempio, hai un quarzo da 8 MHz e carichi 45535 (65535 -45535=20000)nel timer, questi conterà 20000 clock da 0.5 msec e dopo 10 ms generà un interrupt. Contando questi interrupts potrai farti dei temporizzatori precisi senza impegnare le risorse di CPU.

Sulla rete c'è tantissimo materiale sui PIC. Ti consiglio di cercare il sito di Sergio Tanzilli perchè ci trovi un ottimo tutorial sui PIC

Inserita:

grazie Livio, mi insegni a farlo in un modo e nell'altro perpiacere!

uso l'oscillatore interno a 4Mhz

grazie rolleyes.gif

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...