mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2. Zeile spinnt


Autor: Tuberkulose (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.