Схема подключения МК к клавиатуре и дисплею с использованием контроллера клавиатуры и дисплея
Особенности команд передачи управления МК
1) Команды длинного перехода
- LJMP - переход по всему адресному пространству памяти программ
- LCALL
Адрес – 16 бит
(РС) ← ad 16
2) Команды абсолютного перехода
- АJMP – переход в пространстве памяти 2 кб
Адрес – 11 бит.
При выполнении текущей команды, а затем команды абсолютного перехода, младшие 11 бит заменяются указанными в коде команды.
ad 11
(РС) ←(РС) + 2
(РС0-10) ← ad 11
3) Команда относительного перехода
Относительный переход позволяет переадресовать управление в пределах -128÷127 бит.
- SJMP rel
(РС) ←(РС) + 2
(РС) ←(РС) + rel
4) Команда условного перехода
- JMP @ А + DPTR – передача управления по косвенному адресу.
@ - префикс косвенной адресации
(РС) ← А + DPTR ((Акк) + (РУД))
В этой команде предоставлена возможность перехода по адресу, который вычисляется самой программой и при написании неизвестен.
Данная схема представлена на рисунке 50.
Контроллер клавиатуры и дисплея (DD2) позволяет разгрузить МК от функций управления клавиатурой и индикатором.
Линия Р1.0 МК соединяется с входом А0 ККД и определяет тип обращения (управление или данные). Сигнал запроса на прерывание с DD2 (IRQ) поступает на вывод Р1.1 МК и может быть программно опрошен для определения факта нажатия клавиши. Шина, образуемая портом Р0, соединена с ШД ККД. На вход CLK ККД подается строб с выхода ALE c частотой 2 МГц. Дешифратор (DD3) используется для сканирования клавиатуры и дисплея. Код на его входе определяет активный сигнал на одной из линий выхода (эффект «бегущего нуля»).
Диоды VD1 – VD3 необходимы для защиты от короткого замыкания выходов дешифратора при одновременном нажатии двух клавиш.
В клавиатуре показаны информационные клавиши и клавиши управления.
ККД опрашивает линии клавиатуры с линии возврата и передает код в МК.
Входы 0÷7 индикатора служат для выбора одного из семисегментных индикаторов, входы a÷h определяют код горения сегментов.
Рис.50
Расширитель ВР имеет особый статус в системе, который заключается в некоторой интеллектуальности этого устройства: он способен по командам, вводимым с МК, самостоятельно обрабатывать информацию. Ввод команд или данных осуществляется через порт Р2.
Табл. 19
Р2.3
Р2.2
Р2.1
Р2.0
Команда
Порт
АNLD
Р7
RD
Р4
WR
Р5
Если сигнал программирования изменяется из высокого в низкий, то на выводах Р2.0÷Р2.3 находятся код управляющего слова (старшие биты) и адрес порта (младшие биты). Если сигнал PROGвысокий,то на выходах находятся данные.
Система команд расширителя – это команды ввода/вывода, команды логического сложения и умножения.
Рис. 51
При работе с расширителем МК генерирует для него команды и не участвует в их исполнении. Это является примером распределенной обработки информации, повышающей производительность системы в целом.
Порты Р7÷Р5 – четырехразрядные трехстабильные, обеспечивающие доступ к аккумулятору МК.
Схема подключения расширителя к микроконтроллеру показана на рис. 52.