Hi Leute, komm mir ziemlich dämlich vor
ich hab das altbewährte DIP-204 LCD An meinen M16 gehängt und will für das laufende Projekt den Port A für die Steuerung verwenden.
4-Bit
a.2=RS
a.3=E
a.4=DB4
a.5=DB5
a.6=DB6
a.7=DB7
DB0-3 = GND
Hab mich schon von der Lib verabschiedet und versuch das Ding "von Hand" mit dem folgenden Code zu betreiben, aber funzt nit.
Ich tüftel da schon 2 Abende dran rum und seh vermutlich den Wald vor Bäumen nicht. Habt Ihr mal ne Minute Zeit mir n Fingerzeig zu geben?
Code:$regfile = "m16def.dat" $crystal = 8000000 $baud = 2400 '$lib "ea-dip-Zeit.lib" 'Initlcd Declare Sub Lcdinit(byval Zeichen As Byte) Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2 Config Lcd = 20 * 4a Initlcd Config Pina.2 = Output Config Pina.3 = Output Config Pina.4 = Output Config Pina.5 = Output Config Pina.6 = Output Config Pina.7 = Output E Alias Porta.3 Rs Alias Porta.2 Call Lcdinit(&B00100100) Waitms 5 Call Lcdinit(&B00001001) Waitms 5 Call Lcdinit(&B00100000) Waitms 5 Call Lcdinit(&B00000110) Waitms 5 Call Lcdinit(&B00000001) Waitms 5 Call Lcdinit(&B00001100) Waitms 5 Cls Dim Temp As Byte Do Waitms 500 ' Hintergrundbeleuchtung aus Portd.7 = 0 Incr Temp Lcd Temp Print Temp Waitms 500 ' Hintergrundbeleuchtung ein Portd.7 = 1 Loop 'Schreibt die Initialisierungs - Bits zum LCD Sub Lcdinit(byval Zeichen As Byte) Print "init: "; Print Zeichen ' Höherwertiges Nibble setzen If Zeichen.4 = 1 Then Porta.4 = 1 Else Porta.4 = 0 If Zeichen.5 = 1 Then Porta.5 = 1 Else Porta.5 = 0 If Zeichen.6 = 1 Then Porta.6 = 1 Else Porta.6 = 0 If Zeichen.7 = 1 Then Porta.7 = 1 Else Porta.7 = 0 ' Höherwertiges Nibble übertragen E = 1 Waitms 1 E = 0 Waitms 1 ' Niederwertiges Nibble setzen If Zeichen.0 = 1 Then Porta.4 = 1 Else Porta.4 = 0 If Zeichen.1 = 1 Then Porta.5 = 1 Else Porta.5 = 0 If Zeichen.2 = 1 Then Porta.6 = 1 Else Porta.6 = 0 If Zeichen.3 = 1 Then Porta.7 = 1 Else Porta.7 = 0 ' Niederwertiges Nibble übertragen E = 1 Waitms 1 E = 0 Waitms 1 End Sub







Zitieren

Lesezeichen