Hola compañeros, estoy tratando de probar este chip (ds1621) pero me es imposible hacerlo funcionar. Por mas que miro el datasheet y reviso el circuito no veo donde esta el problema. Lo curioso es que cuando lo simulo en Proteus me funciona bien. Tienes las resistencias de 4k7 en las lineas de datos y reloj para una velocidad de bus de 100khz. La programacion es en ASM.
Los pines del ds1621 estan puesto a tierra, con lo que la direccion seria 10010000 en modo escritura y en modo lectura 10010001;
Call send_start
movlw 0x90
call send_byte ; apunta al dispositivo
movlw 0xac
call send_byte ; apunta al registro de configuracion
movlw 0x08
call send_byte ; configura disposito en modo continuo
call send_stop ; para bus
call send_start
movlw 0x90
call send_byte ; apunta al dispositivo
movlw 0xee
call send_byte ; empieza a medir el disp ds1621
call send_stop
call send_start
movlw 0x90
call send_byte ;apunta al dispositivo
movlw 0xaa
call send_byte ; le el registro donde se deposita el resultado de la temperatura
call send_start ; repeticion de la condicion start
movlw 0x91
call send_byte ; dispositivo en lectura
bcf ack,0 ; ack
call read_byte
movwf temp_H
bsf ack,0 ; envia nack
call read_byte
call send_stop