@for_ro
Dein Lösungsvorschlag ist ja auch vollkommen in Ordnung, da gibts nichts dran auszusetzen. Der Schönheitsfehler ist jedoch, daß für jeden Sensor zusätzlich eine laufende Nummer zugewiesen werden muß, mit der du ja dann die absolute Position des Romcodes in der Subroutine ermittelst. Aber das ist eigentlich unnötig, weil es gerade dafür Labels gibt.

@Alle
Für diejenigen, die nicht so richtig wissen, worauf ich hinaus will, poste ich hier noch einen funktionsfähigen Code zum Auslesen mehrer DS1820 Temperatursensoren. Das ist wohl die Bascom-Handbuchlösung, wie ich derzeit benutze und PicNick ebenfalls vorgeschlagen hat.
Code:
'*******************************************************************************
'***   Temperaturmessung mit mehreren DS1820 Sensoren                        ***
'*******************************************************************************
'***   Autor: Screwdriver                                                    ***
'***   Datum: 09.01.2008                                                     ***
'*******************************************************************************

'*******************************************************************************
'***   Konfiguration                                                         ***
'*******************************************************************************
Config 1wire = Portb.4                                      '1Wire-Anschluß festlegen

'1wire Konstanten
Const Ds1820 = &H10
Const Skip_rom = &HCC
Const Read_rom = &H33
Const Convertt = &H44
Const Match_rom = &H55
Const Read_ram = &HBE
Const Copy_ram = &H48
Const Recallee = &HB8
Const Readpower = &HB4

'*******************************************************************************
'***   Variablen                                                             ***
'*******************************************************************************
Dim Temperatur_aussen As Integer                            'Temperaturen mit einer Nachkommastelle
Dim Temperatur_kessel As Integer
Dim Temperatur_hzg_vl As Integer
Dim Temperatur_hzg_rl As Integer

Dim Scratch(9) As Byte                                      'Scratch-Pad DS1820 Sensoren

'*******************************************************************************
'***   Deklaration Unterprogramme                                            ***
'*******************************************************************************
Declare Sub Ds1820_convert_all()
Declare Sub Ds1820_temperature_read(temperature As Integer)

'*******************************************************************************
'***   HAUPTPROGRAM                                                          ***
'*******************************************************************************
Do
   Call Ds1820_convert_all()                                'Alle Sensoren Temperaturwandlung
   Waitms 750

   Restore Aussensensor
   Call Ds1820_temperature_read(temperatur_aussen)
   Print Temperatur_aussen

   Restore Kesselsensor
   Call Ds1820_temperature_read(temperatur_kessel)
   Print Temperatur_kessel

   Restore Hzg_vl_sensor
   Call Ds1820_temperature_read(temperatur_hzg_vl)
   Print Temperatur_hzg_vl

   Restore Hzg_rl_sensor
   Call Ds1820_temperature_read(temperatur_hzg_rl)
   Print Temperatur_hzg_rl
Loop
End                                                         'end program

'*******************************************************************************
'***   Unterprogramme                                                        ***
'*******************************************************************************
Sub Ds1820_convert_all()
   1wreset
   1wwrite Skip_rom
   1wwrite Convertt
End Sub

'*******************************************************************************
Sub Ds1820_temperature_read(temperature As Integer)
   Local Ds1820_temp As Byte                                'Zählvariable
   Local Ds1820_data As Byte                                'Bytevariable

   1wreset
   1wwrite Match_rom

   For Ds1820_temp = 1 To 8                                 'Romcode aus Flash lesen
      Read Ds1820_data
      1wwrite Ds1820_data
   Next Ds1820_temp

   1wwrite Read_ram
   Scratch(1) = 1wread(9)                                   'DS1820 auslesen

   If Crc8(scratch(1) , 8) = Scratch(9) Then                'CRC8-Check
      Temperature = Makeint(scratch(1) , Scratch(2))
      Temperature = Temperature * 5   'Entspricht 10facher Temperatur
   End If
End Sub

'*******************************************************************************
'***   DS1820 Romcodes                                                       ***
'*******************************************************************************
Aussensensor:
Data 16 , 135 , 205 , 170 , 0 , 8 , 0 , 158
Kesselsensor:
Data 16 , 121 , 191 , 192 , 0 , 8 , 0 , 154
Hzg_vl_sensor:
Data 16 , 5 , 16 , 219 , 0 , 8 , 0 , 143
Hzg_rl_sensor:
Data 16 , 101 , 203 , 192 , 0 , 8 , 0 , 206