Страница 1 из 1

HEELP!! attiny25>AD5601(dac) не могу записать регистр

Добавлено: Пн июл 25, 2011 15:19:23
jeck-wolf
К attiny25 подключил ЦАП AD5601, Посмотрел даташит и попробовал записать 8-бит даних в регистр.

Регистр там сдвиговый 16-битный. старшие 8-м бит = 0 . младшие 8-м бит 00001111.- значение для выхода

Но на виходе всегда 0

LDI BTS,0X0F
RCALL Send_Byte

Send_Byte:
RCALL Clock_ONE
RCALL SYNC_null
LDI Bit_counter, 8
CLR TEMP

RCALL DATA_NULL
RCALL Clock_NULL
RCALL Clock_ONE


next_bit_sI:
SBRC TEMP,7
rjmp sI
RCALL Data_null
rjmp sII
sI: RCALL Data_one
sII: RCALL Clock_NULL
RCALL Clock_ONE
ROL TEMP
DEC Bit_counter
BRNE next_bit_sI

RCALL DELAY
RCALL DELAY
RCALL DELAY

LDI Bit_counter, 8
next_bit_s:
SBRC BTS,7
rjmp s1
RCALL Data_null
rjmp s11
s1: RCALL Data_one
s11: RCALL Clock_NULL
RCALL DELAY
RCALL Clock_ONE
ROL BTS
DEC Bit_counter
BRNE next_bit_s
rcall Clock_one
RCALL SYNC_ONE
RET


; BTS ;?????????? ????
; portc5 = SCL
; portc4 = SDA
SYNC_null:
CBI PORTB,SYNC
RCALL DELAY
RET
SYNC_ONE:
SBI PORTB,SYNC
RCALL DELAY
RET
Clock_null:
CBI PORTB,PB1
CBI portB,scl
RCALL DELAY
RET
Clock_one:
SBI PORTB,PB1
SBI portB,scl
RCALL DELAY
RET
Data_null:
CBI portB, sda
RCALL DELAY
RET
Data_one:
SBI portB,sda
RCALL DELAY
RET

Re: attiny25>AD5601(dac) не могу записать регистр

Добавлено: Пн июл 25, 2011 15:25:55
jeck-wolf

Re: HEELP!! attiny25>AD5601(dac) не могу записать регистр

Добавлено: Вт июл 26, 2011 17:40:20
jeck-wolf