-         

Ergebnis 1 bis 5 von 5

Thema: LCD mit AT892051

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.07.2005
    Ort
    Oberwil
    Alter
    36
    Beiträge
    131

    LCD mit AT892051

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Ich weiss nicht mehr weiter. Mei LCD tut einfach keinen Wank sobald ich den AT892051 einschalte. Immer nur die erste Zeile ist zu sehen. Irgendetwas stimmt nicht.

    uC: At892051
    Quarz: 32.4kHz

    Code:

    cseg at 0;

    ENABLE EQU P3.7;
    RS EQU P3.5;
    RW EQU P3.4;
    DATEN EQU P1;

    Start: call lcd_init;
    mov a, #74h; ;buchstabe ausgeben
    call LCD_send_data
    stop: jmp stop

    lcd_init: push ACC;
    mov a, #10;
    call LCD_wait
    clr RS
    clr RW
    clr ENABLE
    mov a, #30h ;Interface auf 8-bit setzen
    call LCD_send_comandos
    mov a, #30h ;Interface auf 8-bit setzen
    call LCD_send_comandos
    mov a, #30h ;Interface auf 8-bit setzen
    call LCD_send_comandos
    mov a, #30h ;Interface auf 8-bit setzen
    call LCD_send_comandos
    mov a, #38h ;8-bit Modus, 2 Zeilen, 5*8 Fonts
    call LCD_send_comandos
    mov a, #00001111b ;display on, courser on, blink on
    call LCD_send_comandos
    mov a, #1h ;display clear
    call LCD_send_comandos
    pop ACC
    ret

    LCD_wait: push ACC

    F04_wait: push ACC;
    mov a, #255
    F04_wait2:
    nop
    nop
    nop
    nop
    nop
    djnz ACC, F04_wait2
    pop ACC
    djnz ACC, F04_wait
    pop ACC
    ret

    LCD_send_comandos:
    clr RW
    clr RS
    jmp LCD_send

    LCD_send_data:
    clr RW
    setb RS

    LCD_send: mov Daten, a
    setb ENABLE
    push ACC
    mov a, #2
    call LCD_wait
    pop ACC
    clr ENABLE
    ret
    END

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.03.2005
    Ort
    Nürnberg
    Alter
    37
    Beiträge
    118
    Ich konnte keinen Fehler in deinem Programm finden.

    Auf dieser Seite findest du auch einen
    Codegenerator für deinen Controller.
    Lass dir davon einen Code erzeugen und teste das LCD. Wenn es dann
    immer noch nicht geht hast du ein Hardwareproblem.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.07.2005
    Ort
    Oberwil
    Alter
    36
    Beiträge
    131

    Problem mit LCD bei AT892051

    Ok versuche mal mit einem generierten Code von dieser Seite das LCD zu testen. Schade das es nur ein 4-Bit anschluss ist, kann es aber dennoch testen. Mal sehen was passiert.

    Danke für deine Hilfe. Wenn das nicht klappen sollte weiss ich nicht mehr weiter. Wie oder wo könnte das Hardwareproblem sein?

    Danke nochmals

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.03.2005
    Ort
    Nürnberg
    Alter
    37
    Beiträge
    118
    -Der Controller könnte nicht anlaufen.
    Bist du sicher das das Programm ausgeführt wird?
    Schließe noch eine LED an und komplementiere sie an
    Stellen in deinem Programm die du prüfen möchtest.

    -Die Verbindungen könnten fehlerhaft sein.
    Kalte Lötstelle? Sind die Ports richtig angeschossen? Port1 verdreht?
    Ich prüfe meine Hardware immer mit einem Programm das die Portpins
    einzeln auf low zieht. Man braucht dann nur noch messen ob das Signal
    auch an der richtigen Stelle ankommt.

    Benutzt du wirklich einen 32.4kHz Quarz?
    Das Enable-Signal muß nicht so lang sein. Ein

    setb Enable
    clr Enable

    reicht auch.

    Ps.
    Ich verstehe nicht was du gegen den 4-bit Bus einzuwenden hast.
    Ein 8-bit Anschluß macht eigentlich nur Sinn wenn das LCD in den
    Controllerbus integriert wird.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.07.2005
    Ort
    Oberwil
    Alter
    36
    Beiträge
    131

    Problem mit LCD

    Ah, eigentlich habe ich nichts gegen 4-Bit. War nur so ein Gedanke. Mit den Pins bin ich mir sicher. Habe das extra noch mals geprüft. Schaue aber nochmals nach.

    Teste mal meine Port mit einer LED. Schauen ob auch ein Hight bei jedem Port kommt. Ist irgendwie schräg.

    Wenn ich Spannung ans LCD lege, erscheinen in der ersten Zeile die 16 Quadrate. Dann passiert nichts mehr. Ist wirklich komisch.

    Tja, versuche mal meine Hardware zu überprüfen.

    Ärgere mich schon seit fast zwei Tagen an dem rum.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •