PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Motortreiber MD25 auslesen



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