PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problme bei Compiliren in Bascom --> bei 8bit LCD



dennis1986
14.03.2005, 20:13
Hallo,

ich wollte mein Display an 8bit betreiben weil das wohl bei 4 nicht funzt.

So habe ich mir gedacht stelle ich einfach unter Options-->Compile-->LCD das ganze auf 8bit um und definire in meinem die Pogramm die Ports:

Config Lcdpin = Pin , Db1 = Portb.0 , Db2 = Portb.1 , Db3 = Portb.2 , Db4 = Portb.3 , Db5 = Portb.4 , Db6 = Portb.5 , Db7 = Portb.6 , Db8 = Porte.7 , E = Porte.0 , Rs = Porte.1


1 Vss GND
2 Vcc 5V
3 Vee Poti
5 RW GND

beim Compelieren bekomme ich fehler bei DB1, DB2, DB3 und DB8.

hier nochmal das progmm:




$regfile = "m8515.dat"
$crystal = 16000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db1 = Portb.0 , Db2 = Portb.1 , Db3 = Portb.2 , Db4 = Portb.3 , Db5 = Portb.4 , Db6 = Portb.5 , Db7 = Portb.6 , Db8 = Porte.7 , E = Porte.0 , Rs = Porte.1
Config Lcd = 16 * 2

Do
Cls
Upperline
Lcd "1"


Loop
End


Bitte um Hilfe, wieso zeigt er fehler?

PicNick
15.03.2005, 07:59
beim Compelieren bekomme ich fehler bei DB1, DB2, DB3 und DB8.

Die Spannung ist kaum auszuhalten. Werden wir jemals erfahren, WELCHE Fehlermeldung es sind ?

dennis1986
15.03.2005, 14:17
Die meldungen sind:

error: 86 line:4 invalid parameter for timer configoration DB1
error: 86 line:4 invalid parameter for timer configoration DB2
error: 86 line:4 invalid parameter for timer configoration DB3
error: 86 line:4 invalid parameter for timer configoration DB8

albundy
15.03.2005, 14:26
Hallo,
Im 8 Bit Modus muss für die Datenpins ein kompletter Port konfiguriert werden.
CONFIG LCDPIN = PIN , PORT=PORTB, E=PORTE.0, RS=PORTE.1

Michael
15.03.2005, 14:31
Hallo dennis1986,
Konfigurier dein Display im 4-Bit-Modus!
Die Datenbits werden dann von 4-7 (nicht 8 ) angegeben.
Siehe auch Bascom Hilfe "Attaching an LCD Display"
Gruß, Michael

dennis1986
15.03.2005, 14:39
das display läuft nicht auf 4bit das habe ich schon versucht....

Michael
15.03.2005, 15:00
Hallo dennis1986,

das display läuft nicht auf 4bit das habe ich schon versucht....
etwas pauschal, findest du nicht?
Meinst du, daß es im 8-Bit Modus dann läuft?
Was genau läuft denn nicht?
Stimmt die Kontrastspannung?
Liegt R/W auf Gnd?
Gruß, Michael

dennis1986
15.03.2005, 17:00
ja bei 4bit habe ich echt schon alles auspobiert, es kommt nur in der ersten zeile balken stückchen. habe rw an gnd glegt und alles versucht. habe aber auch im inter4net gelesen das dieses display wohl problme im 4bit mode hat. im datenbalt seht auch nur was von 8 bit.

ich habe jetzt einen einfachen code geschrieben, bekomme aber beim compiliren immer noch die gleichen fhlermeldungen
$regfile = "m8515.dat"
$crystal = 16000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Port = Porta , Db1 = Porta.0 , Db2 = Porta.1 , Db3 = Porta.2 , Db4 = Porta.3 , Db5 = Porta.4 , Db6 = Porta.5 , Db7 = Porta.6 , Db8 = Porta.7
Config Lcdpin = Pin , Port = Porte , E = Porte.0 , Rs = Porte.1


Do
Cls
Upperline
Lcd "1"


Loop
End

Dennis

Michael
15.03.2005, 18:20
Hallo dennis1986,

es kommt nur in der ersten zeile balken stückchen.
Könntest du diesen Satz nochmal erklären? Ich komme grammatikalisch damit einfach nicht klar :(
Wie äußert sich denn nun der Fehler?

bekomme aber beim compiliren immer noch die gleichen fhlermeldungen
ich hatte im letzten Post versucht, dich darauf hinzuweisen, daß ein Port von 0-7 und nicht von 1-8 geht. Hast du das verstanden?
Da also DB8 nicht existiert, gibt es logischerweise einen Fehler.
Bei Definitionen bei der "Config Lcdpin"-Angabe werden u.a. nur im 4Bit Modus die Datenbits 4 bis 7 angegeben. Daher die Fehlermeldung von DB1 bis DB3.
Im 8Bit Modus wird ein kompletter Port für die Daten angegeben. Logischerweise können auf denselben Port keine Steuerdaten laufen...
Also entscheide dich für eine der beiden Varianten. In deinem Programm versuchst du nämlich beide zu benutzen.
Gruß, Michael

dennis1986
15.03.2005, 18:47
im 4bit modus: die 1. zeile sieht in etwa so aus

||||| ||||| ||||| | ||| ||||| | |

die 2. bleibt lehr

ich denke DB1-DB8 sind die datenleitungen am LCD. am AVR defeniere ich porta.0 - porta.7


du sagtest "config lcdpin" soll ich weg lassen. also wie muss ich das pogramm jetzt schriebem? einfach nur den befehl weg lassen?

tobimc
15.03.2005, 19:09
Hi

Also: Ich hätte da noch ein paar Vorschläge...

1.) lcdinit
Initiiert das LCD. Vor Gebrauch abslout zu empfehlen...

2.) Man braucht nur 4 von 8 Pins deklarieren. Ich weis, es hört sich an, als ob es Unsinn wäre, aber wenn ich versuche 8 DBs zu deklarieren, bekomme ich auch Fehlermeldungen.

Folgendes:


Config Lcdbus = 8
Config Lcdmode = Port
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db7 = Portx.x , Db6 = Portx.x , Db5 = Portx.x , Db4 = Portx.x , E = Portx.x , Rs = Portx.x


So läuft bei mir meine COM, und sie läuft gut.
Das hat schon immer funktioniert.
vielleiht schaltet BASCOM auch auf 4 Bit um, aber ich halte das für unwarscheinlich.

Ganz liebe Grüße; Tobi