Guten Morgen,
- Datenpins richtig herum angeschlossen?
- Chip-Select ("Enable") Signal acitve high (nicht wie üblich low)?
- großzügige Warteschleifen (bei der Initialisierung gibts kein Feedback, ob die Befehle angekommen sind, da hilft nur abwarten)?
- R/W Signal aktiviert (Befehle werden nur beim Pegelwechsel übernommen, müssen also schon vorher am Bus anliegen)?
So klappts bei meinem 20x4 Display (sicher keine Augenweide, funktioniert aber):
Code:Display_initiieren: rcall warte250 ; Einschalt-Reset vom Display abwarten ldi Zeichen,0b00111000 ; Befehl "Function Set" rcall Display_Befehl_schreiben rcall warte10 rcall warte10 rcall Display_Befehl_schreiben rcall warte10 rcall Display_Befehl_schreiben rcall warte2 ldi Zeichen, 0b00111000 ; lade Befehl "2-zeilig, 5x8" rcall Display_Befehl_schreiben rcall warte2 ldi Zeichen, 0b00001000 ; lade Befehl "Display aus" rcall Display_Befehl_schreiben rcall warte2 ldi Zeichen, 0b000000001 ; lade Befehl "Display löschen" rcall Display_Befehl_schreiben rcall warte2 ldi Zeichen, 0b000000110 ; lade Befehl "Cursor nach rechts wandern" rcall Display_Befehl_schreiben rcall warte2 ldi Zeichen, 0b000001111 ; lade Befehl "Display einschalten" rcall Display_Befehl_schreiben ret Display_Zeichen_schreiben: rcall warte2 ; warte bis Display empfangsbereit ist rcall Datenbus_ist_Ausgang out Datenbus, Zeichen ; schreibe Daten in Datenbus nop ldi Adresse,0b00001001 ; RW=0 | RS=1 | E=1 out Adressbus, Adresse ; schreibe Enable-Bit auf Adressbus nop ldi Adresse,0b00001000 ; RW=0 | RS=1 | E=1 out Adressbus, Adresse ; schreibe Enable-Bit auf Adressbus nop ret Display_Befehl_schreiben: rcall Datenbus_ist_Ausgang out Datenbus, Zeichen ; schreibe Befehl in Datenbus nop ldi Adresse,0b00000001 ; setze Enable-Bit für Display out Adressbus, Adresse ; Display im Schreibmodus ansprechen nop ldi Adresse,0b00000000 ; lösche Enable-Bit für Display out Adressbus, Adresse ; schreibe Enable-Bit auf Adressbus nop ret
"wartexxx" ist eine Routine, die den angegebenen Zahlenwert in mSek. abwartet.
Grüße
Edit von BASTIUniversal: Code-Box!







Zitieren

Lesezeichen