- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 173

Thema: Portbelegung auf ATMega für LCD1602

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.191
    Wie kann ich "Zahlen" in das LCD schreiben? Ein LCD kennt ja keine "Ziffern" oder "Zahlen". Das sind alles nur "Zeichen". Oder liege ich mit dieser Annahme falsch?
    Das siehst Du genau richtig.
    Du hast also im Prinzip 4 Werte ( bei einer 3 stelligen Zahl ). Also den eigentlichen Zahlenwert und den ASCII Wert der einzelnen Stellen.
    Und das eine Format muss in das andere gewandelt werden ( Üblicherweise der Zahlenwert in die ASCII Zeichen ).
    In Assembler kann man das so lösen, das man den eigentlichen Zahlenwert durch 10 Teilt und die Reste dann in ASCII Zeichen umwandelt ( eine Methode von mehreren ). Die Division kannst Du in Hardware machen ( falls der verwendete Controllertyp das hergibt ), oder Du musst eine Routine dafür schreiben.
    Dann kannst Du noch überlegen, ob Du einfach führende Nullen mit anzeigst, oder diese durch Leerzeichen ersetzt.
    Einfach den aktuellen Zahlenwert am Anfang der gewünschten Position anfangen lassen führt bei einem Übergang zu nächsten Stelle zum Springen der Stellen.
    Da das Display üblicherweise nicht vollständig gelöscht wird kommen dann auch " Geisterzahlen " nach dem eigentlichen Messwert aufs Display wenn die ausgegebene Zahl wieder eine Stelle weniger hat.

    Gut! Das hat jetzt eigentlich mit der ursprünglichen Fragestellung nichts zu tun, aber das werden mit ziemlicher Sicherheit Deine nächsten Probleme werden, auf Die Du stossen wirst.

    .db "I = xxx,x mA",0xFE,0xFF
    Eventuell ist hier auch 0xFE und 0xFF einfach ein Platzhalter ohne weitere Funktion, damit der Speicherbereich nach dem String nicht versehentlich überschrieben wird.
    Kann aber natürlich auch alles andere sein.
    Das kann eigentlich nur der Quellcode klären.

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.06.2011
    Ort
    Dresden
    Beiträge
    219
    Hallo siro,
    ... wem sagst Du das, HeSt ist der ThreadOpener.
    Ich selber würde nicht eine Sekunde opfern, um ein derart hässliches Display in eins meiner Projekte einzubauen.
    mfg
    Achim

  3. #3
    HaWe
    Gast
    Zitat Zitat von seite5 Beitrag anzeigen
    Ich selber würde nicht eine Sekunde opfern, um ein derart hässliches Display in eins meiner Projekte einzubauen.
    das ist ja nun mal eine ganz persönliche Geschmacksache, das muss jedem selber überlassen bleiben.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    31.10.2009
    Ort
    köln
    Beiträge
    38
    Zitat Zitat von HaWe Beitrag anzeigen
    das ist ja nun mal eine ganz persönliche Geschmacksache, das muss jedem selber überlassen bleiben.
    Da wären wir nun sicher so total alleine nie draufgekommen. Soll das ein nützlicher Kommentar sein - nein wirklich nicht.

  5. #5
    HaWe
    Gast
    Zitat Zitat von muell-er Beitrag anzeigen
    Da wären wir nun sicher so total alleine nie draufgekommen. Soll das ein nützlicher Kommentar sein - nein wirklich nicht.
    warum gerade du (als jemand, der seit 2009 nur 25 Beiträge verfasst hat) dich genötigt siehst, darauf mit Zitat meines Posts zu antworten, ist jenseits meines Verständnisses . Schließlich war es an "seite5" gerichtet.

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.06.2011
    Ort
    Dresden
    Beiträge
    219
    Zitat Zitat von HaWe Beitrag anzeigen
    das ist ja nun mal eine ganz persönliche Geschmacksache, das muss jedem selber überlassen bleiben.
    Völlig korrekt, wollte bloß mal drauf hinweisen, dass sich gerade im Display-Bereich in den letzten 30 Jahren etwas "bewegt" hat.
    mfg
    Achim

  7. #7
    HaWe
    Gast
    Zitat Zitat von seite5 Beitrag anzeigen
    Ich selber würde nicht eine Sekunde opfern, um ein derart hässliches Display in eins meiner Projekte einzubauen.
    Zitat Zitat von seite5 Beitrag anzeigen
    Völlig korrekt, wollte bloß mal drauf hinweisen, dass sich gerade im Display-Bereich in den letzten 30 Jahren etwas "bewegt" hat.
    kann ja sein, aber es ist hier nicht zielführend, was du persönlich für schöner oder hässlicher hältst, unabhängig vom "Ton", denn es ist off-topic und löst nicht ansatzweise das TOP-Problem.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.09.2008
    Ort
    Linz A
    Beiträge
    126
    @Achim,
    Zitat Zitat von seite5 Beitrag anzeigen
    Lerne C!
    Ich akzeptiere, dass du in C programmierst.
    Kannst du mir dafür meinen Assembler lassen? Jeder wie er will.
    Wenn man keine Hilfestellung leisten kann/will, lässt man in der Regel derartige Kommentare. Zumindest würde ich es so handhaben.


    @Siro,
    Zitat Zitat von Siro Beitrag anzeigen
    Danke!! Super!
    Das ist absolut fein leserlich geschrieben!
    Da kann ich mir so einiges raus nehmen.


    @wkrug
    Zitat Zitat von wkrug Beitrag anzeigen
    Das siehst Du genau richtig.
    Du hast also im Prinzip 4 Werte ( bei einer 3 stelligen Zahl ). Also den eigentlichen Zahlenwert und den ASCII Wert der einzelnen Stellen.
    Und das eine Format muss in das andere gewandelt werden ( Üblicherweise der Zahlenwert in die ASCII Zeichen ).
    In Assembler kann man das so lösen, das man den eigentlichen Zahlenwert durch 10 Teilt und die Reste dann in ASCII Zeichen umwandelt ( eine Methode von mehreren ). Die Division kannst Du in Hardware machen ( falls der verwendete Controllertyp das hergibt ),
    Hab beim Mega16 leider noch keine Divisionsinstruktion gefunden.
    Zitat Zitat von wkrug Beitrag anzeigen
    oder Du musst eine Routine dafür schreiben.
    Wird wohl so werden - oder ich finde was im Netz ...

    Zitat Zitat von wkrug Beitrag anzeigen
    Dann kannst Du noch überlegen, ob Du einfach führende Nullen mit anzeigst, oder diese durch Leerzeichen ersetzt.
    Ich brauche/will keine führenden Nullen.
    Zitat Zitat von wkrug Beitrag anzeigen
    Einfach den aktuellen Zahlenwert am Anfang der gewünschten Position anfangen lassen führt bei einem Übergang zu nächsten Stelle zum Springen der Stellen.
    Da das Display üblicherweise nicht vollständig gelöscht wird kommen dann auch " Geisterzahlen " nach dem eigentlichen Messwert aufs Display wenn die ausgegebene Zahl wieder eine Stelle weniger hat.
    Danke für den Hinweis.
    Zitat Zitat von wkrug Beitrag anzeigen
    Gut! Das hat jetzt eigentlich mit der ursprünglichen Fragestellung nichts zu tun, aber das werden mit ziemlicher Sicherheit Deine nächsten Probleme werden, auf Die Du stossen wirst.
    Sieht danach aus.
    Danke jedenfalls für deine ausführlichen Zeilen!
    Geändert von HeSt (12.12.2018 um 20:28 Uhr)

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Oh sorry Achim,
    die Info war natürlich für HeSt und nicht für Dich.

    Diese (und ähnliche) Displays sind doch noch in erstaunlich vielen Anwenungen vorhanden,
    jedoch meist im privaten Bereich. Sind halt super preiswert und "relativ" einfach zu handhaben.
    ich hab die auch schon in verschiedenen Varianten eingesetzt.
    Es gibt die ja inzwischen auch schon also OLEDs und mit diversen Beleuchtungsfarben.
    Die OLED Version (zumindest die ich hatte) war übrigens "KACKE" wenn man das so sagen darf...
    Je nach Pixeldichte verändert sich der Kontrast der anderen Zeichen.
    Der Hersteller hatte mir das tatsächlich bestätigt und man arbeite dran....

    @HeSt
    Ich hoffe Du kommst mit den Informationen zurecht, ansonsten einfach nochmal fragen,
    kann Dir dann bestimmt weiter helfen. Wichtig: Die Adressen der einzelnen Zeichen sind NICHT direkt hintereinander abgelegt,
    das war Anfangs auch (m)eine Hürde. Die erste Zeile beginnt bei Adresse 0, die zweite bei vielen Displays erst bei 64,
    da wundert man sich zunächst...

    Du kannst bei vielen Displays dann auch noch eigene Zeichen definieren, hab ich auch schon gemacht.
    Viel Erfolg.

    Zusatz:
    Ich habe die Dinger schon in 3 Sprachen programmiert: EN,DE,FR
    neee, in PIC-Assembler, C und in Pascal.
    Jedem wie er es mag, zudem ist das ja hier das "Assembler" Forum, also bist Du hier schon ganz richtig.

    Siro
    Geändert von Siro (12.12.2018 um 19:41 Uhr)

Ähnliche Themen

  1. [ERLEDIGT] Atmega 644 & atmega8 parallel am ISP ... Reset beider atmega notwendig ..
    Von Ritchie im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 29.03.2013, 11:18
  2. CCPRO M128: Portbelegung
    Von Dirk im Forum Robby RP6
    Antworten: 0
    Letzter Beitrag: 22.05.2009, 22:26
  3. Portbelegung bei diesem Display [erledigt]
    Von Rob.Anfänger im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 18.11.2006, 18:12
  4. Portbelegung ATmega32
    Von Rob.Anfänger im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 15.11.2006, 19:59
  5. Antworten: 4
    Letzter Beitrag: 12.11.2006, 16:40

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen