www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR DS18B20+ LCD


Autor: derjan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

ich werkele momentan an einem standalone lcd-thermometer herum.. habe 
momentan das problem, dass ich nicht weiss, wie der ds18b20 die 
messdaten ausgibt.. nein ist schon klar wie XD nur nicht in welchem 
format, und wie ich das dann umrechnen kann, sodass meine LCD 
ansteuerungsroutine dass so verwursten kann dass ich wenn der DS ne 1 
ausgibt auch ne 1 auf dem lcd lesen kann.. denn die hex- werte vom DS 
sind sicher nicht die gleichen wie die die das lcd benutzt?

ich hoffe ihr wisst wovon ich rede oder? ich suche quasi eine routine, 
die einen messwert von einem DS18b20 so umwandelt, dass ein KS0070B LCD 
controller damit was anfangen kann.. weiss da jemand was?

mfg
jan

Autor: Michael Wolf (mictronics) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal die Suche in der Codesammlung bemüht? Auch Google hilft 
meistens...

Autor: derjan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sicher.

nur das problem ist, dass ich das ganze gerne in assembler hätt.. peter 
danneger hat hier dazu schonmal was gepostet, worin so eine routine 
steckt.. ich hab nur das problem dass mein mega8 scheinbar einen reset 
verursacht, wenn ich versuche die eingelesenen werte umrechnen zu 
lassen.. habe irgendwie das gefühl, dass diese routine für ein lcd im 4 
bit modus gedacht ist :

Beitrag "Mehrere DS1820/DS18B20 auslesen"

der betreffende code ist:

hex_out:
  rcall  _hxo1
  mov  temp, temp2
_hxo1:  swap  temp
  mov  temp2, temp
  andi  temp, 0x0F
  cpi  temp, 10
  brcs  _hxo2
  subi  temp, 10 + '0' - 'A'
_hxo2:  subi  temp, -'0'


zu finden in "outval"


ist das für den 4 bit modus? da wird ja geswapt, dadurch komm ich 
dadrauf.. ich denk die rechnung die gemacht werden muss, damit das LCD 
die messwerte versteht nicht so kompliziert ist, allerdings bin ich noch 
einsteiger..

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am besten, Du fängst erstmal klein an, z.B. Textausgabe auf LCD, 
Zahlenausgabe, Zähler ab/auf mit 2 Tasten usw.

Die obige Routine macht ihrem Namen entsprechend ein Hexadezimalausgabe 
(0..F), d.h. keine Dezimalausgabe (0..9).

Deshalb muß geswapt werden (2. Nibble ausgeben).

Üblicher Weise schreibt man einzelne Funktionen, also Zahlenumwandlung 
ist eine und Ausgabe auf LCD ne andere, die dann wiederum aus einzelnen 
Unterfunktionen besteht usw.

Der Umwandlungsfunktion ist es also vollkommen wurscht, ob 4Bit- oder 
8Bit-LCD oder ob über UART an ein Terminalprogramm usw.


Peter

Autor: derjan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
alles klar.. war mir bloss jetzt nicht so sicher was die macht.. danke..

die sache mit der textausgabe hab ich schon, allerdings hab ich keine 
routine, die mir die anzuzeigenden buchstaben in hex umwandelt, wie in 
deinem beispiel, sondern hab mir die zeichen aus der tabelle im 
lcd-datenblatt gesucht..

um das umzurechnen benutzt du dec_out oder? oops hab mich nochmal 
umgeschaut...

hatte die namen deiner routinen jetzt anders interpretiert.. so machts 
natürlich sinn..


mfg

PS: @ umwandlungsfunktion- letzte absätze: klar ist logisch, so 
programmieren wir in der schule auch.. nur ist halt immer die frage ob 
sich auch alle dran halten oder :P

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Derjan

Hier ist das Datenblatt zu holen.
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2812

Dort ist beschrieben, wie man ihn ansteuert und in welchem Format er 
seine
Daten ausgibt.

Mit Assembler kann ich nicht dienen; bin Bascom- Mann. ;-)

MfG Paul

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.