Ответ: Внутри ответ
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ema 07 октября 2004 г. 13:27
В ответ на: как работать с AD7705??? отправлено Анатолий 07 октября 2004 г. 12:32

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ЧТЕНИЕ БАЙТА С АЦП ;
; ;
; Используемые порты и регистры ;
; Порты: A_SCLK ;
; A_DATA ;
; Входные регистры: нет ;
; Выходные регистры: A - считанный байт ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ACP_READ: ;
mov B,#8h ;
setb A_SCLK ; Подгатавливаем к приему =1
nop ;
setb A_DATA ; Настраиваем на прием =1
nop ;
ACP_READ_CYCLE: ;
clr A_SCLK ; Пподаем импульс на АЦП
nop ;
setb A_SCLK ; При переходе из 0 в 1 на выходе АЦП появляется бит
nop ;
mov C, A_DATA ;
; В переносе хранится полученный бит ;
rlc A ; Сдвигаем влево так как сначала приходит старший бит
djnz B,ACP_READ_CYCLE ; Если цикл не закончился то переходим далее
ret ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ЗАПИСЬ БАЙТА В АЦП ;
; ;
; Используемые порты и регистры ;
; Порты: A_SCLK ;
; A_DATA ;
; Входные регистры: А- байт для передачи ;
; Выходные регистры: нет ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ACP_WRITE: ;
setb A_DATA ; Подготавливаем порты к обмену - устанавливаем в 1
setb A_SCLK ;
mov B,#8h ; Счетчик бит для приема байта
ACP_WRITE_CYCLE: ;
nop ;
clr A_SCLK ; настраиваем на прием
nop ;
rlc A ; сдвигаем влево
mov A_DATA,C ;
nop ;
setb A_SCLK ;
djnz B,ACP_WRITE_CYCLE ; Переходим к следующему биту
ret ;

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru