Character LCD für AVRs mit 4bit Bus

Gast #421315
Lesenswert?
• ▲
▼
Sorry, das Posting war etwas sehr knapp - Panne meinerseits.

Also: Das Teil läuft jetzt seit fast 4 1/2 Jahren problemlos auf nem
AVR mit 4MHz. Für höhere Taktraten sind die die "pause" Settings
anzupassen:

z.B. für 8MHz
pause40us_  = (80-5)
pause2ms_   = (4000-5)
pause50ms_  = (100000-5)

oder für 16MHz
pause40us_  = (160-5)
pause2ms_   = (8000-5)
pause50ms_  = (200000-5)

Und natürlich müssen die Port-Zuweisungen für die Controls und
4bit-Daten

LCD_rs_   = (PORTC<<8) + 1
LCD_rsd_ = (DDRC<<8) + 1
LCD_e_   = (PORTC<<8) + 3
LCD_ed_   = (DDRC<<8) + 3
LCD_wr_  = (PORTC<<8) + 2
LCD_wrd_ = (DDRC<<8) + 2
;
LCDdout = PORTC
LCDdin  = PINC
LCDddr  = DDRC

auf die jeweils verwendeten angepasst werden. Das heißt auch, wenn die
Datenbusbits für das LCD dann auf den Bits 0..3 landen statt auf 4..7,
muss natürlich auch der swap-Befehl in LCD_put8b entsprechend umgerückt
werden.

Ich hoffe, das hilft >1 "Wie geht LCD"-Frager.

Gruß Johannes

P.S.1: Die Funktionen taugen für 2- und 4-zeilige Displays.
P.S.2: Die unbenutzen Datenbuspins des LCD sind offen.
Gast #421317
Lesenswert?
• ▲
▼
das  .include "aio8515.s" ist für deinen avr nehme ich an.
wozu ist .area text ? kannste das auch noch hochladen ?

und noch eine frage was hat es mit den auskommentierten befehen
_LCDinit::
;  cbi    >LCD_e_,<LCD_e_
  sbi    >LCD_ed_,<LCD_ed_
;  cbi    >LCD_wr_,<LCD_wr_
  sbi    >LCD_wrd_,<LCD_wrd_
;  cbi    >LCD_rs_,<LCD_rs_
  sbi    >LCD_rsd_,<LCD_rsd_

auch sich ?
Gast #421318
Lesenswert?
• ▲
▼
Ich vergaß dazuzuschreiben, dass der Code für den Assembler vom
Imagecraft C-Copiler ist...

Ja, das .include bindet die I/O Definitionen ein.
Das .area text entpricht der CSEG Direktive beim Atmel Assembler,
und die > und < "high" und "low".
Ansonsten stören den Atmel Asm noch die doppelten Doppelpunkte hinter
einigen Labels, mit denen beim Imagecraft Asm globale Funktionen
definiert werden.

Und die auskommentierten Befehle in der init? Hm, weiß ich echt nicht
mehr, warum ich die damals auskommentiert hatte... Störte jedenfalls
nicht, und wird wohl auch nicht stören, wenn Du sie wieder aktivierst.

Gruß Johannes
Gast #421319
Lesenswert?
• ▲
▼
mein lcd geht endlich. der fehler lag wohl am timing und daran das der
befehl für font und format fehlten. nach 10 mal strom an und aus gings,
fragt nicht warum !? ^^
danke für die hilfe

grüße g1o

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.