Hallo,
Mein Programm sieht so aus (da sind wahrscheinlich viele Fehler):
Code:
Config Portc = Output
Config Pina.7 = Input
Porta.7 = 1
Config Adc = Single , Prescaler = Auto
Start Adc
Dim W As Word , Channel As Byte
Channel = 0
Do
If W = Getadc(7) Then
Portc = &B00000000
Else
Portc = &B11111111
End If
Loop
End
Das ist mein erstes.
Mein zweites lautet:
Code:
Config Portc = Output
Config Pina.7 = Input
Porta.7 = 1
Declare Sub T1()
Declare Sub T2()
Declare Sub T3()
Declare Sub T4()
Declare Function Tastenabfrage() As Byte
Config Adc = Single , Prescaler = Auto
Dim Taste As Byte
Start:
Portc = &B11111111
Do
Taste = Tastenabfrage()
If Taste <> 0 Then
Select Case Taste
Case 1
Call T1
Case 2
Call T2
Case 3
Call T3
Case 4
Call T4
End Select
Else
End If
Sub T1()
...
End Sub
Sub T2()
...
End Sub
Sub T3()
...
End Sub
Sub T4()
...
End Sub
Loop
Function Tastenabfrage() As Byte
Local Ws As Word
Tastenabfrage = 0
Start Adc
Ws = Getadc(7)
If Ws < 500 Then
Select Case Ws
Case 400 To 450
Tastenabfrage = 1
Case 330 To 380
Tastenabfrage = 2
Case 260 To 305
Tastenabfrage = 3
Case 180 To 220
Tastenabfrage = 4
End Select
End If
End Function
Für das Zweite Programm habe ich einen Teil der Demo von den Tastern benutzt, um die einzelnen Widerstandsbereiche festzulegen (Das Poti habe ich am Porta.7 und Porta.6 angeschlossen). Diese sind wahrscheinlich falsch, doch ich weiß nicht wie sie aussehen müssen. Mein Poti besitzt einen Widerstand von 420kOhm.
Gruß, Palmer
Lesezeichen