написан код для 16F77 на бейсике
/лишнее начало и инициализацию дисплея удалил/
Код: Выделить всё
--- cut here--
symbol SCL = PORTE.0
symbol SDA = PORTE.1
symbol ADDR = %10010000
'for the DS1621, this is set as 1001 binary for read and write operations.
'The next 3 bits of the control byte are the device select bits (A2, A1, A0).
Temp var WORD
--- cut here-----
mainloop:
I2CWRITE SDA,SCL,ADDR,$ac,[0]
'Access Config [ACh] If R/W is “0” this command writes to the configuration register.
pause 100
I2CWRITE SDA,SCL,ADDR,$ee
'Start Convert T [EEh] This command begins a temperature conversion.
Pause 1000
I2CREAD SDA,SCL,ADDR,$aa,[Temp]
'Read Temperature [AAh] This command reads the last temperature conversion result.
'The DS1621 will send 2 bytes, in the format described earlier, which are the contents of this register
Temp = Temp >> 8
lcdout $FE,2,"Temp:",Dec2(Temp)
goto mainloop
Endимею на ногах такое

смущает, на третьем скриншоте ответ датчика - setup read from 0x91 - ну и дальше, всегда (вне зависимости от температуры датчика) одно и тоже 0xFF и 0x80...
адресные ноги A0-A2 на земле, выходы притянуты к питашке резиками 4K7 ...
что не так ?