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