Tiny26 LCD an PortA und PortB

OP #574224
Lesenswert?
• ▲
▼
Hallo Experten,

bin den halben Nachmittag auf der Suche nach dem Fehler. Habe am Tiny26 
leider nur 2 Pins am PortA und 4 am PortB frei. Wenn ich beiliegendes 
Programm (Auszug) auf AVR oder VMLab simuliere, passt alles, nur in der 
Realität leider nicht. Irgendwo muß der Haken sein, dass auf dem 
LCD-Display (2*16) nur Kästchen erscheinen. Besten Dank für jeden Tipp!

Hanno
#574254
Lesenswert?
• ▲
▼
Woran hast du denn die R/W leitung vom LCD geklemmt?

Wenn R/W an VCC oder offen ist, kanns nicht funtionieren, da das Display 
glaubt, du mochtest lesen... Händ den Pin mit einem R gegen GND, da hast 
sicherlich ein definietes Signal.

Wenn R/W richtig definiert is, kanns nur mehr am Timing liegen.
Ich hab hier meine Implementierung eines 4bit LCD, das auf einem 
Tiny26@1MHz bei mir stabil läuft...

Probier das mal so aus - brauchst ja dieses File nur zu INCLUDEn.

Grüße

Markus
Angehängte Dateien:
Gast #574263
Lesenswert?
• ▲
▼
Hallo,

ist das das komplette Programm? Ich vermisse den Resetvektor mit dem 
Sprung zum Programmstart, ich glaube nicht, daß der AVR beim Start mit
text:
 .db  "TEXT",0

allzuviel anfangen kann.

Ansonsten schon hundertmal erwähnt:

   ldi temp, (0<<PIN_LCD_ENABLE)|(0<<PIN_LCD_RS)

man kann eine 0 schieben, wie man will, es bleibt eine 0...

Spielt aber für Dein Problem keine Rolle.

Auch ohne mit Deinem Problem zusammenzuhängen:
lcd_data:

  swap    AL             ;untere 4 bits (Nibble) nach oben
    andi    AL, 0b11110000 ;untere Hälfte auf Null setzen
Die folgende Zeile dürfte für das LCD ohne Bedeutung sein, was soll sie 
also in der Display-Routine  bewirken?
      sbr     AL, 0b00000010 ;
  out  PORTB,Al

Gruß aus Berlin
Michael
OP #574278
Lesenswert?
• ▲
▼
Hallo Michael,

es ist nur ein Auszug aus dem Programm, die für das LCD relevanten 
Teile. Die Zeile mit dem "sbr..." habe ich vegessen zu löschen als ich 
den Code von andreas-s umschrieb. Aber sie bewirkt ja nichts!

Hallo Markus,
habe Deine Datei ins Programm eingebunden, aber alles wie gehabt. 
Trotzdem besten Dank.

Hanno
#574281
Lesenswert?
• ▲
▼
Hanno Gräff wrote:
> Irgendwo muß der Haken sein, dass auf dem
> LCD-Display (2*16) nur Kästchen erscheinen.

meint du etwa damit, dass auf beiden Zeilen schwarze Kästche erscheinen 
oder nur auf der oberen (1. Zeile) ??

Wenn überall, würd ich mal den Kontrast vom LCD checken...

Gruß,

Markus

Antwort schreiben

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.

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.