Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Ldi R24,0b00000000




out 02,R20 настройка линий E0-3 на ввод, а E4-7 на вывод;

out 0x11,R23 установить режим вывода для порта D;

out 0x12, R23 погасить все светодиоды;

loop1: стартовая метка цикла опроса;

out 03,R18 обнулить бит E4 для опроса клавиш 1-го столбца;

nop установить задержку в один такт;

in R16,01 считать данные из регистра PINE в R16;

out 03,R19 обнулить бит E5 для опроса клавиш 2-го столбца;

nop установить задержку в один такт;

in R17,01 считать данные из регистра PINE в R16;

or R16,R20 установить в 1 биты старшей тетрады R16;

or R17,R20 установить в 1 биты старшей тетрады R17;

swap R17 поменять местами старшую и младшую тетрады в R17;

and R17,R16 объединить информацию о нажатии клавиш в R17;

out 0x12,R17 вывести данные о номерах нажатых клавиш в порт D;

in R26,0 считать данные из регистра ввода порта F;

and R26,R22 обнулить все биты регистра R 26, кроме 7-го.

cpi R26,0 сравнить значение в регистре R 26 с нулем.

brne loop1 если клавиша не нажата – то выполнить переход для повторения опроса, иначе –

out 0x12,r24выполнить команду, включить все светодиоды;

#endasm завершение кода ассемблерной вставки;

} завершающая операторная скобка программы.

Для установки и обнуления битов регистров ввода/вывода можно использовать команды sbi и cbi соответственно. Однако эти команды необходимо будет использовать попарно, что ухудшает наглядность исходного кода программы.

 

 

Рисунок 2.7 – Алгоритм программы считывания данных с клавиатуры

 

Таблица 2.1 – Варианты индивидуальных заданий

Номер Задание
Разработать программу, фиксирующую нажатия клавиш 1, 6 и 12 матричной клавиатуры включением светодиодов 1, 2 и 3 соответственно. Выход из цикла опроса осуществляется при нажатии клавиши F1.
Разработать программу, фиксирующую нажатия клавиш 3, 7 и 11 матричной клавиатуры включением светодиодов 5, 6 и 7 соответственно. Выход из цикла опроса осуществляется при нажатии клавиши F2.
Разработать программу, фиксирующую нажатия клавиш 4, 7 и 10 матричной клавиатуры включением светодиодов 1, 2 и 3 соответственно. Выход из цикла опроса осуществляется при нажатии клавиши F1.
Разработать программу, фиксирующую нажатия клавиш 1, 2 и 3 матричной клавиатуры включением светодиодов 4, 5 и 6 соответственно. Выход из цикла опроса осуществляется при одновременном нажатии клавиш F1+F3.
Разработать программу, фиксирующую нажатия клавиш 2, 5 и 9 матричной клавиатуры включением светодиодов 1, 2 и 3 соответственно. Выход из цикла опроса осуществляется при одновременном нажатии клавиш F1+F2.
Разработать программу, фиксирующую нажатия клавиш 4, 8 и 11 матричной клавиатуры включением светодиодов 1, 2 и 3 соответственно. Выход из цикла опроса осуществляется при нажатии клавиши F3.
Разработать программу, фиксирующую нажатия клавиш 3, 7 и 10 матричной клавиатуры включением светодиодов 1, 2 и 3 соответственно. Выход из цикла опроса осуществляется при нажатии клавиши F1.
Разработать программу, фиксирующую нажатия клавиш 5, 6 и 7 матричной клавиатуры включением светодиодов 1, 2 и 3 соответственно. Выход из цикла опроса осуществляется при одновременном нажатии клавиш F2+F3.
Разработать программу, фиксирующую нажатия клавиш 1, 6 и 8 матричной клавиатуры включением светодиодов 1, 2 и 3 соответственно. Выход из цикла опроса осуществляется при нажатии клавиши F2.
Разработать программу, фиксирующую нажатия клавиш 9, 10 и 11 матричной клавиатуры включением светодиодов 1, 2 и 3 соответственно. Выход из цикла опроса осуществляется при нажатии клавиши F1.

Содержание отчета

 

В отчете необходимо привести следующее:

– характеристики лабораторной вычислительной системы;

– исходный модуль разработанной программы;

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

 

Контрольные вопросы и задания

1. Поясните принцип функционирования матричной клавиатуры 3*4, входящей в состав лабораторного макета.

2. Поясните алгоритм программного опроса клавиатуры.

3. Возможно ли обращение к портам ввода/вывода как к ячейкам памяти в микроконтроллере AVR ATMEGA ?

4. Поясните принцип работы клавиатуры 1*3, входящей в состав лабораторного макета.

5. В чем заключаются преимущества и недостатки режима программного опроса клавиатуры ?

6. Перечислите и поясните основные команды и приемы для логического анализа двоичных данных. AVR ATMEGA 128 при обращении к памяти и портам ввода/вывода.

 

 







Дата добавления: 2015-09-07; просмотров: 453. Нарушение авторских прав


Рекомендуемые страницы:


Studopedia.info - Студопедия - 2014-2020 год . (0.002 сек.) русская версия | украинская версия