moin moin allerseits,
Jetzt da ich entdlich mal etwas Urlaub habe, habe ich mich um oben
benanntes LCD gekümmert.
Aus einem Beitrag in dieser NG AUS (20059habe ich eine Innitialusierungs
Routine gefunden ; da diese mir etwas zu lang war habe ich das einmal
anders umgesetzt.
Code:
$regfile = "m16def.dat" ' specify the used micro
$crystal = 16000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40
'$sim
Config Portb = Output
Dim A(8) As Byte
Dim I As Byte
'
A(1) = &B00000000 ' Inni H_Byte
A(2) = &B00001001 ' Inni L_Byte
A(3) = &B00000010
A(4) = &B00001000
A(5) = &B00000000
A(6) = &B00000110
A(7) = &B00000000
A(8) = &B00001100 ' u.s.W.
For I = 1 To 8 ' LCD INI
Portb = A(i) And 00001111 'PB 0...3 Auf 0, BP 4...7 Data
Portb.1 = 1 'E setzen und Daten übernehmen
Waitms 1 ' Waaaaarten
Portb.1 = 0
Waitms 1
Next I
Cls ' Das klappt schon Hier...!?
'Pins des LCD-Modules setzen ggf. an eigene Anschlüsse anpassen
Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.1 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
Config Lcd = 16 * 4
Initlcd
Locate 1 , 2
Lcd "Motor_L"
Locate 1 , 10
Lcd "255"
Portb.0 = 0 'Leider setzt die Bascom LCD Routine Rs nach LCD "xyz" auf Hight,
'Dadurch Wird Die Anzeige Ausgeschaltet = Instrucktionsmodus. Deshalb
'musste ich diese Portb.0 = 0 einfügen. :-(
End
Leider gibt es da noch ein Problem, Im Bscomm Simulator wird "rs" ordentlich
auf "1" gesetzt und das LCD zeigt ..lcd "Hallo" an. In der realen Welt, nicht!
setze ich nach lcd "xyz" portb.0 (alias Rb.0) = 0, bekomme ich eine Anzeige.
RS Piin Daenblatt :
Used as register selection input.
When RS = “High”, Data register is
selected.
When RS = “Low”, Instruction register is
selected.
Sollte doch eher umgedreht sein?
Nach 3 Tagen mit quasie 24h reicht es mir jetzt erst einmal ein wenig. 
Immerhin, Die Motoren sind von Masse befreit und mit Hallgebern
ausgerüßtet, die "Ticks" kommen sauber an und lösen bei einem Rad
mit 20 cm Durchmesser ~ 0,26mm auf Wenn da dann noch die Softwre
mitmacht?
Gruß Richard.
Lesezeichen