Atmega128. Нажатие Клавиши И Соответствующего Ей Светодиода.

31-10-2013, 20:00 От: admin Посмотрели: 661
Здраствуйте! У меня вопрос....У нас учебные стенды , на которых мы изучаем микроконтроллер AVR  ATmega128. Наша специальность экономист-программист. эта наша не основная специальность и сейчас мы выполняем работу, где нужно запрграммировать микроконтроллер так, чтобы нажатием клавиши загорался соответствующий ей светодиод.



Я приложила схему стенда.

Я так поняла, вот такой мой алгоритм, если не так поправьте.

Алгоритм программирования задания

Определение нажатой клавиши на клавиатуре:

  • на порт PC0-PC2 по циклу подаём  переменные комбинации из 0 и 1: 0, 1, 2, …, 7

  • Двоично-десятичный позициционный дешифратор DD3 с инверсными выходами создает бегающий ноль по строкам ROW1...ROW8 нашей клавиатуры.

  • Со столбцов COL1...COL3 идёт ответная от клавиатуры информация(код), которая  подаётся на линии PC5...PC7.

  • В зависимости от того на какой линии по столбцам появится единица в моменты, соответствующие зажиганию определенной строки и будет пересечением столбца-строки, т.е. однозначного определения кнопки.

  • Создать массив данных, с чётким определением кода каждой клавиши. Используя команду cmp сравнить код полученный на выходе с массивом и чётко определить номер клавиши.



Дальше я никак не пойму как подать эту информацию на шину SPI если я правильно поняла , чтобы загорелся светодиод, как записать код клавиши....Подскажите кто как!

Спасибо!

Формирование кода клавиши AVR студио...Может так, хотя честно кодскопировала откуда-то

Start:

out    portC,R24

ld   R16,X+

out    portA,R16

cbi portC,3

sbi portC,3

dec    R25

brne PC-1

ldi R16,0xFF

out    portA,R16

cbi portC,3

sbi portC,3

in   R16,pinC

andi   R16,0b11100000

breq Label_1



swap R16

lsr R16

clc

ldi R17,-1

inc R17

lsr R16

brcc   PC-2

lsl   R17

lsl   R17

add    R17,R24

andi   R17,0x0F

ldi R18,0

ldi R30,low(2*KeyTable)     ;Z = KeyTable

ldi R31,high(2*KeyTable)

add    R30,R17

adc    R31,R18

lpm   R10,Z

sts VideoD,R10



;     breq PC+18

Я не на кого не сбрасываю свое задание, хочу сама это все понять, только б помощь..а то даже схему не почитаю полностью

Прикрепленные файлы:




Раздел: AVR

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Atmega128. Нажатие Клавиши И Соответствующего Ей Светодиода. все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031