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

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
jeck-wolf
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пн мар 14, 2011 14:47:23

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

Сообщение 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
Последний раз редактировалось jeck-wolf Пн июл 25, 2011 16:18:15, всего редактировалось 3 раза.
Реклама
jeck-wolf
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пн мар 14, 2011 14:47:23

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

Сообщение jeck-wolf »

Реклама
jeck-wolf
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пн мар 14, 2011 14:47:23

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

Сообщение jeck-wolf »

Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»