Разработка микропроцессорной системы на базе микропроцессора I-8085A, содержащую: 2 кБ ROM памяти, 2 кБ RAM памяти, периферийные БИС I-8255A (параллельный интерфейс) и I-8279 (контроллер клавиатуры и дисплея), страница 10

Входы CNTL и SHIFT игнорируются.

Матрица датчиков (ОЗУ клавиатуры):

данные с линий возв­рата поступают в тот байт ОЗУ клавиатуры, номер которого равен но­меру опрашиваемого столбца матрицы датчиков. Входы CNTL и SHIFT игнорируются.

Индикаторное ОЗУ:

D7 ¸D4 - передаются на выводы A3 ¸ А0 микросхемы (DSPA);

D3¸D0 - передаются на выводы ВЗ ¸ В0 микросхемы (DSPB).

После подачи сигнала RESET запрограммируем БИС в следую­щем режиме:

-  8-ми символьный 8-ми разрядный дисплей (8´8 бит) ввод слева;

-  сканирование контактной клавиатуры c внешней дешифрацией и с запретом одновременного нажатия 2-х  и более клавиш;

-  коэффициент деления входной частоты равен 14h, т.к. входной синхронизирующий сигнал CLK имеет частоту 2МГц, а для получения 100кГц  частоты внутренней синхронизации необходимо задать делитель равный 20.

-  чтение ОЗУ клавиатуры и запись индикаторного ОЗУ;

-  запись в ОЗУ дисплея начиная с нулевого адреса с автоинкрементом

-  вывод строки

Программа инициализации БИС c выводом на дисплей сообщения:

  адрес      ОЗУ  дисплея             0          1       2        3      4         5        6      7

H

E

L

L

O

                 В 7-сегм. коде         6Eh    9Eh   1Ch    1Ch   FCh    0   

                 defseg d8279, start=720h, class=Data     ; сегмент данных

                 seg d8279

mes   db  6Eh 9Eh 1Ch 1Ch FCh ,0  ; описание  выводимой строки в кодах 7-сегментного

                                                           ; индикатора, 0 - задаёт конец строки (на дисплей не

                                                           ;выводится)

                 defseg c_seg, start=100h, class=Code     ; сегмент команд

                 seg c_seg

MVI    A, 00h             ;  Команда установки режима работы индикатора и

OUT 09h                    ;  клавиатуры (заполнение строки слева, дисплей 8*8, ;сканирование клавиатуры с блокировкой одновременного ;нажатия клавиш, дешифрация внешняя)    

MVI    A, 34h             ;  Команда программирования синхронизации

OUT 09h                    ;(делитель на 20)     

MVI    A, 0DСh         ;  Команда сброса

            OUT 09h                    ; Разрешение заполнении индикаторного ОЗУ.

                                               ; ОЗУ заполняется нулями.

MVI    A, 90h             ;  Команда записи в индикаторное ОЗУ с автоинкрементом 

OUT 09h                    ;  начиная с 0 адреса           

LXI B, mes                 ; В регистр BC заносится адрес строки выводимых символов

L1:      IN 09h                         ; Чтение слова состояния FIFO

            ANI 80h                      ; Выделение флага Du (недоступность индикаторного ОЗУ)

JNZ  L1                      ; Переход, пока флаг Du=1

; (Ждём пока ОЗУ не станет доступным)

L2:      LDAX B                     ; Загрузка кода выводимого символа из памяти,

                                               ; адрес в регистра BC

            ANA  A                      ; Логическое И регистра А с регистром А,

; для установки флагов

            JZ  L3                         ; Переход, если А=0

            OUT 08h                    ; Вывод строки

                                               ; запись аккумулятора в OЗУ клавиатуры

            INX B                         ; Инкрементировать содержимое регистра  BC,

                                               ; Переход к следующему выводимому символу.

            JMP L2                       ; Перейти к выводу следующего символа

L3:      end                              ; End Program


4. Выводы

В ходе выполнения работы была разработана микропроцессорная система на базе микропроцессора I-8085A, имеющая 2 Кбайта ПЗУ и 2 Кбайта ОЗУ, а также периферийные БИС контроллера параллельного интерфейса I-8255 и контроллера клавиатуры и дисплея I-8279. И написана программа начальной инициализации и контроллера дисплея и клавиатуры.