Vai al contenuto
PLC Forum


Pic 16F84 istruzioni con f<=127 - come fare se ho numeri <=255???


Messaggi consigliati

Inserito:

Salve a tutti, sono nuovo di questo forum e sto facendo i primi esperimenti programmando un 16F84 in .ASM.

Ho collegato su PORTB un data bus proveniente da un A/D converter da 8 bit.

Le mie domande sono queste: usando l'istruzione movf per acquisire il valore su PORTB, mi sparisce il bit meno significativo? Se si, come posso fare per rimpiazzarlo (usando btfsc o btfss??) Non c'è qualche modello di pic che consenta di trasferire i dati da un registro all'altro copiando tutti e 8 i bit? Oppure, se passassi ad un pic con A/D C integrato a 10 bit, come farei ad ottenere un numero <= a 255 che è ciò che mi serve?

Grazie anticipatamente a chi mi risponderà.


Inserita:

1 - l'istruzione "movf' trasferisce il contenuto di un registro da 8 bits in un altro da 8 bits; non si cancella nessun bit e non si influenza nessun flag. Così è la specifica di Microchip e così l'ho sempre usata senza inconvenienti.

2 - Se passi ad un A/D converter da 10 bits devi usare 2 bytes. Come? questo dipende dal tipo di converter. Se hai 10 bits in parallelo dovrai usare altri due ingressi. Se usi un convertitore che fa 2 fasi trasferendo il primo bytes, poi il secondo, puoi usare solo una porta, ma devi usare sempre due bytes di memoria.

Domanda. Perchè non usi un altro pic? Per esempio 16F88 è identico, è simile al 16F84 ma ha più memoria e ha gia A/D converter da 10 bits integrati. Le porte A sono anche canali analogici.

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...