ZwieBack
03.07.2007, 20:02
Abend,
wir haben und auf Arbeit zum Spass ne Bewässerungsanlage für 2 Planzen gebaut, Vorratsbehälter mit Standmessung, Schauchpumpe und 2 Ventile das ganze wird mit ner Logo gesteuert. Zu ner bestimmten Zeit läuft die pumpe an , das erste Ventil wird geöffnet dann schließt das erste und das zweite öffnet, schließt und die pumpe stoppt. Zur Veranschauung
http://www.bilder-hochladen.net/files/thumbs/37qx-1.jpg (http://www.bilder-hochladen.net/files/37qx-1-jpg.html)
Nun wollt ich das ganze noch mitn nem LCD ausstatten, mit dem prog
$regfile = "m8def.dat"
$crystal = 7372800
Declare Sub Ventil1
Declare Sub Ventil2
Declare Sub Pumpeaus
Ddrd = &B11111111
Portd.6 = 1
Portd.7 = 1
Dim A As Bit
Dim B As Bit
A = Pind.6
B = Pind.7
Initlcd
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Cls
Locate 1 , 1
Lcd " V0815 "
Wait 2
Do
If A = 1 And B = 0 Then
Call Ventil1
End If
If A = 0 And B = 1 Then
Call Ventil2
End If
If A = B Then
Call Pumpeaus
End If
Loop
'------------------------------Unterprogramme----------------------------------
Sub Ventil1
Locate 1 , 1
Lcd "Pumpe Ein "
Locate 2 , 1
Lcd "Ventil 1 Auf "
End Sub
Sub Ventil2
Locate 1 , 1
Lcd "Pumpe Ein "
Locate 2 , 1
Lcd "Ventil 2 Auf "
End Sub
Sub Pumpeaus
Locate 1 , 1
Lcd "Pumpe Aus "
Locate 2 , 1
Lcd "Ventile Zu "
End Sub
Eigentlich ganz simpel, es sollen nur immer die Ports abgefragt werden und dann das entsprechende Bild angezeigt werden. Nur hab ich das problem, das ich immer die anzeige der Sub Pumpeaus zu sehen bekomm. Wenn ich dagegen einen Pin wärend der Progübertragung auf GND lege wird mir das richtige Bild am LCD ausgegeben.
zum testen hab ich an die ports erstma je an nem taster (parallel ne Led um den Pegel am pin zu sehen).
Was mach ich falsch?
Gruss ZB
wir haben und auf Arbeit zum Spass ne Bewässerungsanlage für 2 Planzen gebaut, Vorratsbehälter mit Standmessung, Schauchpumpe und 2 Ventile das ganze wird mit ner Logo gesteuert. Zu ner bestimmten Zeit läuft die pumpe an , das erste Ventil wird geöffnet dann schließt das erste und das zweite öffnet, schließt und die pumpe stoppt. Zur Veranschauung
http://www.bilder-hochladen.net/files/thumbs/37qx-1.jpg (http://www.bilder-hochladen.net/files/37qx-1-jpg.html)
Nun wollt ich das ganze noch mitn nem LCD ausstatten, mit dem prog
$regfile = "m8def.dat"
$crystal = 7372800
Declare Sub Ventil1
Declare Sub Ventil2
Declare Sub Pumpeaus
Ddrd = &B11111111
Portd.6 = 1
Portd.7 = 1
Dim A As Bit
Dim B As Bit
A = Pind.6
B = Pind.7
Initlcd
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Cls
Locate 1 , 1
Lcd " V0815 "
Wait 2
Do
If A = 1 And B = 0 Then
Call Ventil1
End If
If A = 0 And B = 1 Then
Call Ventil2
End If
If A = B Then
Call Pumpeaus
End If
Loop
'------------------------------Unterprogramme----------------------------------
Sub Ventil1
Locate 1 , 1
Lcd "Pumpe Ein "
Locate 2 , 1
Lcd "Ventil 1 Auf "
End Sub
Sub Ventil2
Locate 1 , 1
Lcd "Pumpe Ein "
Locate 2 , 1
Lcd "Ventil 2 Auf "
End Sub
Sub Pumpeaus
Locate 1 , 1
Lcd "Pumpe Aus "
Locate 2 , 1
Lcd "Ventile Zu "
End Sub
Eigentlich ganz simpel, es sollen nur immer die Ports abgefragt werden und dann das entsprechende Bild angezeigt werden. Nur hab ich das problem, das ich immer die anzeige der Sub Pumpeaus zu sehen bekomm. Wenn ich dagegen einen Pin wärend der Progübertragung auf GND lege wird mir das richtige Bild am LCD ausgegeben.
zum testen hab ich an die ports erstma je an nem taster (parallel ne Led um den Pegel am pin zu sehen).
Was mach ich falsch?
Gruss ZB