Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Специализированная МПС




Рассмотрим специализированное микропроцессорное устройство. Пусть в таком устройстве имеется два порта – один порт ввода D2 и один порт вывода D4. К порту ввода D2 по линии, связанной с его младшим разрядом, подключена кнопка S1, а к порту вывода D4 по линиями, связанным с его двумя младшими разрядами, подключены два светодиода. Функциональная схема части этого устройства приведена на рис….

Дешифраторы D1 и D3 формируют сигналы ВМ1 и ВМ2, служащие для активизации соответствующих портов. При этом дешифраторы включены таким образом, что сигналы ВМ1 и ВМ2 появляются только тогда, когда на младших восьми разрядах шины адресов возникают коды 01 и 02 соответственно. В таком случае говорят, что порт D2 включен как устройство с номером 1, а порт D4 – с номером 2. Далее порт D2 будем называть портом 1, а порт D4 – портом 2.

Допустим, что от устройства требуется выполнение следующей задачи. В исходном состоянии, пока кнопка S1 не нажата, светодиод V1 должен светиться, а светодиод V2 нет. Если кратковременно нажать на кнопку, то светодиод V1 должен на 0,5 с погаснуть, а светодиод V2 загореться. После этого в течение 0,5 с устройство не должно реагировать на нажатие кнопки.

 

 

Рис………..Структура специализированной МПС.

 

Пользуясь описанием системы команд нетрудно понять, что привести устройство в начальное состояние можно с помощью последовательности команд: команды загрузки операнда в аккумулятор МVI А, 00000001 и команды вывода байта данных из аккумулятора в порт 2 – ОUТ 02. Затем следует команда опроса состояния кнопки S1 (т.е. значение младшего разряда порта 1). С помощью команды ввода IN 01 переписываем содержимое порта в аккумулятор и проверяем состояние его младшего бита А (0). Для этого воспользуемся командой логического умножения содержимого аккумулятора на непосредственный операнд (команда АNI 00000001), содержащий 1 только в младшем разряде. В результате выполнения этой команды в аккумулятор запишется код, семь старших разрядов которого будут равны 0. Значение нулевого разряда аккумулятора А (0) будет зависеть от значения младшего разряда кода, прочитанного из порта 1, т.е. от того, была ли нажата кнопка в момент действия команда IN 01.

Таблица ………….

Управляющая программа

Метка Мнем. Операнд Комментарий
Начало: MVI А,01Н 00000001 > A
  OUT 02Н Зажечь V1, погасить V2
Ввод: IN 01H Ввод байта из порта 1
  ANI 01H Маскирование неиспользуемых разрядов
  JNZ ВВОД Повторить ввод, если кнопка не нажата
  MVI А02,Н 00000010 > А
  OUT 02H Зажечь V2, погасить V1
  LXI В,КОНСТ1 Задать величину задержки 0,5 с
  CALL ВРЕМЯ Вызов подпрограммы задержки
  JMP НАЧАЛО Возврат на «Начало:»
      Подпрограмма задержки
Время: DCX B Уменьшить на 1 содержимое ВС
  MOV A, B Переслать в А содержимое В
  ORA C В и С равны нулю?
  JNZ ВРЕМЯ Если нет, то повторить цикл
  RET   Возврат в основную программу
КОНСТ1 EQU 52080D Присвоение числовых значений Символическим операндам

 

Команда логического умножения воздействует на все биты признаков регистра F. Нас в данном случае интересует состояние бита Z – признака нуля, который устанавливается в 1 при нулевом содержимом аккумулятора, что в данном случае соответствует нажатой кнопке. Таким образом, JNZ ВВОД будет передавать управление команде IN 01, помеченной меткой ВВОД, до тех пор, пока признак Z остается равным 0, нажатие на кнопку приведет к установке признака Z в 1 и выполнению последующих команд программы.

Рассмотрим, как работает подпрограмма ВРЕМЯ. По команде DСX В содержимое регистровой пары ВС микропроцессора уменьшается на 1, а затем в аккумулятор пересылается содержимое регистра В и производится операция логического сложения с содержимым регистра С этой регистровой пары. Если в регистровой паре ВС код еще не стал равным 0, то после выполнения этой команды в аккумуляторе окажется число, также отличное от 0 и выполнится команда условного перехода JNZ ВРЕМЯ к началу подпрограммы, все действия повторяются вновь. При этом программисты говорят, что в программе организован цикл. Выход из него возможен только тогда, когда в результате выполнения команды DСХ В в регистровой паре ВС окажутся все нули. Тогда работа подпрограммы закончится выполнением команды RET и произойдет возврат к выполнению основной программы. Любая подпрограмма всегда должна оканчиваться командой возврата из подпрограммы.

Временная задержка, обеспечиваемая подпрограммой ВРЕМЯ определяется, во-первых, временем, необходимым для однократного выполнения всех команд этой подпрограммы, и, во-вторых, содержимым регистровой пары ВС. Последнее и определяет количество программных циклов.

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




Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 318; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.