Hallo,
ich habe das Testprogramm so abgewandelt das nur noch die Ausgabe von Port A gemacht wird, denn komischer Weise kann ich an Port A keine vernümpftige Spannung mehr messen, dh, ich bekomme Werte zwischen 1 und 5 Volt obwohl nix angeschlossen ist !!!
hier ist mein Programm:
Code:
Declare Sub Batteriespannung()
Declare Sub Showporta()
$regfile = "m32def.dat"
Dim I As Integer
Dim N As Integer
Dim Ton As Integer
$crystal = 16000000 'Quarzfrequenz
$baud = 9600
Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung
Config Pina.7 = Input 'Für Tastenabfrage
Porta.7 = 1 'Pullup Widerstand ein
Const Ref = 5.24 / 1023 'Für Batteriespannungsberechnung
Dim Volt As Single
Tccr1b = Tccr1b Or &H02 'Prescaler = 8
I = 0
Sound Portd.7 , 400 , 450 'BEEP
Sound Portd.7 , 400 , 250 'BEEP
Sound Portd.7 , 400 , 450 'BEEP
Print
Print "**** RN-Control 1.4 *****"
Call Batteriespannung
Do
Call Showporta
Waitms 1500
Loop
End
'Diese Unterfunktion zeigt Bateriespannung an
Sub Batteriespannung()
Local W As Word
Start Adc
W = Getadc(6)
Volt = W * Ref
Volt = Volt * 5.2941
Print "Die aktuelle Spannung beträgt: " ; Volt ; " Volt"
'Zeigt Die Analogen Messwerte An Port A An
End Sub
Sub Showporta()
Local Ws As Word
Config Porta = Input
For I = 0 To 5 ' Alle internen Pullup Widerständ ein,bis auf Batteriespannungsmessungsport
Porta.i = 0
Next I
For I = 0 To 7 ' Alle Eingäne inkl.messen
Start Adc
Ws = Getadc(i)
' Ws = Getadc(2)
Volt = Ws * Ref
Print "Pin " ; I ; " ADC-Wert= " ; Ws ; " bei 5V REF waeren das " ; Volt ; " Volt"
Next I
End Sub
Lesezeichen