-
-
Hallo albundy,
erst mal Danke für die schnelle Antwort.
Mit unten stehender Routine lassen sich mit und ohne delay
alle Bitmuster problemlos ausgeben bis auf 0x7f bzw. 0xff völlig unabhängig von dem Programmteil welches die Zeichen erzeugt.
folgender Code erzeugt das Phänomen:
ldi r16,0x7f
call dtaout
ldi r16, beliebiger Wert
call dtaout
loop:rjmp loop
dtaout: ;send r16 to display as databyte
sbi porte,d_dta ;set A0 pin high (cmd)
; call delay
cbi porte,d_ncs ;set /CS pin low
; call delay
sbi porte,d_en ;enable pin high
; call delay
out portb,r16 ;send data
; call delay
cbi porte,d_en ;enable pin liw
; call delay
sbi porte,d_ncs ;set /CS pin high
ret
;Display Initialisierungsfolge wird übertragen wie Daten nur halt mit A0 low
init: .db 0x40,0xA0,0xA3,0xC0,0x2F,0x20,0xAC,0x81,0x20,0xA4, 0xAF,0xA6
Ich hoffe Du kannst damit etwas mehr anfangen. Übrigen habe ich auch mit
einem zweiten Display getestet mit gleichem Resultat.
Möglicherweise ist auch einfach nur mein Verbindunskabel zu lang, ca. 40cm Flachbandkabel (IDE) .
Gruß
Achim
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen