www.mikrocontroller.net

Forum: Compiler & IDEs LCD Ansteuerung


Autor: Alois (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Leute,

ich habe eine Frage bzgl. der Ansteuerung eines LCD Displays mit
WinAVR.

Mein Problem ist folgendes:
Ich habe vor ca. 3 Monaten eine Schaltung mit ATMega8 und LCD Display
aufgebaut und die ganze Sache mit Bascom programmiert. Da man in Bascom
die Datenleitungen des Displays frei auf die Pins legen konnte habe ich
mit deswegen  auch keine alzu grossen Gedanken gemacht.
Nun bin ich aber auf C umgestiegen und möchte gerne das damalige Basic
Programm in C umschreiben. Da ich aber an der LCD Ansteuerung nichts
mehr ändern kann (habe dafür extra Platinen anfertigen lassen) wollte
ich fragen ob es möglich ist - ähnlich wie in Bascom - die
Datenleitungen und Pins frei zu definieren.
Ich habe die lcd.c aus der AVRlib schon versucht abzuändern aber
irgendwie schaffe ich das nicht.
Das LCD wird im 4 Bit Modus betrieben
DB4 = Pinc.2
DB5 = Pinc.3
DB6 = Pinc.4
DB7 = Pinc.5

RS = Pinb.1
E =  Pinb,2
R/W ist fest verdrahtet

Kann mir jemand helfen oder existiert vielleicht eine Version der lcd.c
bei der man das flexibel einstellen kann ? Ich habe im Forum schon
gesucht aber leider ohne Erfolg.

Vielen Dank für Eure Hilfe !!!

Autor: Loisl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WELCHES LCD-Display?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der LCD Library von Peter Fleury kann man - soweit ich es als
Anfänger überblicke - die Ports und Pins frei einstellen.

Dafür sind dort extra #define Anweisungen vorhanden:
#define   LCD_PORT   PORTA
#define   LCD_DATA0_PORT   LCD_PORT
#define   LCD_DATA1_PORT   LCD_PORT
#define   LCD_DATA2_PORT   LCD_PORT
#define   LCD_DATA3_PORT   LCD_PORT
#define   LCD_DATA0_PIN   0
#define   LCD_DATA1_PIN   1
#define   LCD_DATA2_PIN   2
#define   LCD_DATA3_PIN   3
#define   LCD_RS_PORT   LCD_PORT
#define   LCD_RS_PIN   4
#define   LCD_RW_PORT   LCD_PORT
#define   LCD_RW_PIN   5
#define   LCD_E_PORT   LCD_PORT
#define   LCD_E_PIN   6

Die Initialisierung und die Steuerbefehle sind allerdings auf LCDs mit
HD44780 Controller oder  KS0073 Controller ausgelegt.

http://homepage.hispeed.ch/peterfleury/avr-softwar...

Autor: Alois (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan

danke für die Info - ich versuchs damit

Autor: Superhirn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

kann man diese Lib auch für 8bit übertragunsmodus benutzen? und wie
lange dauert es, ein 4*16display mit 4bit voll zuschreiben? ich würd
lieber 8bit nehmen wegen der geschwindigkeit. portprobleme hab ich
keine.

Frohe Ostern
Thomas

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
8bit für LCD Ansteuerung ist Unsinn und bring kein
Geschwindigkeits-Vorteil gegenüber 4bit mode, da das LCD viel langsamer
ist als der AVR und deshalb ständig im lcd_waitbusy() warten muss.

Autor: Superhirn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann ists ja ok. Da mein LCD-Board(muss noch bauen) nähmlich über I²C
einmal angesteuert werden soll, und das niucht das einzige I²C Modul
sein wird, will ich nicht, dass der Master ein paar ms auf das
lcd-board warten muss.
Wie Lange dauert es nochmal, alles voll zu schreiben?

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Master muss in jedem Fall auf das Display warten, bis das Zeichen
geschrieben ist. Und eben diesen Warten dauert in jedem Fall länger als
zweimal 4bit übertragen.

Das LCD Datenblatt erklärt dir die entsprechenden Wartezyclen.

Autor: Superhirn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke vorerst.

Ich hab jetzt auch dieses uC Tutorial mit asm-lcd-ansteuerung gesehen.
Wie ist das? kann ich diese asm-routinen in C verwenden?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Peter Fleury gibts doch fertige Funktionen zur
LCD ansteuerung. Holen, Pinbelegung einstellen, Prozessortakt
einstellen, compilieren, fertig.

http://homepage.hispeed.ch/peterfleury/avr-softwar...

Autor: Superhirn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke. Ich werd das dann mal testen. Wollte es eigendlic eh schon aber
jetzt hatte ich probleme men AVR-Board zu ätzen.

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.