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


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 24 marzo 11, 00:41   #1 (permalink)  Top
User
 
L'avatar di Mrk89
 
Data registr.: 29-05-2006
Residenza: Catania
Messaggi: 2.933
Citazione:
Originalmente inviato da faustog_2 Visualizza messaggio
...I registri ADRESH e ADRESL si caricano dello stesso valore.. non esiste che uno mantiene i primi 8 bit e l'altro i due rimanenti.. ripeto entrambi si caricano dello stesso valore
Sicuro che non sia tu a leggere due volte il valore dello stesso registro?
...Ne viene che il 16F876 nel convertire un segnale analogico gestisce max 8 bit... e non 10 come scritto.
Mi sembra molto strano!! Il 876 in particolare non l'ho mai utilizzato, ma ho utilizzato il 870,873,877, e sono tutti a dieci bit!!Quindi è molto più probabile un errore da parte tua
Venerdi mi arrivano i 18F2320 credo che sarà un'altra musica.
Programmare i pic della famiglia 18 in Assembler? Non fare pazzie!! Impara ad utilizzare il C.
Per quanto riguarda il consiglio di passare al C, io lo approvo pienamente!!
Pensa per esempio quanto è facile leggere un ingresso analogico ( An0 ) ( qualunque sia la lunghezza del suo risultato )per esempio 10bit, sommargli una cifra ( 512 ) e mandarlo in output sul portB ed i restanti bit più significativi sul portA:

PORTB= Adc_Read(0)+512;
PORTA= Adc_Read(0)>>8;

Oppure fare un semplice ritardo espresso in millisecondi (123 per esempio):

delay_ms(123);

Fine!! Senza tutti quei mov, loop, ecc ecc.....
__________________
Il filo attaccato all'antenna non mente mai....Troppo vento, si torna a casa....
I miei circuiti elettronici autocostruiti: Postbruciatore per ventole intubate ; Circuito luci per aeromodello-elimodello ; Rallenta servo con protezione da corto circuito
Mrk89 non è collegato   Rispondi citando
Vecchio 24 marzo 11, 11:50   #2 (permalink)  Top
User
 
L'avatar di ElNonino
 
Data registr.: 06-05-2007
Residenza: Tre Ville (Preore)
Messaggi: 3.605
Invia un messaggio via MSN a ElNonino
int16: adresult

adresult = ADRESH <<8 | ADRESL

il 16F876 HA il convertitore AD a 10 bit, usato personalmente e funzionante.

Mi associo nel consigliarti il passaggio al 'C', è gratis quello della Microchip.

__________________
Peace & Love
Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein)
ElNonino non è collegato   Rispondi citando
Vecchio 13 aprile 11, 01:07   #3 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
pensa

a parte la semplicità del C ecc.. pensa come invece programmando in Assembler si riesce ad ottenere il massimo della precisione in termini di controllo hardware !!! specie per la generazione di ritardi, oppure la ottimizzazione di firmware,

alla fine se riflettiamo un attimo risolti i vari problemi, è sufficiente fare copia incolla e si riesce a lavorare con EEPROM, TIMER, porte ANALOGICHE, PORTE I/O digitali con poco sforzo .. quasi come lavorare in C, con il vantaggio però di avere tutto sotto controllo e non dipendere da nessun ambiente di sviluppo... l'unico strumento note pad e il datasheet basta!

a dopo
fausto




Citazione:
Originalmente inviato da Mrk89 Visualizza messaggio
Per quanto riguarda il consiglio di passare al C, io lo approvo pienamente!!
Pensa per esempio quanto è facile leggere un ingresso analogico ( An0 ) ( qualunque sia la lunghezza del suo risultato )per esempio 10bit, sommargli una cifra ( 512 ) e mandarlo in output sul portB ed i restanti bit più significativi sul portA:

PORTB= Adc_Read(0)+512;
PORTA= Adc_Read(0)>>8;

Oppure fare un semplice ritardo espresso in millisecondi (123 per esempio):

delay_ms(123);

Fine!! Senza tutti quei mov, loop, ecc ecc.....
faustog_2 non è collegato   Rispondi citando
Rispondi

Bookmarks



Strumenti discussione
Visualizzazione

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
Sul futaba gy240,servo digitale o analogico? Fulvio76 Elimodellismo Motore Elettrico 48 29 agosto 10 01:31
In coda, servo analogico o digitale? mark.me Elimodellismo Motore Elettrico 13 07 novembre 09 10:36
Come posso testare servo digitale e analogico frenky Radiocomandi 4 19 aprile 09 16:20
Digitale o Analogico....? marcomesuraca Automodellismo Mot. Scoppio On-Road 24 03 marzo 07 19:55



Tutti gli orari sono GMT +2. Adesso sono le 01:13.


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