zettelch
18.12.2010, 19:41
Hallo Freunde,
würde gerne die Batteriespannung vom Motortreiber MD 25 auslesen, und an meiner LCD Anzeige Visualisieren.
Aber am LCD Display werden die Spannungen nicht angezeigt.
Bitte um HIIIILLLLFFFFEEEE.
lg
CHristian
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 64
$crystal = 16000000 'Quarzfrequenz
'$baud = 9600
'-------------------------------------------------------------------------------
Config Lcd = 16 * 2 'wir verwenden ein 4 x 20 Zeichen Display
' Im I/O Mode wird jeder Prozessor Pin einzeln angegeben
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
'-------------------------------------------------------------------------------
'INI I2C Bus
Config Scl = Portc.0 'Ports fuer IIC-Bus
Config Sda = Portc.1
'-------------------------------------------------------------------------------
Declare Function Tastenabfrage() As Byte
'-------------------------------------------------------------------------------
Config Pinc.2 = Input 'Für Tastenabfrage 1
Portc.2 = 1 'Pullup Widerstand ein
Config Pinc.3 = Input 'Für Tastenabfrage 2
Portc.3 = 1 'Pullup Widerstand ein
Config Pinc.4 = Input 'Für Tastenabfrage 3
Portc.4 = 1 'Pullup Widerstand ein
Config Pinc.5 = Input 'Für Tastenabfrage 4
Porta.3 = 1 'Pullup Widerstand ein
Config Pinc.6 = Input 'Für Tastenabfrage 5
Portc.6 = 1 'Pullup Widerstand ein
Dim Taste As Byte
Dim Ton As Integer
'-------------------------------------------------------------------------------
Declare Function Md23_version() As Byte
Declare Function Md23_batteriespannung() As Single
Declare Sub Md23_writeregister(byval Register As Byte , Byval Wert As Byte)
Const Md23_slaveid = &HB0
Dim S As String * 15
Dim F As Single
'-------------------------------------------------------------------------------
Cls
Cursor Off 'loesche das LCD Display
Wait 3
Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd " Meisterprojekt" 'String auf Display anzeigen
Wait 2
Locate 2 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd "Christian Zettel" 'String auf Display anzeigen
Wait 2
Cls
Wait 2
Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd " Meisterprojekt " 'String auf Display anzeigen
Locate 2 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd "Christian Zettel" 'String auf Display anzeigen
End
Wait 10
I2cinit
End
Wait 10
F = Md23_batteriespannung()
F = F / 10
Cls
Locate 1 , 1 'Cursor auf 2 Zeile, 1 Spalte
Lcd " Batteriespannung:" 'String auf Display anzeigen
Locate 2 , 1
Lcd " " ; F 'String auf Display anzeigen
Print "Die gemessene Batteriespannung beträgt:" ; F
Locate 2 , 8
Lcd " Volt "
Function Md23_batteriespannung() As Single
Local Spannung As Byte
Local I2cread As Byte
I2cread = Md23_slaveid + 1
I2cstart
I2cwbyte Md23_slaveid
I2cwbyte 10 'Leseregister festlegen
I2cstop
I2cstart
I2cwbyte I2cread
I2crbyte Spannung , Nack
I2cstop
Md23_batteriespannung = Spannung
End Function
würde gerne die Batteriespannung vom Motortreiber MD 25 auslesen, und an meiner LCD Anzeige Visualisieren.
Aber am LCD Display werden die Spannungen nicht angezeigt.
Bitte um HIIIILLLLFFFFEEEE.
lg
CHristian
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 64
$crystal = 16000000 'Quarzfrequenz
'$baud = 9600
'-------------------------------------------------------------------------------
Config Lcd = 16 * 2 'wir verwenden ein 4 x 20 Zeichen Display
' Im I/O Mode wird jeder Prozessor Pin einzeln angegeben
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
'-------------------------------------------------------------------------------
'INI I2C Bus
Config Scl = Portc.0 'Ports fuer IIC-Bus
Config Sda = Portc.1
'-------------------------------------------------------------------------------
Declare Function Tastenabfrage() As Byte
'-------------------------------------------------------------------------------
Config Pinc.2 = Input 'Für Tastenabfrage 1
Portc.2 = 1 'Pullup Widerstand ein
Config Pinc.3 = Input 'Für Tastenabfrage 2
Portc.3 = 1 'Pullup Widerstand ein
Config Pinc.4 = Input 'Für Tastenabfrage 3
Portc.4 = 1 'Pullup Widerstand ein
Config Pinc.5 = Input 'Für Tastenabfrage 4
Porta.3 = 1 'Pullup Widerstand ein
Config Pinc.6 = Input 'Für Tastenabfrage 5
Portc.6 = 1 'Pullup Widerstand ein
Dim Taste As Byte
Dim Ton As Integer
'-------------------------------------------------------------------------------
Declare Function Md23_version() As Byte
Declare Function Md23_batteriespannung() As Single
Declare Sub Md23_writeregister(byval Register As Byte , Byval Wert As Byte)
Const Md23_slaveid = &HB0
Dim S As String * 15
Dim F As Single
'-------------------------------------------------------------------------------
Cls
Cursor Off 'loesche das LCD Display
Wait 3
Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd " Meisterprojekt" 'String auf Display anzeigen
Wait 2
Locate 2 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd "Christian Zettel" 'String auf Display anzeigen
Wait 2
Cls
Wait 2
Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd " Meisterprojekt " 'String auf Display anzeigen
Locate 2 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd "Christian Zettel" 'String auf Display anzeigen
End
Wait 10
I2cinit
End
Wait 10
F = Md23_batteriespannung()
F = F / 10
Cls
Locate 1 , 1 'Cursor auf 2 Zeile, 1 Spalte
Lcd " Batteriespannung:" 'String auf Display anzeigen
Locate 2 , 1
Lcd " " ; F 'String auf Display anzeigen
Print "Die gemessene Batteriespannung beträgt:" ; F
Locate 2 , 8
Lcd " Volt "
Function Md23_batteriespannung() As Single
Local Spannung As Byte
Local I2cread As Byte
I2cread = Md23_slaveid + 1
I2cstart
I2cwbyte Md23_slaveid
I2cwbyte 10 'Leseregister festlegen
I2cstop
I2cstart
I2cwbyte I2cread
I2crbyte Spannung , Nack
I2cstop
Md23_batteriespannung = Spannung
End Function