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
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..
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
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
@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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.