LCD Ansteuerung

Gast #364276
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 !!!
Gast #364278
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:
1
#define   LCD_PORT   PORTA
2
#define   LCD_DATA0_PORT   LCD_PORT
3
#define   LCD_DATA1_PORT   LCD_PORT
4
#define   LCD_DATA2_PORT   LCD_PORT
5
#define   LCD_DATA3_PORT   LCD_PORT
6
#define   LCD_DATA0_PIN   0
7
#define   LCD_DATA1_PIN   1
8
#define   LCD_DATA2_PIN   2
9
#define   LCD_DATA3_PIN   3
10
#define   LCD_RS_PORT   LCD_PORT
11
#define   LCD_RS_PIN   4
12
#define   LCD_RW_PORT   LCD_PORT
13
#define   LCD_RW_PIN   5
14
#define   LCD_E_PORT   LCD_PORT
15
#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-software.html#libs
Gast #364280
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
Gast #364282
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?
Gast #364283
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.

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.