Forum: Mikrocontroller und Digitale Elektronik LCD fur Dummies ;)


von rk (Gast)


Lesenswert?

Servus zusammen, ich hab das Atmel Evaluationsboard und Add-on mit dem 
dazugehörigen Display mir zugelegt.
Des weitern Programmier, oder versuche ich es Mit BasCom AVR ;)
So nun meine bitte oder frage.

Irgendwie bekomme ich es nicht hin was sinnvolles auf dem Display 
anzuzeigen. Ausser irgendwelche wirren Buchstaben.

Was ist den an diesem Programm bitte falsch?


$regfile = "m16def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Lcd_db4 Alias Portb.2
   Lcd_db5 Alias Portb.3
   Lcd_db6 Alias Portb.4
   Lcd_db7 Alias Portb.5
   Lcd_e Alias Portb.6
   Lcd_rs Alias Portb.7

Initlcd
Cls



Locate 1 , 1
Lcd "1.Erfolgreicher"
Locate 2 , 1
Lcd "Displaytest"

Waitms 1500

von Cyblord -. (cyblord)


Lesenswert?

Ist es auch so angeschlossen wie du es konfiguriert hast? 
Programmtechnisch kann man da nicht viel falsch machen.
Läuft der Controller mit der angegeben Geschwindigkeit (10 MHz)?

von rk (Gast)


Lesenswert?

Also ich hab die Beschaltung so aus dem Datenblatt zum Testprogramm 
rausgenommen. Den Controller hab ich jetzt mal auf 16Mhz gesetzt, da ist 
es nur noch schwarz.

von Karl (Gast)


Lesenswert?

Mach es so, wie in der Hilfe angegeben mit Config LCD

http://avrhelp.mcselec.com/index.html?config_lcd.htm

Und lass die ganzen "Alias" wech..
1
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.6 , Rs = Portb.7
2
3
Config Lcd = 16x2
4
5
Cls                                                      
6
7
Lcd "Hello world"

von Cyblord -. (cyblord)


Lesenswert?

rk schrieb:
> Also ich hab die Beschaltung so aus dem Datenblatt zum Testprogramm
> rausgenommen.

Verstehe nicht. War das Bascom Programm beim AVR Board dabei oder wie? 
Es geht ja darum dass das LCD so an den Controller angeschlossen ist, 
wie du es im Bascom Programm reinkonfiguriert hast.

> Den Controller hab ich jetzt mal auf 16Mhz gesetzt, da ist
> es nur noch schwarz.

Hast du dabei auch die $crystal Einstellung angepasst? Die Frage war 
einfach ob der Controller tatsächlich mit der Taktfrequent läuft welche 
du bei $crystal angegeben hast. Einfach mal hochsetzen nach try & error 
bringt doch nix. Überprüf doch mal in Ruhe die angesprochenden Sachen.

von Jonas (Gast)


Lesenswert?

cyblord ---- schrieb:
> Läuft der Controller mit der angegeben Geschwindigkeit (10 MHz)?

oben steht aber 1 MHz ;)

rk schrieb:
> Controller hab ich jetzt mal auf 16Mhz gesetzt

Kontrollier das lieber noch mal...

von rk (Gast)


Lesenswert?

ja das hab ich vorhin auch schon alles probiert, komisch jetzt 
funktioniert es zum Teil er schreibt mir nur "ello world"
Aber danke erstmal

von Cyblord -. (cyblord)


Lesenswert?

Jonas schrieb:
> cyblord ---- schrieb:
>> Läuft der Controller mit der angegeben Geschwindigkeit (10 MHz)?
>
> oben steht aber 1 MHz ;)

Stimmt ;-)

von rk (Gast)


Lesenswert?

cyblord ---- schrieb:
> rk schrieb:
>> Also ich hab die Beschaltung so aus dem Datenblatt zum Testprogramm
>> rausgenommen.
>
> Verstehe nicht. War das Bascom Programm beim AVR Board dabei oder wie?
> Es geht ja darum dass das LCD so an den Controller angeschlossen ist,
> wie du es im Bascom Programm reinkonfiguriert hast.
>
Nein, hab das BASCOM-Buch extra bekommen, da für mein Projekt was darin 
ist.
Also nicht zum Board.

>> Den Controller hab ich jetzt mal auf 16Mhz gesetzt, da ist
>> es nur noch schwarz.
>
> Hast du dabei auch die $crystal Einstellung angepasst? Die Frage war
> einfach ob der Controller tatsächlich mit der Taktfrequent läuft welche
> du bei $crystal angegeben hast. Einfach mal hochsetzen nach try & error
> bringt doch nix. Überprüf doch mal in Ruhe die angesprochenden Sachen.


Habe gedacht $crystal Einstellungen sind die Taktfrequenz?! Oder versteh 
ich das falsch?

von Cyblord -. (cyblord)


Lesenswert?

rk schrieb:
> cyblord ---- schrieb:
>> rk schrieb:
>>> Also ich hab die Beschaltung so aus dem Datenblatt zum Testprogramm
>>> rausgenommen.
>>
>> Verstehe nicht. War das Bascom Programm beim AVR Board dabei oder wie?
>> Es geht ja darum dass das LCD so an den Controller angeschlossen ist,
>> wie du es im Bascom Programm reinkonfiguriert hast.
>>
> Nein, hab das BASCOM-Buch extra bekommen, da für mein Projekt was darin
> ist.
> Also nicht zum Board.

Also musst du schauen wie das Display am Controller angeschlossen ist, 
und dies Bascom korrekt mitteilen.

>
>>> Den Controller hab ich jetzt mal auf 16Mhz gesetzt, da ist
>>> es nur noch schwarz.
>>
>> Hast du dabei auch die $crystal Einstellung angepasst? Die Frage war
>> einfach ob der Controller tatsächlich mit der Taktfrequent läuft welche
>> du bei $crystal angegeben hast. Einfach mal hochsetzen nach try & error
>> bringt doch nix. Überprüf doch mal in Ruhe die angesprochenden Sachen.
>
>
> Habe gedacht $crystal Einstellungen sind die Taktfrequenz?! Oder versteh
> ich das falsch?

Nein, die Taktfrequenz wird über die Fuse-Bits eingestellt. Mit $crystal 
teilst du diese Bascom mit.

von rk (Gast)


Lesenswert?

Fuse Bits? omg
Muss ja mal ehrlich sein, hätte net gedacht das es da soviel zu beachten 
gibt.
Wie und wo stelle ich die den ein?

von Karl (Gast)


Lesenswert?

rk schrieb:
> Wie und wo stelle ich die den ein?

http://avrhelp.mcselec.com/index.html?program_send_to_chip.htm

Dabei kann man aber einiges falsch machen. Probiere es erst einmal mit 
der eingestellten Taktrate. Sollte 1 MHz (evtl. auch 8 oder 16 sein). 
Wenn die Frequenz richtig ist (und alles andere auch) sollte auf dem LCD 
etwas zu lesen sein.

Für einen externen Quarz musst Du das FUSEBIT KLA987 verändern. Es hängt 
davon ab, ob Du einen Quarz oder einen Oszillator verwendest. Wenn Du 
das falsch angibst, ist der Mikrocontroller erst einmal tot und nur mit 
Mühe zu "retten".

von rk (Gast)


Lesenswert?

Also auf dem Display ist jetzt schon was zusehen, aber net das was ich 
genau möchte ;)
Das Problem ist hier anscheinend, das der Controller "gebraucht" ist. 
Mhh mal schauen ob ich das irgendwie hinbekomme/ auslesen kann?!

von Karl (Gast)


Lesenswert?

Dann schreib doch mal, was bei KLA987 so steht....

von Cyblord -. (cyblord)


Lesenswert?

rk schrieb:
> Fuse Bits? omg
> Muss ja mal ehrlich sein, hätte net gedacht das es da soviel zu beachten
> gibt.

Muss auch mal ehrlich sein, wer denkt er könnte hoppla hopp einfach mal 
schnell Controller programmieren der irrt nunmal. Nun hast du schon eine 
fertige Hardware, mit dem Nachteil dass du davon keine Ahnung hast, und 
eine Programmiersprache welche dir ALLE internas der LCD Ansteuerung per 
eingebauter lib abnimmt, mit dem Nachteil dass du von der LCD 
Ansteuerung nach wie vor keine Ahnung hast und auch nichts lernst. Das 
geht so lange gut, wie alles funktioniert. Sobald du aber ein Problem 
hast, hast du weder von der HW noch von der SW genug Ahnung um das zu 
beheben.

ISP Programmierung, Fuses, Taktfrequenz/quellen sind absolute 
Grundlagen, die man zumindest in Ansätzen schonmal überschauen können 
sollte, bevor man mit dem Controller irgendwas anderes versucht.

gruß cyblord

von rk (Gast)


Lesenswert?

würd ich ja gern machen aber da steht nix drin und er sagt : couldnot 
identify...

von rk (Gast)


Lesenswert?

rk schrieb:
würd ich ja gern machen aber da steht nix drin und er sagt : couldnot
> identify...

bzw READLB entry not found

von Harald (Gast)


Lesenswert?

rk schrieb:
> Was ist den an diesem Programm bitte falsch?

Falsche Programmiersprache... ;)

von Karl (Gast)


Lesenswert?

rk schrieb:
> würd ich ja gern machen aber da steht nix drin und er sagt : couldnot

Dann wir es schwierig. Aber das programmieren geht? Du kannst auch mal 
das myAVR ProgTool ausprobieren:

http://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl112

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.