der code:
TIMER0
Code:
$baud = 9600
$crystal = 16000000
$regfile "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 64
Config Timer0 = Timer , Prescale = 256 , Capture Edge = Falling , Noise Cancel = 1
Enable Timer0
On Timer0 Pausenerkennung
Config Int1 = Falling
Enable Interrupts
Enable Int1
On Int1 Summensignalmessung
Dim Empf(6) As Word
Dim Channel As Byte
Sound Portd.7 , 200 , 300
Do
Print Empf(1) ; " CH1"
Print Empf(2) ; " CH2"
Print Empf(3) ; " CH3"
Print Empf(4) ; " CH4"
Print Empf(5) ; " CH5"
Print Empf(6) ; " CH6"
Print " "
Waitms 500
Loop
Summensignalmessung:
Select Case Channel
Case 1 :
Empf(1) = Timer0
Case 2 :
Empf(2) = Timer0
Case 3 :
Empf(3) = Timer0
Case 4:
Empf(4) = Timer0
Case 5:
Empf(5) = Timer0
Case 6:
Empf(6) = Timer0
End Select
Timer0 = 6
Incr Channel
Return
Pausenerkennung:
Channel = 0
Return
End
TIMER1
Code:
$baud = 9600
$crystal = 16000000
$regfile "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 64
Config Timer1 = Timer , Prescale = 8 , , Capture Edge = Falling , Noise Cancel = 1
Enable Timer1
On Timer1 Pausenerkennung
Config Int1 = Falling
Enable Interrupts
Enable Int1
On Int1 Summensignalmessung
Dim Empf(6) As Word
Dim Rc(6) As Integer
Dim Channel As Byte
Sound Portd.7 , 200 , 300
Do
Rc(1) = Empf(1) - 60543
Rc(2) = Empf(2) - 60543
Rc(3) = Empf(3) - 60543
Rc(4) = Empf(4) - 60543
Rc(5) = Empf(5) - 60543
Rc(6) = Empf(6) - 60543
Rc(1) = Rc(1) / 10
Rc(2) = Rc(2) / 10
Rc(3) = Rc(3) / 10
Rc(4) = Rc(4) / 10
Rc(5) = Rc(5) / 10
Rc(6) = Rc(6) / 10
Print Rc(1)
Print Rc(2)
Print Rc(3)
Print Rc(4)
Print Rc(5)
Print Rc(6)
Waitms 500
Loop
Summensignalmessung:
Select Case Channel
Case 1 :
Empf(1) = Timer1
Case 2 :
Empf(2) = Timer1
Case 3 :
Empf(3) = Timer1
Case 4:
Empf(4) = Timer1
Case 5:
Empf(5) = Timer1
Case 6:
Empf(6) = Timer1
End Select
Timer1 = 57536
Incr Channel
Return
Pausenerkennung:
Channel = 0
Return
End
Lesezeichen