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 ![Zwinkern](https://www.roboternetz.de/phpBB2/images/smiles/icon_wink.gif)
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