hackspider
Wakü-Poseidon
Karma: +4/-0
Offline
Geschlecht:
Beiträge: 412
|
So bin nicht sicher wo das jetzt rein kommt aber ich hab jetzt mal den code für die 4(5) taster rausgesucht und verbessert. Das soll so ne art menüführung sein mit ner Enter taste. Also das ganze soll nacher auf einem mega16 laufen. PortA hab ich als pulldown für die taster gedacht leider hab ich erst jetzt gemerkt das dort die adc eingänge sind deshalb würde ich die pulldowns auf den port B legen sollte leicht zu ändern sein.An PortC hängt das LCD. und port D wird als pwm gesetzt. So die Taster: PA0 oben PA1 unten PA2 links PA3 rechts PA4 Enter Links und rechts sind nacher für den Pwm vorgesehn. mit enter kommt man in die untermenüs der einzelnen lüfter und wieder zurück da will ich noch statt dem adc wert die balkenanzeige von Spunky programmieren. Und ich weiß das ich nicht der beste Programierer bin. Ich hab das alles erstmal auf funktion programiert.
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Lcd = 16 * 4
Config Adc = Single , Prescaler = Auto Start Adc Config Porta = Input Porta = 255
Dim A As Byte Dim C As Byte Dim Z As Byte Dim E As Byte Dim Q As Byte Dim W As Word Q = 0 Z = 1 E = 0
Cls Cursor Off Noblink Lcd "Hi hackspider" Cls
Deflcdchar 0 , 27 , 19 , 27 , 27 , 27 , 27 , 17 , 31 ' inverse 1 Deflcdchar 1 , 17 , 14 , 30 , 29 , 27 , 23 , 32 , 31 ' inverse 2 Deflcdchar 2 , 32 , 29 , 27 , 29 , 30 , 14 , 17 , 31 ' inverse 3 Deflcdchar 3 , 29 , 25 , 21 , 13 , 32 , 29 , 29 , 31 ' inverse 4
Gosub 1luefter
Do A = Porta If A = 254 Then Gosub Utaster End If If A = 253 Then Gosub Dtaster End If If A = 251 Then C = 2 End If If A = 247 Then C = 3 End If If A = 239 Then Cls Gosub Enter End If Loop
Utaster: Z = Z - 1 If Z < 1 Then Z = 1 End If Gosub Verteilung Return
Dtaster: Z = Z + 1 If Z > 4 Then Z = 4 End If Gosub Verteilung Return
1luefter: Locate 1 , 1 Lcd Chr(0) Locate 1 , 2 Lcd "." Locate 1 , 3 Lcd "Luefter" Locate 2 , 1 Lcd "2.Luefter" Locate 3 , 1 Lcd "3.Luefter" Locate 4 , 1 Lcd "4.Luefter" Return
2luefter: Locate 1 , 1 Lcd "1.Luefter" Locate 2 , 1 Lcd Chr(1) Locate 2 , 2 Lcd ".Luefter" Locate 3 , 1 Lcd "3.Luefter" Locate 4 , 1 Lcd "4.Luefter" Return
3luefter: Locate 1 , 1 Lcd "1.Luefter" Locate 2 , 1 Lcd "2.Luefter" Locate 3 , 1 Lcd Chr(2) Locate 3 , 2 Lcd ".Luefter" Locate 4 , 1 Lcd "4.Luefter" Return
4luefter: Locate 1 , 1 Lcd "1.Luefter" Locate 2 , 1 Lcd "2.Luefter" Locate 3 , 1 Lcd "3.Luefter" Locate 4 , 1 Lcd Chr(3) Locate 4 , 2 Lcd ".Luefter" Return
Verteilung: If Z = 1 Then Gosub 1luefter End If If Z = 2 Then Gosub 2luefter End If If Z = 3 Then Gosub 3luefter End If If Z = 4 Then Gosub 4luefter End If Return
Enter: Do A = Porta If A = 255 Then Q = 10 End If If Q = 10 Then If A = 239 Then Goto Enta: End If End If Locate 1 , 1 If Z = 1 Then Lcd "1.Luefter" W = Getadc(0) Locate 2 , 1 Lcd W End If If Z = 2 Then Lcd "2.Luefter" W = Getadc(1) Locate 2 , 1 Lcd W End If If Z = 3 Then Lcd "3.Luefter" W = Getadc(2) Locate 2 , 1 Lcd W End If If Z = 4 Then Lcd "4.Luefter" W = Getadc(3) Locate 2 , 1 Lcd W End If Loop Enta: Q = 5 Gosub Verteilung Return Da is noch ne menge drin was zuviel ist aber das wichtigste ist das das erstma läuft. wer bascom hat kann das ja mal simuliern.
|