Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage: LCD-Modul TC1602A-09 4Bit Modus an Atmega32, Code + Belegung


von Christian (Gast)


Lesenswert?

Hallo da ich mich seit einigen Tagen mit dem atmega32 bzw. der 
Programmierung (Bascom) befasse, würde ich gerne mal ein Display 
dranhängen

Habe bei Pollin das hier bestellt, leider finde ich im Internet und auf 
der Seite nur Problembeschreibungen bzw. sehr wenige aussagen an 
Belegung und Codes

Es handelt sich um das Display  „LCD-Modul TC1602A-09“
http://www.pollin.de/shop/dt/Nzc1OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_TC1602A_09.html

ich würde das Display vorerst im 4 Bit Modus Betreiben Wollen, da 
mehrere aussagen das dies funktionieren würde.

Ich würde daher einen Passenden Code und Belegung benötigen damit ich 
den Chip flashe und der Elektriker das lötet und ich dann gleich sehe ob 
alles funzt, wenn der Chip Startet...

Der Chip ist bereits eingestellt bezüglich JTAGEN Fuse und auf 16 Mhz 
Quarz

Als Code habe ich das gefunden
Wobei glaube ich RS auf GND gelegt werden soll (also ohne Pin)

Hmmmm bekomm schon Panik obwohls noch nicht mal da ist....
Wobei ich Persönlich erst alles Configen würde und dann Init



$regfile = "m32def.dat"
$crystal = 16000000

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , 
Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Waitms 50
Initlcd
Config Lcdbus = 4
Config Lcdmode = Port

Do
Cls
Locate 1 , 1
Lcd "Hallo"
Locate 2 , 1
Lcd "Welt"
Wait 500
Loop

von Programmierer (Gast)


Lesenswert?

Ich kenn mich mit bascom nicht aus, aber was du da zusammenkopiert? hast 
sieht für mich etwas grausam aus. Befehle und Config Anweisungen bunt 
gemischt, einmal umrühren, fertig? So geht das nicht.

Kauf dir ne Platine mit avr und lcd, serial port ist auch immer 
praktisch. Gibt's für wenig Geld fixfertig, damit kannst du dich einfach 
mal dem Lernen einer Programmiersprache widmen.

von Christian (Gast)


Lesenswert?

nun wie gesagt ich würde es so machen:
$regfile = "m32def.dat"
$crystal = 16000000

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 ,
Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Config Lcdbus = 4
Config Lcdmode = Port

Waitms 50
Initlcd
Waitms 50

Do
Cls
Locate 1 , 1
Lcd "Hallo"
Locate 2 , 1
Lcd "Welt"
Wait 500
Loop

PS:
Wobei ich aber auch wo Gelesenhabe das man im 4bit Modus das Initlcd 
nicht braucht das ist nur für die rate bzw. wird durch den IC dann 
irgendwie vorgegeben/geregelt wenn das das Display zu ungenau macht...

von Karl H. (kbuchegg)


Lesenswert?

Christian schrieb:
> nun wie gesagt ich würde es so machen:

<zusammenkratzen was ich im Lauf der Zeit über BASCOM und LCD gelernt 
habe>

> $regfile = "m32def.dat"
> $crystal = 16000000
>
> Config Lcd = 16 * 2
> Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 ,
> Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
> Config Lcdbus = 4
> Config Lcdmode = Port

Lcdmode hab ich so noch nie gesehen. Klingt für mich nach 
"Defaulteinstellung", die BASCOM sowieso annimmt.

Anosnsten: DIe Config beisammen lassen ist sicher nicht schlecht.

> Waitms 50
> Initlcd
> Waitms 50

> PS:
> Wobei ich aber auch wo Gelesenhabe das man im 4bit Modus das Initlcd
> nicht braucht das ist nur für die rate bzw. wird durch den IC dann
> irgendwie vorgegeben/geregelt wenn das das Display zu ungenau macht...

Ja stimmt.
BASCOM macht den InitLCD beim ersten Ansprechen des LCD, wenn du es 
nicht selbst schon vorher gemacht hast. Von daher: muss nicht unbedingt 
sein, schadet aber auch nicht. Im Zweifel gilt ja meistens: sei explizit 
in dem was du tust, dann brauchst du 1/2 Jahr später nicht raten, warum 
du bestimmte Dinge nicht getan hast.

von Christian (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.