PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD am Mega16



seitenmaster
07.01.2005, 11:00
Jetzt fehlt mir zu meinem neuen Projekt noch eine Hilfestellung zu einem LCD. Habe im letzten lediglich eine 7-Segmentanzeige verwendet. Wie wird ein LCD angescglossen und wie zeigt man etwas an? Wer kennt eine Seite,oder Tipps o.ä. Das auf Microcontroller.net kenn ich schon .

tobimc
07.01.2005, 11:02
HI

Es gibt Artikel zum Thema. Such' mal im Forum, oder schau unter "Artikel"
in der Linkleiste oben.

BASCOM kann das übrigens von Haus aus.

Liebe Grüße, Tobi

seitenmaster
07.01.2005, 11:23
Hi ich habe gerade mal bei den Artikeln geschaut und folgenden Artikel gefunden:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=810 Zeichen von der seriellen Schnittstelle anzeigen, welche vom PC übertragen werden. Idch suche hingegen eine möglichkeit etwas vom Controller aus aufs LCD zu bringen, habe aber keine Ahnung wie ich soetwas machen soll und welches LCD-Modul ich verwenden soll.

noNeed 4 aNick
07.01.2005, 11:44
Schau mal hier: http://www.mikrocontroller.net/tutorial/lcd.htm

Die Darstellung auf dem LCD ist zwar mit Assembler geschrieben, aber letzendlich geht's nur darum auf irgendwelchen Pins low und high Pegel anzulegen :)

Vitis
07.01.2005, 12:26
ist an sich gar kein Problem.

Du holst Dir ein LCD z.B. bei Conrad, das Controller HD44780 hat oder kompatibel ist.

Ich hab da das LCD-MODUL 4X20 BLAU BestNr. 181743 - SX verwendet.
Dann schliesst Du das wiefolgt an.

Pin1 (GND) : 0V bzw. GND
Pin2 (+UB) : +5V
Pin3 (Kontrastspannnung) : Über Drehpoti 5K an +5V
Pin4 (RS): an beliebigen Ausgang des Mega16
Pin5 (RW): an GND
Pin6 (E): an beliebigen Ausgang des Mega16
Pin7-10 (D0-D3): an GND
Pin11-14 (D4 - D7): an beliebige Ausgänge des Mega16
Pin15,16 (NC,RES): bleibt offen
Pin17 (LED+): Hab ich einfach über zwei Dioden in Reihe (1N4001) an +5V, geht aber auch mit Poti.
Pin18 (LED-): an GND

DAS war schon der Anschluss.

Nun brauchst Du noch eine Initialisierung im Programm.

http://www.mikrocontroller.net/attachment.php/125392/-HomeCon_1.2..LIB
Das Lib hat mir sehr geholfen, ist nicht von mir, das will ich mal betonen.
Du speicherst das Lib ind das LIB-Bascom-Unterverzeichnis und
bindest es per

$lib "-HomeCon_1.2.lib"

Das Lib mußt Du auch deinem Anschluss entsprechend anpassen.
einfach mit dem Editor öffnen und von Zeile 43 bis 48 Deine jeweiligen Anschlüsse angeben.
Für Zeilen 66, 69, 89, 93 gilt gleiches.
Für Höhere Taktraten des Controllers muß auch Zeile 97 und 105 mit größeren Zahlenwerten versehen werden, sonst gibts timingprobleme.

DAs LCD muß auch Bascom noch verklickert werden:

Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4

Die Pins solltest Du natürlich auch Deiner Anschlussbelegung anpassen.

Config Lcd = 20 * 4a
Initlcd ' LCD wird mit "_Init_Lcd" aus "HomeCon.lib" initialisieren
Cls
Display On

Und schon sollte es laufen. Oder zumindest läufts so bei mir.
Mit den LCD-Befehlen:

Cls (löschen der Anzeige)
Lcd "irgendwas" (Zeigt irgendwas dann an)
Locate Y , X (Setze Schreibposition)

hast Du dann schon das Wesentliche denke ich.

Viel Spaß beim Basteln!

Pascal
07.01.2005, 12:28
ich verwende für LCDs immer die library von Peter Fleury, war einfach die erste, die ich hatte
man kann sie samt Erklärung unter
http://homepage.sunrise.ch/mysunrise/peterfleury/avr-software.html#libs
finden
ist in C und man kann alle Einstellungen leicht anpassen

mit welcher Sprache programmierst du eigentlich?

seitenmaster
07.01.2005, 13:09
Ich weiß nicht, ob du mich gemeint hast, aber ich habe mein vorheriges Roborterprojekt mit C Programmiert und bin auch ganz gut zurecht gekommen. Ich habe vor den neuen auch wieder mit C zu programmieren. Danke für eure Hilfen, das wird mich sicherlich weiterbringen.