So ich habd en Code nun soweit fertig....außer die Formeln die müssen noch angepasst werden. Das ist er:
Code:
$regfile = "m32def.dat"
$crystal = 16000000
Config Adc = Single , Prescaler = Auto , Reference = Internal
Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4
Start Adc
Declare Sub _spannungsmessung()
Declare Sub _strommessung()
Declare Sub _spannungsanzeige()
Declare Sub _stromanzeige()
Declare Sub _widerstandsmessung()
Declare Sub _widerstandsanzeige()
Const Ref = 5 / 1023
Dim Volt As Single
Dim Strom As Single
Dim Ohm As Single
Dim Spannung As Single
Dim Voltstr As String * 2
Dim Ampere As Single
Dim Stromstr As String * 2
Dim Widerstand As Single
Dim Ohmstr As String * 2
Initlcd
Cls
Main:
Do
Call _spannungsmessung
Call _spannungsanzeige
Call _strommessung
Call _stromanzeige
Wait 1
Loop
End
Sub _spannungsmessung
Local V As Word
V = Getadc(0.)
Spannung = V * Ref
Spannung = Spannung * 1
Volt = Spannung
Voltstr = Fusing(volt , "#.&&")
End Sub
Sub _strommessung
Local A As Word
A = Getadc(1.)
Strom = A * Ref
Strom = Strom / 100
Ampere = Strom
Stromstr = Fusing(strom , "#.##")
End Sub
Sub _widerstandsmessung
Local O As Word
Local P As Word
O = Getadc(2.)
P = Getadc(3.)
Widerstand = Spannung * 1
Ohm = Widerstand
End Sub
Sub _spannungsanzeige()
Locate 1 , 1
Lcd "U = " ; Voltstr ; ""
End Sub
Sub _stromanzeige()
Locate 2 , 1
Lcd "I = " ; Stromstr ; ""
End Sub
Sub _widerstandsanzeige()
Locate 3 , 1
Lcd "R = " ; Ohm
End Sub
Allerdings zeigt mir das LCD die Sachen immernoch nicht richtig an. Zwischen U= und I= ist eine Leerzeile. Und die Bascom Hilfe hilft mir auch irgendwie nicht wirklich weiter, weil das Problem einfach nicht verschwindet.
Lesezeichen