[an error occurred while processing this directive]
Ответ: Кусок кода
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено shogun 02 мая 2005 г. 21:21
В ответ на: Ответ: отправлено shogun 02 мая 2005 г. 21:01

Из него видно что задействованы оба канала таймера..
Мне же надо отправлять данные в память не задействуя ничего из этого..так как таймер/счетчик мне надо задействовать на формировании стробов к ацп.


;--------- ПОДГОТОВКА ДАННЫХ К ПЕРЕСЫЛКЕ В E2PROMext----------
EESEND: CLI
CLT
LDI tmp,0x00
OUT GIMSK,tmp ; запрет внешних прерываний
SER tmp
OUT OCR0A,tmp ; 1-ая постоянная времени счёта 256
LDI tmp,0x7E
OUT OCR0B,tmp ; 2-ая постоянная времени счёта 128
LDI tmp,0x42
OUT TCCR0A,tmp ; прерывание по совпадению сч.А
LDI tmp,0x01
OUT TCCR0B,tmp ; инициализировали сч.В
LDI tmp,0x0C
OUT TIMSK0,tmp ; разрешили прерывание по совпадению счётчиков
SEI
CLN
es1: SBIS PINB,0 ; если РВ.0 (outCLK) ==1, то на es2,
RJMP es1 ; иначе на es1
es2: BRTC es2 ; если Т-флаг ==0, то на es2, иначе продожаем
CBI PORTB,4 ; бит РВ.4 (outDATA) =0
CLT ; сбросили Т-флаг
es3: SBRS flg,7 ; если flg==0xxx|xxxx, то перезод на es3, иначе продлжаем
RJMP es3
ANDI flg,0x7F ; flg = 0xxx|xxxx
CLT ; сбросили Т-флаг
LDI edat,0xA0 ; 1-е служебное слово
RCALL SEND
LDI eadr,0x3A ; 2-е служебное слово
RCALL E2R ; считываем данные
MOV eeadrH,edat
RCALL SEND ; записываем данные по текущему адресу eeadrH,L
RCALL E2R
MOV eeadrL,edat
RCALL SEND
LDI eadr,0x00
es4: RCALL E2R ; читаем и передаём слова данных
RCALL SEND ; по порядку
SBRS flg,6 ; если flg==x0xx|xxxx, то на es4, иначе продолжаем
RJMP es4
CLI ; запрет всех прерываний
RET
;------------------------ ПЕРЕСЫЛКА ДАННЫХ К В E2PROMext ------------------------
SEND: CLC
s0: BRTC SEND ; если Т-флаг ==0, то на SEND, иначе продожаем
ROL edat
INC cnt1
BRCS s1
CBI PORTB,4
RJMP s2
s1: SBI PORTB,4
s2: CPI cnt1,0x08
CLT
BREQ s3
RJMP s0
s3: INC cnt2
s4: BRTC s4
CP cnt2,cntwdr
BRNE s5
CBI PORTB,4
RJMP s6
s5: CLR cnt1
CLT
RET
s6: CLT
s7: BRTC s7
s8: SBIS PINB,0
RJMP s8
CBI PORTB,4
CLT
ANDI flg,0x7F
s9: BRTC s9
SBI PORTB,4
ORI flg,0x40
CLI
LDI tmp,0x00
OUT TIMSK0,tmp
NOP
OUT TCCR0B,tmp
OUT TCCR0A,tmp
OUT OCR0B,tmp
OUT 0x32,tmp
CLI
OUT OCR0A,tmp
ADIW eeadrL,0x3F
LDI eadr,0x3A
MOV edat,eeadrH
RCALL E2W
MOV edat,eeadrL
RCALL E2W
RET

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


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

E-mail: info@telesys.ru