Problem: LCD-Modul 4x16 initialisieren

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 25 11 2024  20:36:13      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
Problem: LCD-Modul 4x16 initialisieren
Suche nach: lcd (4684) modul (4939)

    







BID = 49213

dohdoh

Gerade angekommen


Beiträge: 9
Wohnort: NRW

Hallo Microkontroller Freunde
ich habe ein Problem.

Mein 4x16 Display (LCD164A LED) zeigt nur zwei Zeilen an und nicht vier. Außerdem stellt es alle ASCII-Zeichen die mit dem LOW-BIT 00xx Anfangen nicht dar.
z.B D, H, L, 0

Kann mir da vieleicht jemand weiter helfen.
Wahrscheinlich liegt es an meiner Initialisierung:
Funktion in C mit READ51 erstellt

void LCDinit(void) // Display initialisierung
{
#asm
lcall Busy
mov DPTR,#cmd_write
mov A,#56 ;Initialisierung 8-Bit
movx @DPTR,A ;Load data


lcall Busy
mov DPTR,#cmd_write ;0x8000 in den Data Pointer
mov A,#12 ;000001100 in den Akku
movx @DPTR,A ;Load data constant

lcall Busy
mov DPTR,#cmd_write ;Data Pointer
mov A,#0x0C

lcall Busy
mov DPTR,#cmd_write ;Data Pointer
mov A,#1 ;Ini 00000001 Display löschen
movx @DPTR,A ;Load data pointer with a 16-

lcall Busy
mov DPTR,#cmd_write ;Data Pointer
mov A,#15 ;Ini 00001111 Display: ein
movx @DPTR,A ;Load data pointer with a 16-
#endasm
}

#asm
Busy:
mov DPTR, #cmd_read ;data_read 0x8003 in
movx A, @dptr
jb ACC.7,Busy
ret
#endasm

Ich hoffe Ihr könnt mir weiter helfen.
MFG
Christian Hölscher

Hochgeladene Datei : main.c

BID = 49245

Verion

Gelegenheitsposter



Beiträge: 90

 

  

hab das gleich display und das hier als (funktionierenden) code.. ist pic assembler, also weis ich nicht ob es dir hilft

Control8Bit schickt nen steuerbefehl (8bit) ans lcd und wartet dann 10ms.. (busy flag kann am anfang noch nicht ebgefragt werden)

OutLcdControl fragt dann statt der 10ms pause das busy flag ab

ansonsten sollten die zumindest die steuerbefehle und kommentare evtl helfen. (8bit initialisierung muss z.b. mehrmals gesendet werden, etc..)

INITLCD
movlw D'20' ; 20 ms Pause nach dem Einschalten
call WAIT

movlw B'00110000' ; 1
movwf LcdPort
bsf LcdE
nop
bcf LcdE

movlw D'20' ; 50 ms Pause
call WAIT

movlw B'00110000' ; 2
call Control8Bit
movlw B'00110000' ; 3
call Control8Bit
movlw B'00110000' ; 4
call Control8Bit

movlw B'00000001' ; löschen und cusor home
call OutLcdControl
movlw B'00111000' ; 5 function set, 8-bit 2-zeilig, 5x7
call OutLcdControl
movlw B'00001000' ; 6 display off
call OutLcdControl
movlw B'00000110' ; 7 entry mode, increment, disable display-shift
call OutLcdControl
movlw B'00000011' ; 8 cursor home, cursor home
call OutLcdControl
movlw B'00001100' ; 9 display on , cursor off
call OutLcdControl
return

gruß, chris

BID = 49358

dohdoh

Gerade angekommen


Beiträge: 9
Wohnort: NRW

Vieln Dank für die Antwort..
Nach dem ich das Problem ins Forum gesetzt habe, habe ich einfach die Initialisierungsroutine noch mal aufgerufen.

Jetzt funktioniert alles auch das Problem mit den Buchstaben..

Ich bedanke mich noch mal sehr. Schönes Wochenende Christian



Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 20 Beiträge im Durchschnitt pro Tag       heute wurden bisher 12 Beiträge verfasst
© x sparkkelsputz        Besucher : 182399321   Heute : 6519    Gestern : 7548    Online : 652        25.11.2024    20:36
7 Besucher in den letzten 60 Sekunden        alle 8.57 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0452978610992