PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lcd4busy.lib geht nicht



enterprise30
20.04.2006, 22:45
Tach zusammen,

Problem: Ich will das Busyflag fürs LCD auswerten/benutzen.
Daher hab ich mir das Beispielprogramm lcd4busy.bas (von mcs) in den Prozessor geladen.
Es tut sich aber nichts!
System: STK-500
Prozessor :AT90S8515
Takt 3,69Mhz
Display 16x1
LCD an PortA
Verdrahtung wie in der lcd4busy.lib:
Rs = PortA.3
RW = PortA.2
E = PortA.1
E2 = PortA.0 (frei gelassen)
Db4 = PortA.4
Db5 = PortA.5
Db6 = PortA.6
Db7 = PortA.7

Wenn ich RW an Masse lege und das Display konventionell über Bascom ansteuere geht alles.
Was mir auffiel, ist daß beim Betrieb mit der "lcd4busy.lib" sich am PortA
Spannungsmäßig nichts rührt (im Gegensatz zur konventionellen Ansteuerung)
Ich hab auch schon die "lcd4busy.lib" im Lib-Manager nochmals compiliert
Habe auch schon die voreingestellten Pins in den Compilereinstellungen wie SPI,I²C und 1Wire vom Port genommen.
Was mach ich falsch?

Jürgen

'-----------------------------------------------------------------------
' (c) 2002-2003 MCS Electronics
' lcd4busy.bas shows how to use LCD with busy check
'-----------------------------------------------------------------------
'code tested on a 8515
$regfile = "8515def.dat"

'stk500 has ~4 MHz
$crystal = 3690000

'$sim
$lib "lcd4busy.lib"

'define the used constants
'I used porta for testing
Const _lcdport = Porta
Const _lcdddr = Ddra
Const _lcdin = Pina

Const _lcd_e = 1
Const _lcd_rw = 2
Const _lcd_rs = 3

'this is like always, define the kind of LCD
'Config Lcd = 16 * 1

'and here some simple lcd code

Do
Cls
Lcd "Hallo Welt"
Wait 1
Cls
Wait 1
Loop

Rage_Empire
20.04.2006, 22:55
SO wie ich das sehe hast fehlt die konfiguration der ports zu dem Display.

enterprise30
21.04.2006, 20:55
Du meinst mit "config" den Port initialisieren? Das macht doch Bascom über die Zeilen:
Const _lcdport = Porta
Const _lcdddr = Ddra
Const _lcdin = Pina

Const _lcd_e = 1
Const _lcd_rw = 2
Const _lcd_rs = 3

Das muß irgendwo ein Megahund drinn sein! :-s :-k
Wenn ich auf PortB zusätzlich eine Led blinken lass geht das solange gut bis ich mit "lcd" etwas ans Display sende.
Natürlich laufts im Simulator problemlos....

enterprise30
21.04.2006, 22:09
Fehler gefunden! \:D/ (aber nicht die Ursache...) :-k
Hab mal den AT90S8515 gegen einen Atmega16 getauscht.
Geht alles wie es soll!
Die Frage ist nun warum es beim 8515 nicht geht.
Hab alle Ports beim 8515 auf ihre Funktion als Eingang und Ausgang getestet - alles i.o.
Ebenso stimmen die *.dat zum Programm überein.
Und Fusebits hat der 8515 fast keine.
Naja, falls einer mal so ein Prob. hat, soll er es mal mit einem Prozessorwechsel probieren.

Jürgen