Состояние разрядов шины адреса

Разряды ША
ОЗУ
  0BFF
ПЗУ 0С00
  0FFF
  На входы дешифратора На входы микросхем емкостью 1 Кб

Дешифраторы, в зависимости от используемой элементной базы, можно выполнить по-разному. Три варианта схем дешифраторов показаны на рис.4.

Состояние разрядов шины адреса - student2.ru

В микросхеме К580ВВ55, используемой для связи МП с внешними устройствами, содержатся 4 регистра, 3 из которых являются портами ввода-вывода, а 1 – регистром управляющего слова (РУС). Для обращения к ним используются младшие биты шины адресов А0, А1 или А8, А9. Поэтому для системы с изолированной шиной из области адресов A8…AF можно использовать, например, АС…АF, а в системе с общей шиной из области 9060…9067 - область 9060…9063. Оставшиеся адреса могут быть использованы для выбора других внешних устройств, например, программируемого интервального таймера, программируемого контроллера прерываний и т.п. В данном примере из возможных внешних устройств применим лишь ППИ.

Двоичные разряды шины адреса, соответствующие области адресов АС…АF, сведены в таблицу 6, а области адресов 9060…9063 - в таблицу 7.

Таблица 6

Разряды ША Старшие разряды шины адреса Младшие разряды шины адреса
Порт Адрес порта
РА АС
РВ AD
РC АЕ
РУС AF
  К дешифратору К микросхеме ППИ К дешифратору К микросхеме ППИ
                                     

Таблица 7

Разряды ША Старшие разряды шины адреса Младшие разряды шины адреса
Порт Адрес порта
РА
РВ
РC
РУС
  К дешифратору К микросхеме ППИ
                                       

На рис.5а,б приведены два варианта построения дешифратора адреса для системы с изолированной шиной, формирующего сигнал нулевого уровня в области адресов АС…AF. На рис. 5в приведена схема дешифратора для системы с общей шиной, формирующая сигнал низкого уровня в области адресов 9060…9063.

Состояние разрядов шины адреса - student2.ru

6.4. Разработка принципиальной электрической схемы МПСУ

Приведем пример разработки МПСУ с изолированной шиной. В качестве контроллера системы используем схему, показанную на рис.7, которая формирует стандартные сигналы шины адреса, шины данных и шины управления. В качестве ПЗУ используем микросхему типа КР573РФ2, емкостью 16 Кбит с организацией 2К*8. В качестве ОЗУ используем микросхему типа КР537РУ10, емкостью 16 Кбит с организацией 2К*8. Емкость этих микросхем вдвое больше области адресного пространства, отведенного для ОЗУ и ПЗУ, поэтому используем половину емкости микросхемы, подав на вход старшего разряда микросхемы логический 0. Интерфейс связи с объектом управления организуем на микросхеме КР580ВВ55.

Принципиальная схема интерфейса ОЗУ, ПЗУ и устройства ввода-вывода на основе ППИ КР580ВВ55 приведена на рис 6. Соединив ее с контроллером системы, получим

Состояние разрядов шины адреса - student2.ru

принципиальную схему МПСУ. Применение микросхем программируемого интервального таймера КР580ВИ53 и программируемого контроллера прерываний КР580ВН59 описано в [1…5, 11], а в данных методических указаниях не рассматриваются.

6.5. Разработка программы, заносимой в ПЗУ МПСУ

Программа разработана в соответствии с сигнальным алгоритмом, приведенным на рис.3. Участки алгоритма, которые являются однотипными и часто повторяемыми, оформим в виде подпрограмм и блоков программы, которые потом соединим в основную программу МПСУ.

6.5.1. Программа опроса портa A

Адрес Код команды Метка Мнемокод Комментарии
    ADR1 MVI C, FF Занести в регистр С число 255
      IN АС Содержимое порта РА (по адресу АС) занести в аккумулятор А микропроцессора
      MOV B, A Копию порта РА поместить в регистр В
    ADR2 IN AC Содержимое порта РА в аккумулятор А
      XRA B Сравнить содержимое порта РА с предыдущим его состоянием
      JNZ ADR1 Если не равны, идти на ADR 1
      DCR С Уменьшить содержимое регистра С на 1
      JNZ ADR2 Если С≠0 (Z=0), идти к ADR2

Программа позволяет отстроиться от помех, поступающих с контактов кнопок и концевых выключателей, путем опроса порта РА 256 раз. Если за это время состояние порта РА не изменилось, что свидетельствует о стабильности поступившего сигнала, то микропроцессор выходит из подпрограммы и в регистре В сохраняется состояние порта РА. Эта подпрограмма располагается в самом начале алгоритма и результат ее выполнения используется в последующих блоках программы. Поэтому она должна быть в тексте как фрагмент основной программы.

6.5.2. Блок задержки

Задержка длительностью 0,5 секунды вводится для того, чтобы после отключения электродвигателя его повторное включение на его реверс происходило лишь после погасания дуги на контактах отключенного контактора. Задержку целесообразно реализовать на базе программируемого интервального таймера КР580ВИ53. Здесь рассмотрен

вариант программной реализации выдержки времени длительностью 0,5 с.

В цикле программе задержки, выполняемой М раз (метка М4 основной программы), используются команды DCX H, MOV A,H, ADD L и JNZ. Число М, заносимое в две последовательные ячейки памяти, начиная с адреса BASE (в программе BASE=0C73), которое загружаемся в регистровую пару HL, можно определить по формуле

М = Тзад · fт / N

Длина команд (в тактах): DCX Н – 5; MOV A,H – 5, ADD L – 4; JNZ – 10. Всего N=5+5+4+10=24 тактов.

Для реализации заданной задержки Тзад=0,5 с при тактовой частоте микропроцессора fт = 2 МГц, получим

М=0,5·2·106/24=4166710=А2С3Н

Таким образом, в ячейку памяти BASЕ при программировании ПЗУ надо записать число С3Н, в ячейку BASE+1 - число А2Н.

6.5.3. Подпрограмма управления электродвигателем лифта

Можно увидеть, что в алгоритме программы рис.3 есть две группы аналогичных блоков: 4…9 для движения "Вверх" и 10…14 для движения "Вниз", отличающихся только разрядами битов, условий и битами управляющих сигналов. Эти группы блоков оформляем в виде одной подпрограммы. Для настройки ее на выполнение движений "Вверх" и "Вниз" используем внутренние регистры МП.

В регистре В хранится содержимое порта РА: информация о состоянии кнопок и конечных выключателей системы. В регистре С содержится код 04Н=0000.0100 или 08Н=0000.1000 маски для проверки конечных выключателей, соответственно, S4 или S5. В регистре Е содержится код 08Н=0000.1000 или 10Н=0001.0000 маски для зажигания ламп, соответственно, Н1 или Н2. В регистре Н содержится код 20Н=0010.0000 маски для зажигания лампы Н5 "Стоп". В регистре L содержится код 02Н=0000.0010 или 04Н=0000.0100 маски для включения электродвигателя для движения лифта , соответственно, "Вверх" или "Вниз".

Адрес Код команды Метка Мнемокод Комментарии
      PUSH PSW Запомнить в стеке содержимое регистров
      PUSH D PSW и DЕ
      MVI D, 10 Занести в регистр D константу 10 маски для проверки состояния кнопки "Стоп"
    ADR5 MOV A,B Переслать в регистр А содержимое порта РА
      ANA С Конечный выключатель "Лифт вверху" ("Лифт внизу") сработал?
      JNZ ADR6 Если нет, проверить состояние кнопки "Стоп"
      MOV А,Е Если да, зажечь, подключенную к порту РВ
      OUT AD лампу "Лифт вверху (внизу)", электродвигатель не включать и выйти на подпрограмму
      JMP ADR7 задержки 0,5 с
    ADR6 MOV A,B Переслать в регистр А содержимое порта РА
      ANA D Кнопка "Стоп" нажата?
      JNZ ADR7 Если нет, идти к ADR7
      MOV А,Н Если да, зажечь подключенную к порту РВ
      OUT AD лампу "Стоп", и электродвигатель не
      JMP ADR8 включать
    ADR7 MOV A,L Включить электродвигатель "Вверх (Вниз)" и
      OUT AD зажечь лампу "Движение вверх (вниз)"
      JMP ADR5 Идти в начало подпрограммы управления двигателем
    ADR8 POP D Извлечь из стека содержимое регистра DЕ
      POP PSW Извлечь из стека содержимое регистра PSW
      RET Возврат в основную программу

6.5.4. Основная программа

В соответствии с алгоритмом рис.3 основная программа должна содержать команды настройки интерфейса ввода-вывода, инициализации стека, программы чтения порта РА интерфейса, команд опроса кнопок управления, команд обращения к подпрограмме управления электродвигателем лифта и программы задержки, Программа. размещается в ПЗУ, начальный адрес которого в памяти МП - системы 0С00, потому первой команде программы, помещенной в ячейку 000 ПЗУ, соответствует адрес 0С00 адресного пространства микропроцессора.

Адрес Код команды Метка Мнемокод Комментарии
Инициализация
0С00 3E 90 М1 MVI A, 90 Послать в РУС ППИ код 90 настройки
0С02 D3 AF   OUT AF портов: порт РА - ввод, порт РВ - вывод
0С04 31 00 0В   LXI SP, 0B00 Занести в регистр-указатель стека адрес вершины стека - 0В00
Чтение порта А
0С07 0E FF М2 MVI C, FF Комментарии см. в п.6.5.1
0С09 DB AC   IN АС  
0С0В   MOV B,A  
0С0С DB AC   IN АС  
0С0Е A8   XRA B  
0C0F C2 07 0С   JNZ  
0C0F 0D   DCR C  
0С13 C2 0С 0С   JNZ 0С0С  
Проверка состояния кнопки пуска "Вверх"
0С16   NOP Пустая команда
0С17   MOV А,В Занести в регистр А содержимое порта РА
0С18 Е6 01   ANI 01 Кнопка "вверх" нажата?
0С1А С2 2В 0С   JNZ 0С2В Если нет, идти к 0С2В – проверке кнопки пуска "Вниз"
Подготовка регистров C, E, H, L перед обращением к подпрограмме управления электродвигателем "Вверх"
0C1D 0Е 04   MVI C, 04 Маска проверки концевика "Лифт вверху"
0C1F 1Е 08   MVI E, 08 Маска включения лампы "Лифт вверху"
0С21 26 20   MVI H, 20 Маска включения лампы "Стоп"
0С23 2Е 02   MVI L, 02 Маска включения электродвигателя "Вверх"
0С25 CD 50 0С   CALL 0C50 Идти к подпрограмме управления электродвигателем
0С28 СЗ ЗС 0С   JMP 0C3C Идти к программе задержки 0,5 с после завершения движения лифта "Вверх"
Проверка состояния кнопки пуска "Вниз"
0С2В М3 MOV A,B Переслать в регистр А содержимое порта РА
0С2С Е6 02   ANI 02 Кнопка "вниз" нажата?
0С2Е С2 ЗС 0С   JNZ 0C3C Если нет, идти к программе задержки 0,5 с
Подготовка регистров C, E, H, L перед обращением к подпрограмме управления электродвигателем "Вниз"
0С31 0Е 08   MVI C, 08 Маска проверки концевика "Лифт внизу"
0СЗЗ 1E 10   MVI E, 10 Маска включения лампы "Лифт внизу"
0С35 26 20   MVI H, 20 Маска включения лампы "Стоп"
0С37 2E 04   MVI L, 04 Маска включения электродвигателя "Вниз"
0С39 CD 50 0С   CALL 0C50 Идти к подпрограмме управления электродвигателем
Программа задержка на 0,5 секунды
0С3С 2А 73 0С М4 LHLD 0C73 Комментарии см. в п.6.5.2
0C3F   DCX H  
0С40   MOV A,H  
0С41   ADD L  
0С42 С2 3F 0С   JNZ 0C3F  
0С45 C3 07 0C   JMP 0C07  
Подпрограмма управления электродвигателем лифта "Вверх" или "Вниз"
0С50 F5 М5, М10 PUSH PSW Комментарии см. в п.6.5.3
0С51 D5   PUSH D  
0С52 16 10   MVI D, 10  
0С54   MOV A,B  
0С55 А1   ANA С  
0С56 С2 5F 0С   JNZ 0C5F  
0С59 М6, М11 MOV А,Е  
0С5А D3 AD   OUT AD  
0С5С СЗ 70 0С   JMP 0C70  
0C5F   MOV A,B  
0С60 А2 М7, М12 ANA D  
0С61 С2 6А 0С   JNZ 0C6A  
0С64 М8, М13 MOV A,H  
0С65 D3 AD   OUT AD  
0С67 СЗ 70 0С   JMP 0С70  
0С6А 7D М9, М14 MOV A,L  
0С6В D3 AD   OUT AD  
0C6D СЗ 54 0С   JMP 0С54  
0С70 D1   POP D  
0С71 F1   POP PSW  
0С72 С9   RET  
0С73 C3     Константа младшего байт счетчика, используемая в программе задержки 0,5 с
0С74 А2     Константа старшего байта счетчика, используемая в программе задержки 0,5 с

6.6. Прошивка ПЗУ

Программа занимаем в ПЗУ ячейки с 000 по 074. Коды программы, помещаемой в ПЗУ, сведем в таблицу.

А В С D Е F
D3 AF 0B FF DB AC DB AC А8 С2
0D С2 E6 С2
CD C3 3C E6 С2 ЗС
CD
С2 3F C3
F5 D5 A1 С2 5F 7B D3 AD C3
А2 С2 D3 AD C3 7D D3 AD C3
D1 F1 С9 C3 A2                      

В графической части курсового проекта для рассмотренного примера разработки МПСУ должны быть представлены три чертежа:

1. Устройство управления грузовым лифтом. Блок-схема сигнального алгоритма программы.

2. Устройство управления грузовым лифтом. Схема электрическая принципиальная.

3. Сборочный чертеж платы МПСУ.

В схеме электрической принципиальной на одном чертеже должны быть изображены контроллер системы (рис.7) и интерфейс ОЗУ, ПЗУ и УВВ (рис.6).

Состояние разрядов шины адреса - student2.ru

Студенты, которые разрабатывают систему на основе МП типа КР1821ВМ85 (Intel 8085), могут воспользоваться разработками контроллера системы, изображенного на рис.8.

Система команд микропроцессора КР1821ВМ85 полностью совпадает с системой команд микропроцессора КР580ВМ80.

Контроллеры систем

На рис.7 и 8 схем контроллеров систем на основе микропроцессоров КР580ВМ80, и КР1821ВМ85 отражены:

- схемы формирования шин адреса, данных и управления;

- буферные схемы для микропроцессоров КР580ВМ80 и КР1821ВМ85;

- схемы формирования тактовых импульсов и сигналов сброса системы;

- входы запросов прерывания общего типа, к которым должны подключаться контроллеры прерывания;

- блокировки режимов "Ожидания" и прямого доступа к памяти МПСУ.

Состояние разрядов шины адреса - student2.ru

Ó Дворак Николай Маркович, к.т.н., доцент,

Безгачин Николай Иванович, к.т.н., доцент

МИКРОПРОЦЕССОРНЫЕ УСТРОЙСТВА: Методические указания и задания к курсовому проекту для студентов направления 6.092201 "Электромеханика" специальности "Электрические системы и комплексы транспортных средств"

Тираж ____экз. Подписано к печати ________

Заказ №_____ Объём ______п.л.

Изд-во "Керченский государственный морской технологический университет"

98309 г. Керчь, ул. Орджоникидзе, 82

Наши рекомендации