START: MOV R4,#0; сброс SCANCODE
MOV R7,#3; загрузка счетчика сканирования
MOV R6,#11111110B; загрузка исходного байта сканирования
LOOP: MOV A,R6
OUTL P1,A; вывод текущего байта сканирования
RL A; сдвиг байта сканирования
MOV R6,A; сохранение текущего байта сканирования
IN A,P2; ввод байта возврата
MOV R5,#4; загрузка счетчика опросов
LOOK: RRC A ; сдвиг байта возврата
JNC NEXT; выход из процедуры при
обнаружении первой нажатой клавиши
INC R4; инкремент SCANCODE
DJNZ R5,LOOK; декремент счетчика опросов и цикл, если не нуль
DJNZ R7,LOOP; декремент счетчика сканирования и цикл, если не 0
JMP START; начать сканирование сначала
next: mov a,r4; загрузка в аккумулятор кода символа
movp3 a,@a; считывание байта индикации из таблицы
outl bus,a; выдача байта индикации на индикатор через порт BUS
end выход из программы
СОДЕРЖАНИЕ
Задание на работу........................................................................................3
Введение.......................................................................................................4
1. Анализ поставленной задачи. Структурная схема МК системы...........6
2. Разработка принципиальной схемы МК системы..................................7
3.Выбор и описание алгоритма программы...............................................8
3.1 .Разработка общей блок-схемы алгоритма (БСА)
работы контроллера……………………………………………………...........9
4. разработка текста исходной программы...............................................10
4.1. Отладка программы с помощью индивидуального задания...........11
5. Таблица «прошивки» РПЗУ…………………………………………….....12
Заключение................................................................................................12
Список литературы....................................................................................13
Отладка программы: Номер нажатой клавиши | Порт 1 | Порт 2 | Порт ССИ BUS |
«6» | 11111101 | 11111011 | 01011111 |
«А» | 11111011 | 11111011 | 01110110 |
Таблица «прошивки» РПЗУ:
7E | 30 | 6D | 79 | 33 | 5B | 5F | 70 | 7F | 7B | 76 | 1E | 72 |
1a | 00 | 00 | 00 | bc | 00 | bf | 03 | be | fe | fe | 39 | e7 |
AE | 0A | BD | 04 | 67 | E6 | 17 | 1C | ED | 0D | EF | 06 | 04 |
00 | FC | E3 | 02 | C1 | 00 | 00 | 00 | 01 | FF |
Для визуального контроля нажатой кнопки, возможно подключение семисегментного индикатора к одному из портов, в данном случае к порту BUS. Вывод кода на ССИ осуществлен программно, тем самым достигается отображение кода нажатой клавиши на ССИ. Для удобства индикации на цифровые клавиши нанесены обозначения, соответствующие их кодам (от 0 по B).
Таким образом применение микропроцессорных систем в устройствах различного типа, позволяет сократить кол-во элементов в схеме, сделать устройство более качественным, а также позволяет осуществить наиболее “дружелюбный” интерфейс с пользователем.
Список литературы
Лин. В. PDP-11 и VAX-11. Архитектура ЭВМ и программирование на языке ассемблера. М. Радио и связь, 1989.-315 с.
Варламов И.В., Касаткин И.Л. Микропроцессоры в бытовой технике. М. Радио и связь, 1990.-102 с.
Калабеков Б.А. Цифровые устройства и микропроцессорные системы. М. Радио и связь, 1997.-336 с.
Министерство Российской Федерации по транспорту и связи
Новосибирский колледж телекоммуникаций и информатики
Сибирского государственного университета телекоммуникаций и информатики
КУРСОВОЙ ПРОЕКТ
По дисциплине «Вычислительная техника»
На тему: «Разработка контроллера матричной клавиатуры на микроконтроллере К1816ВЕ48 »
Выполнил: Баталов Д. Ю.
Гр. М-31
Проверил: Иванов В. С.
2005