Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Termometro digitale - atmega8535 - assembly

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] Termometro digitale - atmega8535 - assembly

Messaggioda Foto UtenteLesStrato » 21 mar 2012, 0:15

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!
Avatar utente
Foto UtenteLesStrato
-13 3
 
Messaggi: 35
Iscritto il: 20 mar 2012, 23:48

2
voti

[2] Re: Termometro digitale - atmega8535 - assembly

Messaggioda Foto Utentesimo85 » 22 mar 2012, 2:18

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.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[3] Re: Termometro digitale - atmega8535 - assembly

Messaggioda Foto Utentedarkweader » 21 set 2012, 2:48

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?

O_/
Avatar utente
Foto Utentedarkweader
61 2 7
Frequentatore
Frequentatore
 
Messaggi: 271
Iscritto il: 8 mag 2011, 17:32

0
voti

[4] Re: Termometro digitale - atmega8535 - assembly

Messaggioda Foto Utentecyclone » 21 set 2012, 21:08

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
Avatar utente
Foto Utentecyclone
86 2
New entry
New entry
 
Messaggi: 64
Iscritto il: 6 feb 2012, 11:38

0
voti

[5] Re: Termometro digitale - atmega8535 - assembly

Messaggioda Foto Utentedarkweader » 25 set 2012, 18:05

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

ADC_r_e_s_u_l_t_=\frac{V_i_n G 256}{V_r_e_f}=162.5--->162  ???

Complessivamente il termometro dovebbe avere una risoluzione pari a

1LSB=\frac{V_r_e_f}{256}=10mV --> 0.2°C

potete dirmi quante stupidate ho detto?
Avatar utente
Foto Utentedarkweader
61 2 7
Frequentatore
Frequentatore
 
Messaggi: 271
Iscritto il: 8 mag 2011, 17:32


Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti