LCD KS0070B mit atmega8 nach Tutorial: Initialisierungsprob.

OP (Firma: www.dartrax.de) #781759
Lesenswert?

Hi,
bin gerade bei meinen ersten Gehversuchen mit dem Microcontroller und 
dem Tutorial. Die vorherigen Kapitel (LEDs u.s.w.) haben alle 
funktioniert, aber mein Display leider nicht.

1. Angeschlossen nach Beschaltung im Tutorial. Nach Rat im Forum 
(Forensuche) darauf gestoßen, die restlichen Ports an GND anzuschließen. 
Beides probiert.
2. Kontrastschaltung mit Poti. Nicht zu dunkel und nicht zu hell 
eingestellt. Bekomme 1 grauen Balken.
3. Externen Quarzoszillator mit 7,3728 MHz. Im Code: .equ XTAL = 7372800

Verwendeter Code:
ausschließlich aus dem Tutorial dieser (mit o. g. XTAL-anpassung):
http://www.mikrocontroller.net/wikifiles/9/96/Lcd-routines.asm
und dieser:
1
.include "m8def.inc"
2
 
3
.def temp1 = r16
4
.def temp2 = r17
5
.def temp3 = r18
6
 
7
 
8
           ldi temp1, LOW(RAMEND)      ; LOW-Byte der obersten RAM-Adresse
9
           out SPL, temp1
10
           ldi temp1, HIGH(RAMEND)     ; HIGH-Byte der obersten RAM-Adresse
11
           out SPH, temp1
12
 
13
           rcall lcd_init              ; Display initialisieren
14
           rcall lcd_clear             ; Display löschen
15
 
16
           ldi ZL, LOW(text*2)         ; Adresse des Strings in den
17
           ldi ZH, HIGH(text*2)        ; Z-Pointer laden
18
 
19
           rcall lcd_flash_string      ; Unterprogramm gibt String aus der
20
                                       ; durch den Z-Pointer adressiert wird
21
loop:
22
           rjmp loop
23
 
24
text:
25
           .db "Test",0                ; Stringkonstante, durch eine 0
26
                                       ; abgeschlossen  
27
 
28
.include "lcd-routines.asm"            ; LCD Funktionen

Das Datenblatt des LCDs ist im Anhang.

Ich habe öfters den Hinweis gelesen, die Wartezeiten zu verlängern, ich 
bin mir aber unschlüssig, bei welchen Befehlen ich das tun muss. Ich 
habe einerseits versucht, XTAL zu verdoppeln/halbieren oder 20 
zusätzliche rcall delay5ms-Aufrufe zwischen die Codezeilen einzufügen. 
Hat alles nichts gebracht, das Display zeigt weiterhin seinen grauen 
Balken an, es wird also noch nichtmal in den zweizeiligen Modus 
geschaltet.

Ihr werdet vielleicht die ein oder andere Stolperfalle kennen, die ich 
nicht kenne, bevor ich mich weiter mit dem Code und dem Datenblatt 
befasse.

vielen Dank,
dartrax
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren