BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   numeri esadecimali x pic? (https://www.baronerosso.it/forum/circuiti-elettronici/147950-numeri-esadecimali-x-pic.html)

BBC25185 08 ottobre 09 08:15

Per quanto riguarda le istruzioni, basta scaricarsi il datasheet del PIC in questione lì cè descritto tutto quello che serve!!! (tutto in inglese, però)

Per esempio, il PIC16F84 ha un totale di 35 istruzioni con cui puoi fare tutto!!!

Il problema è che non è così semplice far funzionare un PIC!!!
Mi spiego meglio...
Mentre con il PC con programmi come C, per fare a+b basta scrivere c=a+b, nel pic non è così...
In un Pic bisognerebbe fare:
Carica il valore di A nel registro W
Somma il valore di B con W
Trasferisci il valore di W nel registro C

Quindi, per fare un programma come dici tu, bisognerebbe realizzare tutta la parte relativa al conteggio del tempo (non è difficile... basta prendere un pò di pratica)...
Quindi sarebbe una cosa così (saltando tutta la parte di inizializzazzione):
BSF PortB,0 (Imposta il Bit 0 della Porta B in uscita a 1)
(routine di attesa basata sul timer interno calcolato sui 5 secondi)
BCF PortB,0 (imposta il Bit 0 della Porta B a 0)
(routine di attesa calcolata sui 3 secondi)
Goto Inizio programma (ricomincia tutto da capo)

illez 08 ottobre 09 08:16

Citazione:

Originalmente inviato da elicottero78 (Messaggio 1736188)
un altra cosa

senza scrivere tutto il programma,ma cosa scriveresti x far accendere un led x 5 secondi e spegnerlo x 3 secondi e cosi via......intermittente.....

mi interessa x capire dove e come si intendono i secondi di accensione e i secondi di spegnimento

grazie ancora

a questo punto io darei un'occhiata qui:
Home page
e poi ne riparliamo :wink:

illez 08 ottobre 09 08:25

Citazione:

Originalmente inviato da BBC25185 (Messaggio 1736204)
.
Mentre con il PC con programmi come C, per fare a+b basta scrivere c=a+b, nel pic non è così...

Non vorrei contraddirti a quest'ora del mattino, ma nemmeno nel PC è così :wink:
Anche le CPU del tu computer capiscono solo l'assembler.

E anche i PIC possono essere programmati in C...

E' il compilatore che trasforma quello che tu scrivi in C (o altro linguaggio) in assembler per la CPU target.

MSchiepp 08 ottobre 09 08:46

Citazione:

Originalmente inviato da Naraj (Messaggio 1736145)
Come già detto con questi due caratteri si possono avere 255 combinazioni e quindi tradurli in 255 istruzioni diverse per un programma.

Veramente 256, dato che c'è anche lo 0!

Michele

Naraj 08 ottobre 09 10:23

Citazione:

Originalmente inviato da MSchiepp (Messaggio 1736216)
Veramente 256, dato che c'è anche lo 0!

Michele

Hai perfettamente ragione.

Naraj.

elicottero78 08 ottobre 09 13:50

Citazione:

Originalmente inviato da illez (Messaggio 1736205)
a questo punto io darei un'occhiata qui:
Home page
e poi ne riparliamo :wink:


intanto grazie ancora a tutti

invece di fare domande a iosa....ora mi ci metto a leggere quello che mi avete consigliato.....
man mano che trovo difficolta o qualcosa che non capisco......posto qui le domande x chiedervi di nuovo aiuto

grazie

pollovolante 08 ottobre 09 18:25

Citazione:

Originalmente inviato da illez (Messaggio 1736206)
Non vorrei contraddirti a quest'ora del mattino, ma nemmeno nel PC è così :wink:
Anche le CPU del tu computer capiscono solo l'assembler.

E anche i PIC possono essere programmati in C...

E' il compilatore che trasforma quello che tu scrivi in C (o altro linguaggio) in assembler per la CPU target.

Piccola imprecisione,qualsiasi CPU,PIC compresi "capiscono" solo il codice macchina composto da numeri binari,l'assembler non e' altro che la trasposizione di questi codici in istruzioni mnemoniche (parole) piu' facili da ricordare per il nostro cervello.E' poi compito del compilatore o assemblatore trasformare il mnemonico in numeri...

rivp6 08 ottobre 09 20:18

Allora, se il tuo desiderio è avvicinarti alla programmazione dei micro usando una piattaforma come la easypic, forse faresti meglio a orientarti anche su un linguaggio di livello più alto come il C o il basic, notoriamente meno ostico. sul loro sito puoi scaricarti vari compilatori (perfettamente free ed usabili con un limite di 2k). Ciò ti semplificherebbe decisamente la vita. La difficoltà dei microcontrollori, siano PIC o AVR o altro, di solito sono le impostazioni di configurazione e qui serve inglese, datasheet, padronanza di elettronica e delle conversioni binario/esadecimale/decimale.
Se invece vuoi la pappa ancora più pronta e nessun problema di hardware e configurazione, dai un occhio alla pagina del progetto Arduino.
Poi se vuoi una easypic4 in buone condizioni, vedo un'attimo a quanto posso venderla, in quanto è uscita da poco la versione 6 e magari mi aggiorno.

elicottero78 08 ottobre 09 22:39

Citazione:

Originalmente inviato da rivp6 (Messaggio 1737075)
Allora, se il tuo desiderio è avvicinarti alla programmazione dei micro usando una piattaforma come la easypic, forse faresti meglio a orientarti anche su un linguaggio di livello più alto come il C o il basic, notoriamente meno ostico. sul loro sito puoi scaricarti vari compilatori (perfettamente free ed usabili con un limite di 2k). Ciò ti semplificherebbe decisamente la vita. La difficoltà dei microcontrollori, siano PIC o AVR o altro, di solito sono le impostazioni di configurazione e qui serve inglese, datasheet, padronanza di elettronica e delle conversioni binario/esadecimale/decimale.
Se invece vuoi la pappa ancora più pronta e nessun problema di hardware e configurazione, dai un occhio alla pagina del progetto Arduino.
Poi se vuoi una easypic4 in buone condizioni, vedo un'attimo a quanto posso venderla, in quanto è uscita da poco la versione 6 e magari mi aggiorno.

grazie x l info,ora mi aggiorno

dimenticavo....preferivo puntare su easypic5

illez 08 ottobre 09 22:43

Citazione:

Originalmente inviato da pollovolante (Messaggio 1736939)
Piccola imprecisione,qualsiasi CPU,PIC compresi "capiscono" solo il codice macchina composto da numeri binari,l'assembler non e' altro che la trasposizione di questi codici in istruzioni mnemoniche (parole) piu' facili da ricordare per il nostro cervello.E' poi compito del compilatore o assemblatore trasformare il mnemonico in numeri...

vero :wink:
ma ancora non avevo bevuto il caffé:P

L'imprecisione deriva dal fatto che tra assembler e codice macchina c'è una corrispondenza uno a uno (a parte l'elaborazione di direttive o simboli).

Ogni singola istruzione in C (o altro) genera una o di norma più istruzioni in codice macchina.


Tutti gli orari sono GMT +2. Adesso sono le 19:27.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002