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

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

Отправлено anton 08 мая 2005 г. 17:20
В ответ на: Ответ: отправлено SADAT 08 мая 2005 г. 16:22

спасибо что откликнулись - уже дней 5 сижу настраиваю.
кусок кода для мастера

init:
setb ao
mov p2,#080h ;пишем в регистр S1 - следующий байт будет в s0
;-----
clr ao
mov p2,#01h; пишем в s0 адрес мастера
;-----
setb ao
mov p2,#0a0h; пишем в s1 - следующий байт будет писаться в S2 (часы)
;-------
clr ao
mov p2,#013h; пишем в S2 делитель для часов
;----
setb ao
mov p2,#0c1h ; включаем и2с


;-main
main:
clr ao
mov p2,#0aah ; загружаем адрес slave c которого хотим считать

read:
; читаем s1
clr c ; проверка занятости шины
setb ao
mov a,p2
mov c,acc.0
jnc read
clr c
;-------
setb ao
mov p2,#0c5h ;генерируем старт посылаем адрес slave и тд

mov r5,#00h
;r5-counter - n
;r6-m - нужно принять (2 байта)

readpin:
clr c ; проверяем PIN
mov a,p2
mov c,acc.7
jc readpin

mov c,acc.3 ; проверка нет ли ошибок
jc pod1
mov a,r1
subb a,#01h ; сравниваем количество принятых байт с тем

clr c ; количеством, которое надо принять
jz pod

clr ao
mov a,p2; считываем данные data
mov p3,a
inc r5
ljmp readpin


pod:
setb ao
mov p2,#040h ; ACK в 0
;-
clr ao
mov a,p2 ;
;---
setb ao
pp:
clr c
mov a,p2
mov c,acc.7
jc pp

pod1:
setb ao
mov p2,#0c3h ; генерим сигнал стоп
clr ao
mov a,p2 ; принимаем последний байт
mov p3,a ; выводм его на порт
ljmp main


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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru