LCD inisialieserung Fehlt

OP #214831
Hallo Mikrocontroller Freunden,
Ich habe ein LCD module (von Electronic Assembly) 4x20 mit Controller
KS0073 und endlich habe ich text auf mein LCD aber when ich 3x die text
'Hallo' schreibe geht alles hinter dehn 12e positione auf das 2e
zeile:

Die cursor ist auch verswunden und komt nur zuruck nach das 1x
shift-left befehle, und steht dan auf 20e-stelle von 2e zeile
               12
---------------|-------
HalloHalloHallo
llo                        _   cursor auf platz 20 (after 1x
shift-eft)

(ohne DDRAM zu setzen auf 20 hex)
-----------------------


Wenn ich 4x Hallo schreibe:
               12
---------------|-------
HalloHalloHalloHallo
lloHallo                  _   cursor auf platz 20 (after 1x shift-eft)

(ohne DDRAM zu setzen auf 20 hex)
-----------------------


Wenn ich 4x Hallo und 123 schreibe:
               12
---------------|-------
HalloHalloHalloHallo
lloHallo123_              cursor steht auf normale platz

(ohne DDRAM zu setzen auf 20 hex)
-----------------------


Wenn ich 4x Hallo und 123 schreibe:
               12
---------------|-------
HalloHalloHalloHallo
lloHallo                  _  cursor steht auf  20e platz nachdem ich 4x
shift-left hat gegeben

(DDRAM gesetzt auf 20 hex hinter Hallo)
-----------------------
Und wie Sie sehn kunte: 123 ist weg !!
Ich bin schon 5 tage gesheftigt mit dat tauschen von die  '1' und
'0' leider !!
Sorry fur meinem slechtes Deutch ( komme von Amsterdam)

; Initialisierung des LCD-Displays
; fur Microchip PIC 16F684…..

InitLCD
   movlw   D'255'      ; 250 ms Pause nach dem Einschalten
   movwf   loops
   call   WAIT

   movlw   B'00000011'   ; 1 Änderung --> Maskierung für untere 4bit
   movwf   PORTC
   bsf      PORTC, LcdE
   nop
   bcf      PORTC, LcdE

   movlw   D'50'      ; 50 ms Pause
   movwf   loops
   call   WAIT

   movlw   B'00000011'   ; 2 Änderung --> Maskierung für untere 4bit
   call   Control8Bit
   movlw   D'50'      ; 50 ms Pause
   movwf   loops
   call   WAIT

   movlw   B'00000011'   ; 3 Änderung --> Maskierung für untere 4bit
   call   Control8Bit
   movlw   D'50'      ; 50 ms Pause
   movwf   loops
   call   WAIT

   movlw   B'00000010'   ; 4 - Bit setzen Änderung --> Maskierung für
untere 4bit (origineel)
   call    Control8Bit
   movlw   D'50'      ; 50 ms Pause
   movwf   loops
   call   WAIT

   movlw   B'00000001'   ; löschen und cursor home
   call   OutLcdControl
   movlw   B'00101000'   ; 5 function set, 4-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'00001111'   ; 9 display an, blinkender Cursor
   call   OutLcdControl


   return

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.