Forum: Mikrocontroller und Digitale Elektronik 2. Zeile spinnt


von Tuberkulose (Gast)


Lesenswert?

Tach zusammen,
folgendes Problem nach dem ersten Einschalten funktioniert die 2. Zeile 
meines Displays(Reichelt Displaytech 162)nicht, drücke ich danach wie 
ein irrer (1000.Mal hintereinander)auf den Resetknopf springt sie dann 
doch an.

Hat jemand ne Ahnung woran das liegen könnte.

Vielleicht an der Initialisierung des LCD?
Wäre dankbar für Hilfe.

.EQU  init_display  = 0b00000011  ;to initialize LCD
.EQU  four_bit_mode  = 0b00000010  ;to initialize 4-bit 
mode
.EQU  clear_LCD      = 0b00000001  ;loesche Anzeige
.EQU  home_LCD      = 0b00000010  ;return home
.EQU  home_sec_line     = 0b11000000  ;Cursor an den Anfang 
der zweiten Zeile
.EQU  set_LCD       = 0b00101000  ;4 bits,2 
Zeilen,5x7dots
.EQU   LCD_on        = 0b00001100  ;schalte LCD ein
.EQU  curser_on      = 0b00001110  ;schalte LCD ein, 
Curser an
.EQU   entry_mode     = 0b00000110  ;setze Cursor


+++++Initialisiere LCD+++++++++++++++++
init_lcd:
  cbi  PORTA,RS          ;clear steuerleitungen
  cbi  PORTA,RW          ;
  cbi  PORTA,E           ;

  ldi  temp,3          ;powerwaitup 15ms
wloop1:  rcall  delay_5ms      ;...
  dec  temp            ;...
  brne  wloop1              ;...
                ;***Initialize LCD
  ldi  buffer,init_display  ;send 3-times 0x03
  out  PORTC,buffer    ;1
  rcall  delay_5ms          ;wait 5ms
  out  PORTC,buffer    ;2
  rcall  delay_5ms          ;wait 5ms
  out  PORTC,buffer    ;3
  rcall  delay_5ms          ;wait 5ms

  ldi  buffer, four_bit_mode  ;activate 4-bit mode
  out  PORTC,buffer    ;...

                ;***LCD-setup
  ldi  buffer,set_LCD    ;set LCD
  rcall  write_instr          ;...

  ldi  buffer,LCD_on    ;switch LCD on
  rcall  write_instr          ;...

  ldi  buffer,clear_LCD    ;clear display
  rcall  write_instr          ;...

  ldi  buffer,entry_mode        ;entry_mode
  rcall  write_instr          ;
  ret

delay_5ms:
  ldi  ZH,HIGH(13334)
  ldi  ZL,LOW(13334)
wloop2:  sbiw  ZL,1
  brne  wloop2
  ret

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.