Forum: Mikrocontroller und Digitale Elektronik Ansteuerung des ST7565R via PIC-16F87A (Assembler)


von Adrian K. (lekouz)


Angehängte Dateien:

Lesenswert?

Ich bekam den Auftrag das Display EA-DOGL128-6 per Assembler 
anzusteuern.
SPI ist aktiviert und die Daten wurden auch per Logic-Analizer 
kontrolliert.
Sobald alles initialisiert wurde, wollen wir via RS232, einzelne Pixel 
ansteuern.
Das Programm ist fähig, Befehle für's Display oder den Controller zu 
unterscheiden. A0 wird somit automatisch definiert.
Initialisiert wurde das Display mit Hilfe eines Beispiels in folgender 
Anleitung (S.6) http://www.lcd-module.de/deu/pdf/grafik/dogl128-6.pdf

Jedoch tut das Display bis jetzt noch keinen Mux.
Die Spannung der Datenpäckchen werden via Spannungsteiler von 5V auf ca. 
3,2V gesenkt.

SPI-Übertragung wurde auf "Steigende Flanke" eingestellt.
Chip Select-Pin wurde auf GND gezogen.
Reset erfolgt über den PIC via Open-Drain-Pin PortA,4.
Eine 1 ergibt ein Low, eine 0 ein High.

Die hier im Forum geposteten C-Codes für die Initialisierung sind zwar 
hilfreich, jedoch ohne erfolgreiche Ergebnisse in Bezug auf Assembler. 
(Wichtig sind ja die Bytes, welche übertragen werden)

Weiss jemand einen Rat, was man noch beachten sollte oder was bei der 
Initialisierung falsch läuft?


Die Initialisierung wurde folgendermassen erstellt:

;***Display Initialisierung*****************************************?

bsf  PORTA,4    ;Setzt das Reset-Bit
all  WAIT_10ms    ;10ms warten bis sich die Spannung stabilisiert hat
bcf  PORTA,4    ;Löscht das Reset-Bit
call  WAIT_1ms    ;Warte 1ms

bcf  PORTC,2    ;setzt A0 auf Low
movlw  0x40    ;Display Start Line
movwf  SSPBUF
call  WAIT_100us
movlw  0xA1    ;ADC reverse
movwf  SSPBUF
call  WAIT_100us
movlw  0xC0    ;Normal Com0~Com63
movwf  SSPBUF
call  WAIT_100us
movlw  0xA6    ;Display normal
movwf  SSPBUF
call  WAIT_100us
movlw  0xA2    ;Set bias 1/9 (Duty 1/65)
movwf  SSPBUF
call  WAIT_100us
movlw  0x2F    ;Booster, Regulator and Follower on
movwf  SSPBUF
call  WAIT_100us
movlw  0xF8    ;Set internal Booster to 4x
movwf  SSPBUF
call  WAIT_100us
movlw  0x00    ;...
movwf  SSPBUF
call  WAIT_100us
movlw  0x27    ;Contrast Set
movwf  SSPBUF
call  WAIT_100us
movlw  0x81    ;...
movwf  SSPBUF
call  WAIT_100us
movlw  0x10    ;...
movwf  SSPBUF
call  WAIT_100us
movlw  0xAC    ;No indicator
movwf  SSPBUF
call  WAIT_100us
movlw  0x00    ;...
movwf  SSPBUF
call  WAIT_100us
movlw  0xAF    ;...
movwf  SSPBUF


Im Anhang befindet sich der ganze Assemblercode.

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
Noch kein Account? Hier anmelden.