Salve a tutti,
mi sono appena iscritto al forum per avere alcuni chiarimenti da gente certamente + preparata di me. L'elettronica mi piace molto, mi sono da sempre dilettato in varie applicazioni ma non avevo mai intrapreso la via della programmazione dei microcontrollori. Devo dire che è un campo molto interessante e dalle grandi potenzialità, ho da poco iniziato a smanettarci un po'. Per iniziare ho scelto un classico, un termometro digitale da programmare in linguaggio assembly. Come microcontrollore ho deciso di utilizzare un atmega8535 in modo da evitare un adc esterno; sensore di temperatura un lm35 (che ve lo dico a fare) e per quanto riguarda il display sono iniziati a sorgere i primi dilemmi: 7 segmenti o lcd? Il 7 segmenti lo trovo molto out, sull'eleganza dell'lcd non si discute, ma ho visto che questi funzionano tramite codice ascii, come si traduce con l'assembly?
Il principio di funzionamento è banale, il sensore rileva il segnale di temperatura e lo invia all'adc del microcontrollore che lo rende digitale, dopodichè questo segnale digitale dovrà esser visualizzato sul display collegato ad un pin d'uscita. Il mio problema sta nel convertire tutto ciò che ho appena detto in linguaggio assembly! Non vi dico di fornirmi il codice perché sarebbe troppo, ma di spiegarmi in linea generale come procedere nella programmazione, dirmi se in quanto ho detto precedentemente ho commesso degli errori e soprattutto darmi un input su come agire...Grazie in anticipo!
Termometro digitale - atmega8535 - assembly
Moderatore:
Paolino
5 messaggi
• Pagina 1 di 1
0
voti
2
voti
LesStrato ha scritto:Il mio problema sta nel convertire tutto ciò che ho appena detto in linguaggio assembly!
Solitamente i fabbricanti riportano all'interno del datasheet vari esempi di codice, la Atmel non è da meno per quanto riguarda l'ATmega8535 anche se al momento nella sezione ADC non c'è molto.
Ti segnalo quindi questo PDF, questo, questo, questo, questo e questo sito.
0
voti
ho realizzato anche io un circuito simile, dovrei però ora visualizzare la temperatura (comprese le cifre decimali) su 4 display 7seg, avrei bisogno di una routine di conversione che mi scomponga il valore letto dall'ADC (quindi ADCH e ADCL) in almeno 3 registri e precisamente DecineTemp, UnitàTemp, PrimaCifraDecTemp, il linguaggio, come nel caso del post è l'assembly qualche indicazione?


-

darkweader
61 2 7 - Frequentatore

- Messaggi: 271
- Iscritto il: 8 mag 2011, 17:32
0
voti
ragazzi, un consiglio...
esistono due strade fondamentali per imparare a programmare i micro.... per poter realizzare dei veri progetti.
1) studiare il set di istruzioni assembly e smanettare con i registri per far lampeggiare qualche led o leggere qualche pulsante..... in questo modo sarete a diretto contatto con la cpu e capirete molto bene la gestione a basso livello, ma, e sottolineo ma, per realizzare un progettino se pur semplice dovrete sudare molte camicie prima di vederlo funzionare, specialmente se volete interfacciare periferiche grafiche o interfacce per lo storage e la comunicazione.
2) seconda alternativa... avete studiato il micro codice macchina e l'assembly, allora adesso installate un bel compilatore open-free o qualcosa di più professionale ad alto livello spendendo qualcosina... in questo modo potrete realizzare tutto quello che vi passa per la testa, aggiungere display grafici, lcd, sd-card, protocolli di cominicazione ecc ecc.
Il forum qui presente "electroyou" lo reputo davvero professionale, tocca molti argomenti ed è gestito da persone molto preparate.
Per i micro avr risc di Atmel, vedi atmega e i nuovi xmega vi invito a visionare un nuovo forum ufficiale italiano che si trova a questo indirizzo e che anche io frequento con piacere:
http://www.delucagiovanni.com/public/phpbb3/index.php
ciao
esistono due strade fondamentali per imparare a programmare i micro.... per poter realizzare dei veri progetti.
1) studiare il set di istruzioni assembly e smanettare con i registri per far lampeggiare qualche led o leggere qualche pulsante..... in questo modo sarete a diretto contatto con la cpu e capirete molto bene la gestione a basso livello, ma, e sottolineo ma, per realizzare un progettino se pur semplice dovrete sudare molte camicie prima di vederlo funzionare, specialmente se volete interfacciare periferiche grafiche o interfacce per lo storage e la comunicazione.
2) seconda alternativa... avete studiato il micro codice macchina e l'assembly, allora adesso installate un bel compilatore open-free o qualcosa di più professionale ad alto livello spendendo qualcosina... in questo modo potrete realizzare tutto quello che vi passa per la testa, aggiungere display grafici, lcd, sd-card, protocolli di cominicazione ecc ecc.
Il forum qui presente "electroyou" lo reputo davvero professionale, tocca molti argomenti ed è gestito da persone molto preparate.
Per i micro avr risc di Atmel, vedi atmega e i nuovi xmega vi invito a visionare un nuovo forum ufficiale italiano che si trova a questo indirizzo e che anche io frequento con piacere:
http://www.delucagiovanni.com/public/phpbb3/index.php
ciao
0
voti
il valore convertido dall'ADC dovrebbe essere (da datasheet):
considerando i seguenti settaggi:
-n=8bit
-single ended mode
-Vref=2,56 (internal reference)
-GAIN=5 circuito di condizionamento del sengale non-inverting oamp(ua741)
supponendo di avere una temperatura di 32.5°C -->Vin=325mV
avendo 10mV/°C con un Guadagno "G" pari a 5
Complessivamente il termometro dovebbe avere una risoluzione pari a
--> 0.2°C
potete dirmi quante stupidate ho detto?
considerando i seguenti settaggi:
-n=8bit
-single ended mode
-Vref=2,56 (internal reference)
-GAIN=5 circuito di condizionamento del sengale non-inverting oamp(ua741)
supponendo di avere una temperatura di 32.5°C -->Vin=325mV
avendo 10mV/°C con un Guadagno "G" pari a 5
Complessivamente il termometro dovebbe avere una risoluzione pari a
--> 0.2°Cpotete dirmi quante stupidate ho detto?
-

darkweader
61 2 7 - Frequentatore

- Messaggi: 271
- Iscritto il: 8 mag 2011, 17:32
5 messaggi
• Pagina 1 di 1
Torna a Realizzazioni, interfacciamento e nozioni generali.
Chi c’è in linea
Visitano il forum: Nessuno e 5 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


