- 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
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Ich habs jetzt leider nicht gefunden oder gelesen, ob das Display neu war oder schon im Betrieb. Wenn es noch nie in Betrieb war: hast Du schon mal die Platine / Lötstellen inspiziert? Ich habe die Erfahrung mit Teilen aus China gemacht, dass man das kontrollieren sollte, weil manchmal Lötzinnreste Brücken auf der Platine bilden. Wenn nichts zu finden ist, könnte man noch alle Lötstellen nachbearbeiten, ob das Display schon im Betrieb war , vor längerer Zeit, oder nicht. Vielleicht kommt irgendwo ein Signal nicht durch.

    MfG

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.09.2008
    Ort
    Linz A
    Beiträge
    126
    (Guten) Morgen,

    die Erklärung zur Klammer:
    Mein LCD ist defekt
    Ich hab den Aufbau genau so wie Siro gemacht.
    Die LCD-Anzeige nach der Spannungsversorgung siehe Foto.
    Sie bleibt unverändert, egal wie oft E gegen + getippt wird.

    Danke für eure Mühe, Zeit und die vielen Tipps!

    Ich melde mich wieder ...

    Gruß Heinz

    - - - Aktualisiert - - -

    Zitat Zitat von Moppi Beitrag anzeigen
    Ich habs jetzt leider nicht gefunden oder gelesen, ob das Display neu war oder schon im Betrieb.
    War/ist neu. War deshalb, weil vor einigen Jahren gekauft, aber nie verbaut ...
    Die Lötstellen hab ich mit der Lupe kontrolliert und auch - soweit möglich - nachgelötet - alles ok.

    Werd mir heute noch beim großen "C" ein neues holen. Ist grad mal 5km entfernt ...
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken 1602.jpg  
    Geändert von HeSt (04.01.2019 um 08:15 Uhr)

  3. #3
    HaWe
    Gast
    nur als Tipp bei ähnlichen Problemen:
    Auch wenn bei mir Hardware auf speziellen Plattformen nicht zum Funktionieren zu bringen ist (z.B. am Raspi): zum testen habe ich da immer einen Arduino für 5 EUR in Reserve, zu dem es super-simple fertige Beispielprogramme gibt, das ist eine Sache von 3 Minuten - es spart einfach Wochen-lange nervige Fehlersuchereien auf der eigentlichen genutzten Plattform.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Sie bleibt unverändert, egal wie oft E gegen + getippt wird.
    E liegt über einen Widerstand an Plus,
    Du musst E dann 3 mal nach Masse ziehen.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.09.2008
    Ort
    Linz A
    Beiträge
    126
    Zitat Zitat von Siro Beitrag anzeigen
    E liegt über einen Widerstand an Plus,
    Du musst E dann 3 mal nach Masse ziehen.
    Lieber Siro,
    es steht doch "egal wie oft" gegen Masse gezogen ...
    Aber dein Testaufbau hat mir geholfen!

    Hab mir ein neues 1602 LDC besorgt (€ 13,-)

    Und ....
    BINGO !!!!!!!!!!!!

    @ avr_racer,
    hab daraufhin gleich dein text3-progrämmchen adaptiert (statt portD > portA).
    Und alles funktioniert!

    Danke euch allen!

    Jetzt kann ich mal beruhigt weiter machen ... bis ich auf das nächste Problem stoße ...
    Dann rühr ich mich wieder (bin mir sicher!).
    Spätestens jedoch, wenn ich fertig bin - und das wird noch lange dauern ..................

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied Avatar von avr_racer
    Registriert seit
    01.04.2014
    Ort
    MecklenburgVorpommern
    Beiträge
    175
    Schön zu hören das es funktioniert, weniger schön das ein nicht benutztes und nagelneues einfach defekt war/ist. So kann man sich eben nen Wolf suchen warum das Programm nicht funktioniert obwohl es das tut vllt auch nur in Ansätzen.... Seuftz

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.09.2008
    Ort
    Linz A
    Beiträge
    126
    So, bin schon wieder da

    Nichts tragisches ...!

    @avr_racer,
    ich hab mir deine Zeitenrechnung genauer angesehen und bin zur Ansicht gekommen, dass sie nicht stimmt.
    Jetzt gibt es zwei Möglichkeiten:
    1. sie stimmt wirklich nicht oder
    2. meine Rechnung stimmt nicht!

    Dein Beispiel aus text3: (cc = cpu clock cycle = 1µs)
    wait25us:
    ldi r20,$20 ;1cc
    wait25us1:
    dec r20 ;1cc
    brne wait25us1 ;1/2cc
    ret

    Nehmen wir brne mit 1cc an (=1µs), dann ergibt das folgende Rechnung:
    $20 sind dezimal 32. Also 32 Durchgänge/Schleifen.
    32 mal 2 (dec + brne á 1µs) ergibt 64µs und keine 25.

    Wo liegt nun der Gedanken-Fehler?
    Bei mir oder bei dir?

    @alle:
    Übrigens stehe ich schon länger auf der Leitung und komm nicht weiter.
    Ich will/muss einen ADC-Wert (8Bit ADLAR genügt) in Volt umrechnen (Akkuspannung 12V, max. 13,7 Ladeschlussspannung).
    Folgende ADC-Beschaltung: 15V-68k-ADC-50kPot-GND.
    Bei exakt 15V wird mit einem Spindelpoti der ADC-Maximalwert genau auf 5V eingestellt.
    Somit hab ich eine Reserve, sollte die Spannung mal über 13,7V ansteigen.
    Zudem dient eine 5V Z-Diode als Schutz.
    Bei 15V liegen nun 5V am ADC. Das ergibt einen ADC-Wert von 255 (ADCH).
    Das ist Basis für die weiteren Berechnungen.
    Nehmen wir nun als zu messende Spannung 10,4V an.
    Das ergibt folgende Schlussrechnung:
    15V.....255
    10,4V....?
    10,4*255/15=177 gerundet.
    Umgekehrt:
    255.....15V
    177......?
    15/255=0,0558 Und da haperts schon! Wie rechne ich mit 0,0588?
    177*0,0588=10,4

    Auch hab ich nachstehende Divisions-Routine im Netz gefunden.
    Allerdings rechnet die nicht richtig.
    Da steht im Rest (=Nachkommastelle) bei einer Rechnung 177/17, statt 4 eine 8!
    Wo liegt hier der Fehler, bzw. wie/wo kann man das berichtigen?
    Ich möchte bei den Zehntel-Volt schon relativ genau sein.

    Sonst schaut bisher alles gut aus ...

    Code:
    ; 8Bit Division mit Rest; Laufzeitverhalten im schlechtesten Fall (255/1) 103 Taktzyklen
    ; Achtung:
    ; Divison durch 0 wird nicht abgefangen und führt zu einer Endlosschleife
    ; Dieser Algorithmus funktioniert nur für vorzeichenlose 8Bit-Werte
    ; Nach Division steht das Ergebnis in r18 und der Rest in r16
    
    .def divident =    r16
    .def divisor =    r17
    .def ergebnis =    r18
    .def zw =    r19
        ldi    divident,177        ; Berechnet 177/17 !
        ldi    divisor,17      
    division:
        clr    ergebnis        ; Ergebnis initialisieren
        ldi    zw,1            ; Teilbarkeit durch 1 annehmen
        tst    divisor
    loop:
        brmi    div_loop        ; Den Divisor linksbündig ? -> JA
        lsl    zw            ; Zwischenergebnis und
        lsl    divisor            ; Divisor einen Schritt nach links
        rjmp    loop            ; ... und nochmal prüfen
    div_loop:
        cp    divident,divisor    ; divident >= divisor
        brlo    division_weiter        ; -> nein
        add    ergebnis,zw        ; Ergebnis vergrößern und
        sub    divident,divisor    ; Dividenten verkleinern
    division_weiter:
        lsr    divisor            ; Divisor und Zwischenergebnis
        lsr    zw            ; einen Schritt nach rechts
        brne    div_loop        ; zw!=0 ? ->JA
        nop                ; Ergebnis in ergebnis
                        ; Rest in divident !
    end:     rjmp    end
    Geändert von HeSt (11.01.2019 um 12:52 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