Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 07 ottobre 09, 18:37   #1 (permalink)  Top
User
 
L'avatar di elicottero78
 
Data registr.: 14-05-2005
Residenza: bergamo
Messaggi: 1.278
numeri esadecimali x pic?

ciao a tutti,vorrei incominciare a provare a imparare a programmare i pic con linguaggio c

e x questo sono anche alla ricerca di un easypic5....se qualcuno la vende...........io la compro

comunque.....piu o meno ho capito come fare i calcoli con i numeri esadecimali e binari....ma la mia domanda é

ha cosa servono questi numeri????

servono x dare un tempo x un operazione?
servono x dare un voltaggio?...del tipo....a 5 volt fai partire questo o spegni quel altro
ecc???

spiegatemi x favore.....
__________________
NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s
GRUPPO LASER https://www.facebook.com/groups/1880460478909243/
elicottero78 non è collegato   Rispondi citando
Vecchio 07 ottobre 09, 19:29   #2 (permalink)  Top
User
 
L'avatar di illez
 
Data registr.: 06-08-2007
Residenza: Empoli
Messaggi: 1.813
Citazione:
Originalmente inviato da elicottero78 Visualizza messaggio
ciao a tutti,vorrei incominciare a provare a imparare a programmare i pic con linguaggio c

e x questo sono anche alla ricerca di un easypic5....se qualcuno la vende...........io la compro

comunque.....piu o meno ho capito come fare i calcoli con i numeri esadecimali e binari....ma la mia domanda é

ha cosa servono questi numeri????

servono x dare un tempo x un operazione?
servono x dare un voltaggio?...del tipo....a 5 volt fai partire questo o spegni quel altro
ecc???

spiegatemi x favore.....
non ho ben capito di quali numeri parli
__________________
.......
illez non è collegato   Rispondi citando
Vecchio 07 ottobre 09, 20:09   #3 (permalink)  Top
User
 
L'avatar di elicottero78
 
Data registr.: 14-05-2005
Residenza: bergamo
Messaggi: 1.278
quelli che si scrivono x compilare il programma del pic,prima di essere trasformati in HEX
__________________
NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s
GRUPPO LASER https://www.facebook.com/groups/1880460478909243/
elicottero78 non è collegato   Rispondi citando
Vecchio 07 ottobre 09, 20:50   #4 (permalink)  Top
User
 
L'avatar di Naraj
 
Data registr.: 25-07-2004
Residenza: Trieste
Messaggi: 5.652
Citazione:
Originalmente inviato da elicottero78 Visualizza messaggio
quelli che sic=rivono x compilare il programma del pic,prima di essere trasformati in HEX
I numeri esadecimali che compongono il programma per il pic hanno diverse funzioni.

Principalmente ogni numero è un codice di istruzione del programma.
Poi, in certi casi, il numero che segue un'istruzione, può essere il codice di un numero puro o di un carattere alfabetico (codice Ascii).
Sempre dopo una istruzione si può trovare un codice numerico che indica un salto a una riga di programma in avanti oppure indietro.

Ho solo voluto indicarti la varietà di possibilità che si trova dietro a un solo codice esadecimale di un programma.

Per iniziare a programmare è meglio seguire un buon manuale o un buon libro, leggerlo con pazienza e poi vedrai che il tutto non è molto complicato come sembrava dalla mia descrizione iniziale.

Naraj.
Naraj non è collegato   Rispondi citando
Vecchio 07 ottobre 09, 22:21   #5 (permalink)  Top
User
 
L'avatar di illez
 
Data registr.: 06-08-2007
Residenza: Empoli
Messaggi: 1.813
Sembra semplice, ma partendo così da zero bisognerebbe scrivere un trattato su cos'è una CPU, come funziona, sulla RAM, sulle rappresentazioni numeriche etc etc

Provo ad esemplificare, anche con qualche imprecisione, giusto per aggiungere qualcosa in più a quanto ti ha già correttamente detto Naraj.

Intanto puoi leggerti
Architettura di von Neumann - Wikipedia
e
CPU - Wikipedia

Letto questo, avrai chiaro che la CPU legge delle celle di memoria, per semplicità supponiamo formate da 8 bit. Questi 8 bit formano un numero da 00000000 a 11111111.
Lo stesso numero lo puoi scrivere in tanti modi, a seconda della base che utilizzi; la base indica il numero di simboli che utilizzi per scrivere il numero.
I numeri di cui sopra, in base 10 (quella che usiamo correntemente), sono equivalenti a 0 e 255. I numeri son sempre gli stessi, cambia la maniera di scriverli.
In base 16 (16 cifre, da 0 a 9 poi A, B, C, D, E ed F) si scrivono 00 e FF; in base 8 sono 000 e 377 etc etc
(in base 255,se trovassi 255 cifre diverse, sarebbero 0 e 10)
La CPU legge dalla memoria questo numero e a seconda del suo valore compie una ben precisa operazione (istruzione).
Per esempio, incrementa il contenuto di una locazione di memoria di 1; oppure lo confronta con 0 e così via.

In generale nelle architetture memory mapped I/O, dove appunto ingressi e uscite sono mappati in memoria, alcuni indirizzi di memoria corrispondono in realtà a dispositivi di ingresso /uscita. Per sempio, scriveno un valore in una locazione di memoria, si attiva o meno un certo dispositivo.
Nei PIC succede una cosa del genere.

Mi fermo qui, altrimenti passa la nottata...
__________________
.......
illez non è collegato   Rispondi citando
Vecchio 07 ottobre 09, 22:39   #6 (permalink)  Top
User
 
L'avatar di BBC25185
 
Data registr.: 19-01-2007
Residenza: Dintorni di mestre (DINTORNI)
Messaggi: 2.574
Per fare un esempio, il Pic usa istruzioni composte da 14 bit che dicono il comando con la variabile:

Per esempio:
00 0000 0xx0 0000 è il comando di Nop (esegue un ciclo senza fare nulla)
01 00bb bfff ffff è il comando BCF (Bit clear f dove le lettere bbb indicano quale bit del dato contenuto nel registro fff ffff)

Tutto questo si trova nel datasheet del pic che si vuole usare!!!
BBC25185 non è collegato   Rispondi citando
Vecchio 07 ottobre 09, 23:18   #7 (permalink)  Top
User
 
L'avatar di elicottero78
 
Data registr.: 14-05-2005
Residenza: bergamo
Messaggi: 1.278
GRAZIE A TUTTI X LE RISPOSTE
cavolo,pensavo che imparando una cosa..sarei riuscito ad imparare meglio le altre,ma non è cosi

intanto incomincio a leggere queste

Architettura di von Neumann - Wikipedia
e
CPU - Wikipedia

mi potete consigliare anche qualche sito buono x incominciare?
ricordo che sono un principiante su queste cose,grazie
__________________
NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s
GRUPPO LASER https://www.facebook.com/groups/1880460478909243/
elicottero78 non è collegato   Rispondi citando
Vecchio 07 ottobre 09, 23:55   #8 (permalink)  Top
User
 
L'avatar di Naraj
 
Data registr.: 25-07-2004
Residenza: Trieste
Messaggi: 5.652
Per completare provo a descrivere cosa sono i codici esadecimali


Il codice esadecimale di un programma per il microprocessore PIC (vale anche per gli altri microp.) è formato da due caratteri alfanumerici (numeri o lettere).
Come già detto con questi due caratteri si possono avere 255 combinazioni e quindi tradurli in 255 istruzioni diverse per un programma.

Esempio (codici di fantasia)

E7 = incrementa
25 = somma
8C = confronta
0B = salta

A seguito di queste istruzioni, ci possono essere altri due o quattro caratteri (sempre esadecimali) che indica dei numeri (veri). Questi numeri possono essere il valore dell’incremento, il numero da sommare, da confrontare, passi di istruzione da saltare o indirizzi di memoria.
A volte ci può essere solo una istruzione “secca” alla quale non segue nessun numero.
Quando vedi un programma registrato in una memoria, vedi una sequenza di caratteri tutti uno di seguito all’altro senza spazi tra di loro
Per distinguere se un byte è un’istruzione oppure è un valore di un’operazione, si deve partire dall’inizio del programma. Un byte codice di programma indica cosa deve fare e se deve essere seguito oppure no da un byte per l’operazione che deve eseguire.

Es.
E7 (incrementa) non è seguito da un secondo byte in quanto incrementa sempre di 1 il valore in memoria.
0B (salta) è seguito da un byte che indica di quanti passi saltare.

Poiché per il programmatore è difficile tenere a mente la funzione di 255 codici esadecimali, è stato abbinata ad ogni istruzione le iniziali dei nomi (inglesi) della funzione che esegue quella istruzione.

Es.

E7 (incrementa) = INC
25 (somma) = ADD
8C (confronta) = COMP
0B (salta) = JMP

Di solito si scrive il programma con le istruzioni in mnemonico e poi si passa il tutto ad un programma traduttore (compilatore) che riscrive le istruzioni in esadecimale o in binario e si memorizza il tutto nel PIC.

Naraj.

p.s. Non spaventarti. Se sei motivato, è più semplice di quello che si crede.
Naraj non è collegato   Rispondi citando
Vecchio 08 ottobre 09, 00:35   #9 (permalink)  Top
User
 
L'avatar di elicottero78
 
Data registr.: 14-05-2005
Residenza: bergamo
Messaggi: 1.278
bravo,gia da questa tua informazione,mi hai tirato su di morale.......
volevo chiederti
oltre a queste 4 funzioni....che mi hai scritto,posso trovare qualche sito che mi elenca tutti i nomi in inglese con imparte il significato in italiano e magari anche con il numero esadecimale come hai fatto tu adesso?

E7 (incrementa) = INC
25 (somma) = ADD

8C (confronta) = COMP
0B (salta) = JMP
__________________
NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s
GRUPPO LASER https://www.facebook.com/groups/1880460478909243/
elicottero78 non è collegato   Rispondi citando
Vecchio 08 ottobre 09, 01:22   #10 (permalink)  Top
User
 
L'avatar di elicottero78
 
Data registr.: 14-05-2005
Residenza: bergamo
Messaggi: 1.278
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
__________________
NUOVO DRONE TAGLIATO AL LASER CO2 https://www.youtube.com/watch?v=cBgCVNyPH5c&t=7s
GRUPPO LASER https://www.facebook.com/groups/1880460478909243/
elicottero78 non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
Mi spiegate quei numeri? Alfredo2 Aeromodellismo Volo Elettrico 2 24 gennaio 09 00:28
che numeri fanno??? markino Aeromodellismo 3 21 dicembre 08 19:07
Numeri eliche Twister Aeromodellismo Volo Elettrico 3 29 luglio 06 09:56
Pic, mio caro Pic.... fai4602 Circuiti Elettronici 7 24 novembre 03 19:34



Tutti gli orari sono GMT +2. Adesso sono le 08:16.


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