помогите, плизз, с прогой для at90s2313 - не могу разобраться почему не работает. Сброс ds18B20 происходит нормально - датчик "отвечает", а вот ПЗУ не читается, т.е. читается 0xFF - все единички для каждого символа ПЗУ. Или может у кого есть образцы подпрограмм для работы с этим датчиком
Датчик висит на PD6, кварц = 8 МГц
В отладчике проганяю прогу все в норме вроде как - короче не вижу ошибки хоть убей

Вот есть такой исходник:
...
ldi r16,0b11111111
out DDRB,r16
ldi r16,0b00111000 ;PD0 для датчика = 0 - запись/чтение
out DDRD,r16
rcall reset ;процедура сброса происходит нормально
...
testOK:
ldi r20,0x033 ;код чтения ПЗУ
rcall wr8bit
rcall rd8bit
subi r20,0xD0 ;чтение первого символа ПЗУ - судя по
out PORTB,r20 ;расчетам читается как FF не пойму почему?
rcall strDelE
new:
rjmp new
...
; процедуры
;==================================================================
;подпрограмма записи байта
wr8bit:
ldi r17,8 ;запись 8 бит
wrb: ror r20 ;сдвиг байта из r20 младшим битом вправо через С
brcs c_1
rcall wr0sl ;запись 0
rjmp cnwr
c_1:
rcall wr1sl ;запись 1
cnwr:
dec r17
rcall imp2us
brne wrb
ret
;=====================================================================
;подпрограмма чтения байта
rd8bit:
ldi r17,8 ;чтение 8 бит
rdb:
rcall rdslot
ror r20 ;сдвиг младшим битом вперед из С
dec r17
rcall imp2us
brne rdb ;результат в r20
ret
;*****************************************************************************
;подпрограмма чтения слота
rdslot:
cbi PORTD,6 ;сбросить PD6
rcall del
nop ;задержка на 4 мкс
nop
nop
nop
nop
sbi PORTD,6
ldi r16,3 ;задержка на 10 мкс
rcall impulse ;
sbis PIND,6 ;если чт.1, то С=1
rjmp exread
sec
exread:
ldi r16,25 ;задержка на 60 мкс
rcall impulse
ret
;подпрограмма записи 0 в слот
wr0sl:
cbi PORTD,6
ldi r16,36 ;задержка на 85 мкс
rcall impulse ;
sbi PORTD,6
ret
;подпрограмма записи 1 в слот
wr1sl:
cbi PORTD,6
rcall imp2us ;4 мкс
rcall imp2us
sbi PORTD,6
ldi r16,35 ;задержка на 85 мкс
rcall impulse ;
ret
;=================================================================
impulse: ;регулируемая задержка
cn0:
rcall imp2us
dec r16
brne cn0
ret
imp2us: ;задержка на 2 мкс
rcall del
nop
nop
ret
del:
ret
Заранее благодарю