Grillmeister Markus
12.03.2005, 13:53
Hallo
Ich habe ein Problem mit einem LM75 an einem AT90S2313.
Den folgenden Code hab ich hier im Forum gefunden (von Frank glaub ich) und hab ihn auf den AT90S2313 umgeschrieben. Der µC soll die Temperatur auslesen und dann auf dem LCD anzeigen.
$regfile = "2313def.dat"
$crystal = 3686400
config LCD = 16 * 1
Declare Sub Showtemperatur()
Const Lm75slavewrite = &H90
Const Lm75slaveread = &H91
Dim Lm75high As Byte
Dim Lm75low As Byte
Dim Temperatur As Integer
Dim Nachkommastelle As String * 2
I2cinit
Start:
Showtemperatur
Wait 2
Goto Start
Sub Showtemperatur()
I2cstart
I2cwbyte Lm75slaveread
I2crbyte Lm75high , Ack
I2crbyte Lm75low , Nack
I2cstop
If Lm75high > 127 Then
Temperatur = Lm75high And 127
Temperatur = Not Temperatur
Incr Temperatur
Else
Temperatur = Lm75high
End If
Lm75low = Lm75low And 128
If Lm75low > 0 Then
Nachkommastelle = ",5"
Else
Nachkommastelle = ""
End If
Locate 1 , 1
Lcd Temperatur ; Nachkommastelle
End Sub
Aber alles was ich auf dem LCD sehe ist ein undefinierbares zeichen (sieht aus wie so nen chinesisches schriftzeichen =P~ ).
Ich hab den LM75 so angeschlossen:
+Ub = +5V
A0 = leer
A1 = leer
A2 = leer
I2CData = SDA port
I2CTakt = SCL port
OS = leer
GND = GND
Ich hoffe ihr könnt mir helfen
Vielen Dank, Markus
Ich habe ein Problem mit einem LM75 an einem AT90S2313.
Den folgenden Code hab ich hier im Forum gefunden (von Frank glaub ich) und hab ihn auf den AT90S2313 umgeschrieben. Der µC soll die Temperatur auslesen und dann auf dem LCD anzeigen.
$regfile = "2313def.dat"
$crystal = 3686400
config LCD = 16 * 1
Declare Sub Showtemperatur()
Const Lm75slavewrite = &H90
Const Lm75slaveread = &H91
Dim Lm75high As Byte
Dim Lm75low As Byte
Dim Temperatur As Integer
Dim Nachkommastelle As String * 2
I2cinit
Start:
Showtemperatur
Wait 2
Goto Start
Sub Showtemperatur()
I2cstart
I2cwbyte Lm75slaveread
I2crbyte Lm75high , Ack
I2crbyte Lm75low , Nack
I2cstop
If Lm75high > 127 Then
Temperatur = Lm75high And 127
Temperatur = Not Temperatur
Incr Temperatur
Else
Temperatur = Lm75high
End If
Lm75low = Lm75low And 128
If Lm75low > 0 Then
Nachkommastelle = ",5"
Else
Nachkommastelle = ""
End If
Locate 1 , 1
Lcd Temperatur ; Nachkommastelle
End Sub
Aber alles was ich auf dem LCD sehe ist ein undefinierbares zeichen (sieht aus wie so nen chinesisches schriftzeichen =P~ ).
Ich hab den LM75 so angeschlossen:
+Ub = +5V
A0 = leer
A1 = leer
A2 = leer
I2CData = SDA port
I2CTakt = SCL port
OS = leer
GND = GND
Ich hoffe ihr könnt mir helfen
Vielen Dank, Markus