Мультиплексор программно на ассемблере

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 1
Зарегистрирован: Вт фев 14, 2017 12:02:06

Сообщение SaITem25 »

Нужно написать программу на ассемблере в Atmel Studio, которая преобразовывает параллельный код в последовательный. На одной плате у меня порты А на вход настроены, и я изменяю уровень сигналов 0,1. Затем с помощью одного проводка я должен передать последовательность этих сигналов на другую плату, и там на порту А загораются светодиоды уровней с первой платы. Помогите, кто шарит. Хотя бы алгоритм.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15697
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Это уже последовательная асинхронная передача данных, а не просто преобразование параллельный/последовательный код.
А программно или аппаратно реализовать - это на вкус препода.
8)
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Открываем даташит и сдираем настройку:

Код: Выделить всё

USART_Init:
; Set baud rate
out UBRRH, r17
out UBRRL, r16
; Enable receiver and transmitter
ldi r16, (1<<RXEN)|(1<<TXEN)
out UCSRB,r16
; Set frame format: 8data, 2stop bit
ldi r16, (1<<USBS)|(3<<UCSZ0)
out UCSRC,r16
ret
Далее сдираем отправку:

Код: Выделить всё

USART_Transmit:
; Wait for empty transmit buffer
sbis UCSRA,UDRE
rjmp USART_Transmit
; Put data (r16) into buffer, sends the data
out UDR,r16
ret
Пишем тело (впрочем, можно и копипасту найти):

Код: Выделить всё

call USART_Init
loop:
in r16,PINA
call USART_Transmit
rjmp loop
Для приёмной стороны копипастим USART_Receive.
Docendo discimus
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15697
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Это аппаратно!...
Препод весьма злой - не зачтет!
:))
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 29
Зарегистрирован: Сб фев 06, 2016 14:26:07

Сообщение JustRom »

Программных реализаций UART в сети полно. Вот пример одной из: тык
Ну а если препод не дурак, то все-таки догадается, что делал не сам. Я бы на харизме попытался бы подсунуть аппаратную реализацию.
Реклама
Ответить

Вернуться в «AVR»