Генератор тактовых импульсов КР1810ГФ84 (DD1) предназначен для управления МП КР1810ВМ86 и периферийными устройствами.
Сигналы: CLK – тактовой частоты для МП КР1810ВМ86, PCLK – тактовой частоты для управления периферийными БИС формируются из колебаний основной частоты кварцевого резонатора ZQ1, равной 15 МГц, который подключается к входам Х1 и Х2. Тактовый сигнал CLK, подаваемый на вход CLK МП, в три раза меньше частоты опорного генератора и составляет 5 МГц. Внутренний делитель частоты формирует выходные импульсы PCLK с частотой, равной 1/2 частоты сигнала CLK и обеспечивает управление ВУ.
Входной сигнал READY МП используется для подтверждения готовности к обмену. Высокий уровень напряжения на входе указывает на наличие данных на ШД. Сигналы RDY свидетельствуют о готовности к обмену, сигналы AEN разрешают формирование сигнала READY по сигналам RDY.
Выходной сигнал RESET вырабатывается при поступлении входного сигнала RES и используется для установки МП и ВУ в исходное состояние. Ко входу RES подключена RC-цепь, обеспечивающая автоматическое формирование сигнала при включении источника питания.
Питание всех устройств осуществляется от источника питания, напряжением 5 В ± 5%.
Оценка затрат машинного времени
Спроектированное устройство работает с тактовой частотой МП 5 МГц и с тактовой частотой ВУ – 100 кГц, т.е. с максимальной для данных устройств частотой.
Команда, занимающая 2-3 байта, в среднем выполняется за 10 тактов. Время обработки одной команды примерно составляет 2 мкс. Программа управления МПС содержит около 50 команд, по 2-3 байта каждая. Таким образом, время необходимое для выполнения одного цикла (от нажатия клавиши до вывода символа на индикатор) программы составляет 100-150 мкс (6-10 кГц).
Программирование
контроллера клавиатуры и дисплея
Для программирования режимов работы контроллера К580ВВ79 используется восемь команд (см. табл. 3.4 в [3] на стр. 78, [2] на стр. 294).
Команда 0 устанавливает режимы работы клавиатуры и дисплея. В КП на индикаторы необходимо выводить 6 знаков, поэтому задаем режим работы ПККД с 8-знаковым дисплеем (8 бит на знак); ввод слева. Программируем кодирование сигналов сканирования матрицы клавиатуры, блокировку ввода при нажатии двух и более клавиш. Тогда формат команды будет иметь следующий вид: 00000000b (00h).
Команда 1 служит для согласования цикла синхронизации МП с внутренним циклом синхронизации ПККД и для обеспечения требуемой скорости сканирования клавиатуры и дисплея. Частота внутренней синхронизации контроллера равна 100 кГц, коэффициент деления, как отмечалось выше, равен 25. Таким образом, команда запишется в формате: 00111001b (39h).
В режиме сканирования контактной клавиатуры по команде 2 (01000000b или 40h) ПККД автоматически выдаёт на ШД биты из ОЗУ клавиатуры (типа FIFO) в том порядке, в каком они были записаны.
При нажатии клавиши и его подтверждении ПККД формирует байт D0–D7, содержащий информацию о позиции нажатой клавиши: биты D0–D2 содержат номер линии RL0–RL3 (номер строки), а разряды D3–D5 – номер столбца, выбранного сигналами SL0–SL2.
По команде 4 ПККД выполняет запись в ОЗУ отображения. Так как ввод знаков в дисплей происходит слева без сдвига, формат команды выглядит следующим образом: 10000000b (90h).
Граф-схема алгоритма работы
микропроцессорной системы
Программа
;Таблица символов шестнадцатеричной системы для вывода на семисегментные индикаторы.
;С контроллера ВВ79 на индикаторы подаются 8 бит информации (два канала A и B).
;Каждый бит соответствует одному сегменту индикатора. Набор нулей и единиц позволяет
;высветить необходимый символ. Подробнее в [2] на стр. 299.
ORG 1800h ;Начальный адрес таблицы
TBCR: DB 00111111b ;Ноль
DB 00000110b ;Один
DB 01011011b ;Два
DB 01001111b ;Три
DB 01100110b ;Четыре
DB 01101101b ;Пять
DB 01111101b ;Шесть
DB 00000111b ;Семь
DB 01111111b ;Восемь
DB 01101111b ;Девять
DB 00110111b ;«A»
DB 01111100b ;«B»
DB 01011000b ;«C»
DB 01011111b ;«D»
DB 01111001b ;«E»
DB 01110001b ;«F»
END TBCR ;Конец таблицы символов
180Fh: MOV AX, 180Fh ;Настраиваем кодовый сегмент
MOV CS, AX ;
JMP 18D8h ;Пропускаем подпрограмму
;Подпрограмма обработки запросов на прерывание от контроллера ВВ79.
;Здесь производится считывание символа из ОЗУ клавиатуры ПККД,
;преобразование его в шестнадцатеричную цифру.
;Так как написание программы обработки прерываний – процесс трудоемкий,
;текст ее не приводится. Примеры программ даны в [2] на стр. 299
1815h: STI ;Разрешение прерывания
HLT ;Ожидание прерывания
CLI ;Запрещение прерывания
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.