Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Кто работал c AD7708, почему она иногда встает колом REDY нет и все, посмот...{+}(+)

Отправлено luba 04 мая 2008 г. 07:10


Текст заголовка сообщения полностью: Кто работал c AD7708, почему она иногда встает колом REDY нет и все, посмотрите исходники, мож я чегото не понимаю?

INIT_ADC:
CBR FLLL, FL_ERROR_EE ;СБРОСИЛИ ФЛАГ ОШИБКИ

ldi temp, 0b00000001 ;;MODE
RCALL OUT_SPI
ldi temp, 0b00000010; канал 4 1 ПРЕОБРАЗОВАНИЕ
;Mode Register
; 7--CHOP 0- 1-
; 6--NEGBUF 0-AINCOM на земле
; 5--REFSEL 0-REF1 1-REF2
; 4--CHCON 0-8 каналов 1-10каналов
; 3--OSCPD 0-ме5жду преобразованиями генератор работает 1-выглюч осцилятор
; 2--MD2 000- эконом режим 001-выключить преобразования осцилятор вкл
; 1--MD1 010- еденичное преобразование разрешонных каналов
; 0--MD0 011 -непрерывное преобразование 100-каллибровка нуля по каналам
; 101-каллибровка каналов по VREF 110-каллибровка каналов по нулю

RCALL OUT_SPI

Ldi temp, 0b00000010 ;;ADCCON
RCALL OUT_SPI
ldi temp, 0b00001111; канал 4
;Control Register(ADCCON)
;7-4 CH3 CH2 CH1 CH0 каналы
;3 U/B 1-однополярный 0-биполярный
;2-0 RN2 RN1 RN0 диапазон 111--- +-2,56 В
RCALL OUT_SPI
ldi temp, 0b00000011 ; FILTER

RCALL OUT_SPI

ldi temp,0x45; 7 ;195 Hz
;Filter Register SF7 SF6 SF5 SF4 SF3 SF2 SF1 SF0
; частота преобразования(24*SF)/ 32768 CHOP =0 состояние регистра пофиг
; (8*SF)/32768 CHOP =1
RCALL OUT_SPI
RET

;КОНЕЦ ИНИЦИАЛИЗАЦИИ ЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖ
READ_SPI:

;ЧТЕНИЕ 16-БИТ ДАННЫХ
CBR FLLL, FL_ERROR_EE ;СБРОСИЛИ ФЛАГ ОШИБКИ
ldi temp, 0b01000100 ;;DATE(READ)
RCALL OUT_SPI
ldi TEMP,0xFF
RCALL OUT_SPI
IN TEMP1,SPDR ; hight(DATE)
RCALL OUT_SPI
IN TEMP,SPDR ;low (DATE)
ret


;переключили на следующий канал
INC_CHANAL:
CBR FLLL, FL_ERROR_EE ;СБРОСИЛИ ФЛАГ ОШИБКИ
ldi temp, 0b00000010 ;;ADCCON
RCALL OUT_SPI
swap temp2
ori temp2,0b00001111 ;(ADCCON)

mov temp,temp2
RCALL OUT_SPI
ldi temp, 0b00000001 ;;MODE
RCALL OUT_SPI
ldi temp, 0b00000010; канал 1 ПРЕОБРАЗОВАНИЕ
RCALL OUT_SPI
RET

;ОТПРАВКА БАЙТА В SPI
OUT_SPI :
out SPDR,temp
push temp2
ldi temp2,0xff

DEELL: dec temp2
BREQ ERR
; sbic SPSR,WCOL;выход если установлен error
; breq err
sbis SPSR,SPIF;выход если установлен
RJMP DEELL
POP temp2
RET
err: in TEMP2, spsr
POP temp2
sbr flll, FL_ERROR_EE ;ошибка чтения или записи
ret


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 234:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru