Danke für die Tipps.

Richards Variante hört sich am leichtesten an.

Nur hab ich da gerade noch ein Problem mit:

Code:
Declare Sub Led_display_init()
Declare Sub Led_display(byval Zahl As Byte)

$regfile = "m16def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 20
$framesize = 40
$baud = 9600

Config Scl = Portc.0
Config Sda = Portc.1

Dim S_ausgabe As String * 2


Led_display_init

Do
Waitms 3000
Led_display 15
Loop

'Funktionen für 7 Segment

Sub Led_display_init()
  I2cinit
  I2cstart
  I2cwbyte &H70
  I2cwbyte 0
  I2cwbyte &B0110110
  I2cstop

       Led_display 0

End Sub


Sub Led_display(zahl As Byte)
     I2cstart
     I2cwbyte &H70
     I2cwbyte 1

     S_ausgabe = Str(zahl)

     I2cwbyte S_ausgabe
     I2cstop
End Sub
Ich habs jetzt so versucht. Klappt allerdings nicht so wirklich. Was muss denn mit I2cwbyte 1 gemacht werden wenn ich den ganzen string mal angenommen (S_ausgabe=22) ausgeben lassen möchte. Irgendwie muss dabei ja segment 1 und segment 2 angesprochen werden können.