R4 - счетчик кода сканирования
ORG 300H; переход на 300 страницу РПП
DB 7EH,30H, 6DH,79H; коды семисегментного
DB 33H,5BH,5FH,70H; индикатора
DB 7FH,7BH,76H,1EH;
ORG 0; переход в начало программы
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» | |||
«А» |
Таблица «прошивки» РПЗУ:
7E | 6D | 5B | 5F | 7F | 7B | 1E | ||||||
1a | bc | bf | be | fe | fe | e7 | ||||||
AE | 0A | BD | E6 | 1C | ED | 0D | EF | |||||
FC | E3 | C1 | FF |
Заключение.
Для визуального контроля нажатой кнопки, возможно подключение семисегментного индикатора к одному из портов, в данном случае к порту BUS. Вывод кода на ССИ осуществлен программно, тем самым достигается отображение кода нажатой клавиши на ССИ. Для удобства индикации на цифровые клавиши нанесены обозначения, соответствующие их кодам (от 0 по B).
Таким образом применение микропроцессорных систем в устройствах различного типа, позволяет сократить кол-во элементов в схеме, сделать устройство более качественным, а также позволяет осуществить наиболее “дружелюбный” интерфейс с пользователем.
Список литературы
Лин. В. PDP-11 и VAX-11. Архитектура ЭВМ и программирование на языке ассемблера. М. Радио и связь, 1989.-315 с.
Варламов И.В., Касаткин И.Л. Микропроцессоры в бытовой технике. М. Радио и связь, 1990.-102 с.
Калабеков Б.А. Цифровые устройства и микропроцессорные системы. М. Радио и связь, 1997.-336 с.
Министерство Российской Федерации по транспорту и связи
Новосибирский колледж телекоммуникаций и информатики
Сибирского государственного университета телекоммуникаций и информатики
КУРСОВОЙ ПРОЕКТ
По дисциплине «Вычислительная техника»
На тему: «Разработка контроллера матричной клавиатуры на микроконтроллере К1816ВЕ48 »
Выполнил: Баталов Д. Ю.
Гр. М-31
Проверил: Иванов В. С.