Hi,
dürfte nix passieren, da E und RS ja Eingänge sind.
Da muß irgend etwas anderes faul sein.
Ich hatte es damals auch nur so hingekriegt, daß ich alle 8 Datenleitungen benutzt habe.
Also in 8 Bit initialisiert, dann auf 4 Bit umgeschaltet.
Leider fehlte mir die Zeit weiterzuprobieren, sonst hätte es bestimmt noch mit der 4 Bit Initialisierung geklappt.
Also ist der nachfolgende Code nicht wirklich toll
Aber zum testen kannst du es ja mal so probieren.
Kannst ja mal im MCS Forum gucken, da hat auch einer gerade was drüber geschrieben.
http://www.mcselec.com/index2.php?op...ewtopic&t=1632
Code:
'Das DOG Display hängt auf PortB
'Die Leitungen EN und RS liegen auf PortD.6 und PortD.7
$crystal = 16000000
Config Pind.6 = Output 'DOG_rs
Config Pind.7 = Output 'dog_en
Dim Commandbyte As Byte
Dog_rs Alias Portd.6
Dog_enable Alias Portd.7
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portd.7 , Rs = Portd.6
Waitms 50 'Wartezeit für's Display, braucht man wohl..
Gosub Dog_initialisieren 'initialisierung im 8-Bit Modus
Initlcd 'BascomInitialisierung, ab da geht's mit 4 Bit, wenn man will
Cls
Lcd "HALLO WELT !"
Locate 2 , 1
Lcd "DOG DISPLAY"
End
Dog_initialisieren:
Commandbyte = &B00110001
Gosub Send_dog_command
Commandbyte = &B00011101
Gosub Send_dog_command
Commandbyte = &B01011011
Gosub Send_dog_command
Commandbyte = &B01101000
Gosub Send_dog_command
Commandbyte = &B01111111
Gosub Send_dog_command
Commandbyte = &B00001111
Gosub Send_dog_command
Commandbyte = &B00000001
Gosub Send_dog_command
Commandbyte = &B00000110
Gosub Send_dog_command
Return
Send_dog_command:
Waitms 1
Reset Dog_rs
Waitms 1
Set Dog_enable
Waitms 1
Portb = Commandbyte
Waitms 1
Reset Dog_enable
Waitms 1
Set Dog_enable
Waitms 1
Set Dog_rs
Return
Gruß
Christopher
P.S. Dein Vorname fängt nicht zufälligerweise mit einm "R" an ?
Lesezeichen