Главная » Просмотр файлов » Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987)

Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 27

Файл №1092084 Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987)) 27 страницаЙ.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084) страница 272018-02-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 27)

После передачи счетчик команд считывает из команды САЕ1 операнд, т. е. новый адрес, после чего и происходит требуемый переход. По команде КЕТУК)ь) сначала выбирается младший байт адреса возврата, а затем старший (рис. 3.28). Адресная информация пересылается прямо в счетчик команд. Особой командой перехода является РСН(., которая загружает в счетчик команд (РС) содержимое двойного регистра Н1. При этом содержимое регистра (. передается в младший байт счетчика команд, а содержимое регистра Н вЂ” в старший байт.

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

В схеме, представленной на рис. 3.29,а, происходит опрос результата предыдущей операции, в соответствии с которым о Команда СА1.ь заносит в стек адрес следующей команды — адрес возврата, а команда цЕТ11к1Ч извлекает этот адрес из стека и заносит его в счетчик команд. Поэтому при организации возврата с помощью обычной команды в стеке окажется не извлеченный из него адрес возврата, что приведет к нарушению предусмотренной программой работы стека.— Прим, ред. Глава 8 Рис.

3.29. Структуры с ветвлеыиями и иикламы. либо программа продолжается, либо производится ветвление. Практический пример: при чтении данных с кассетного магнитофона в общем случае выполняется одна проверка ошибок записи. Очевидно, что при этом требуется обеспечить сообщение об ошибке с указанием адреса. Обнаружение ошибки вызывает ветвление, которое позволяет сообщить о данной ошибке или решить, надо ли продолжать после этого выполнение первоначальной программы.

Здесь можно воспользоваться условной командой САЕЕ с КЕТ в качестве команды возврата. Структурная схема, показанная на рис. 3.29,б, иллюстрирует передачу управления. Программа может продолжаться по одной из двух возможных ветвей. Приведем практический пример. В случае поставки товаров во Францию в накладных требуется указывать франки, а при поставке в Англию — фунты стерлингов. В результате появляются два варианта расчета, т. е. две ветви программы, которые при дальнейшем выполнении программы снова объединятся в несколько измененном ви- Назар команд микроЭВМ 149 де, когда будет производиться печать величины денежной суммы.

В случае большого числа ветвей блок-схема выглядит так, как показано на рис. 3.29, в. На рис. 3.29,г показана структурнаясхематакназываемого цикла. Здесь на основе опроса происходит обратный переход. Примером подобного цикла является вычитание одного числа из другого до тех пор, пока результат вычитания не станет равным нулю или не произойдет изменение его знака.

Такая операция выполняется при делении одного числа на другое. Наконец, может понадобиться переход в определенную подпрограмму, как показано на рис. 3.29,д. При этом выполнение программы прерывается, так как необходимо сначала обработать в этой подпрограмме какие-либо переменные величины или промежуточные данные. Затем следует обратный переход и выполнение основной программы продолжается. Данная подпрограмма может быть частью другой подпрограммы, которая в свою очередь может являться подразделом основной программы.

Аналогично обстоит дело и с циклами. В подобной ситуации говорят о вложенных программах или подпрограммах. На рис. 3.30 приведен пример такой ситуации. В левой части рисунка показана основная программа, из которой необходимо осуществить переход для выполнения некоторого специального режима обработки данных. Программа совершает переход в подпрограмму, которая обращается к второй подпрограмме.

Во второй подпрограмме имеется внутренний цикл, например предназначенный для повторяющейся процедуры обработки данных (С)МР). В свою очередь вторая подпрограмма вызывает третью подпрограмму (ССА11). В последней подпрограмме выполнение программы может прерваться, если будут выполнены соответствующие условия (переход из СЗМР в КЕТ).

Следует отметить, что переход из СЗМР может произойти в предыдущую подпрограмму косвенным путем через КЕТ в конце третьей подпрограммы. Если допускается прямой переход во вторую подпрограмму, в результате нарушается правильная работа указателя стека. Мы еще вернемся к этой ситуации при разборе примеров других программ. Вторая подпрограмма находится внутри второго цикла с условным оператором СКЕТ. При ответе «истина» происходит возврат в основную программу, а при ответе «ложь» — переход во вторую подпрограмму.

В данном примере по команде )МР происходят как прямые, так и обратные переходы. При использовании команды САП осуществляется переход из одной части программы в подпрограмму, а затем возврат в основную программу. По этой причине команды СА1) часто называют командами перехода к подпрограммам. Набор команд микроЭВМ ЗЛ1.

Инициирование прерывания В предыдущих разделах отмечалось, что в ходе последова.тельного выполнения программы работа микроЭВМ может быть прервана с помощью внешних сигналов от периферийных схем и аппаратуры, которым требуется установить связь с МП. При этом происходит запрос на прерывание, который МП должен «услышать» после того, как будет закончена текущая команда. Этот режим осуществляется с помощью команды Е! (ЕпаЫе 1п1еггпр! — разрешение прерывания). МП можно сделать «глухим» относительно прерываний с помощью команды Р! (Р)заЫе 1п1еггпр! — запрещение прерывания).

МП должен быть невосприимчивым к запросам на прерывание, если прерывание является в данный момент нежелательным, например в ходе выполнения подпрограммы, при прерывании которой может быть потеряна важная информация. При инициировании прерывания дается запрос на прерывание (!г!ТЕ), который МП может в данный момент либо принять, либо проигнорировать. Если этот запрос принят, то МП сообщает об этом сигналом 1ХТА (!п1еггпр! АсйпоМебде— подтверждение прерывания), и одновременно на шину данных поступает информация о том, какое именно внешнее устройство выдало запрос на прерывание.

При этом, если по отдельным сигнальным линиям, связанным с различными внешними устройствами, которые могут вызывать прерывание, потребуется передать кодированное сообщение на шину данных, понадобится внешний шифратор, преобразующий соответствующий сигнал в двоичную форму (рис. 3.31). Сигнал 1ЫТА запускает шифратор, который формирует двоичный код, поступающий на шину данных. Для кодирования запроса на прерывание можно использовать, например, приоритетный шифратор типа 741.8148. Как только становится известно, от какого именно периферийного устройства поступил запрос на прерывание, МП совершает переход в определенный начальный адрес, по которому вызывается программа обслуживания данного устройства, В МП 8085А таким образом выполняется восемь различных запросов на прерывание.

Для этих запросов предназначены команды ЯЗТ, имеющие восьмеричную форму Зп7, где и — указатель адреса, который относится к определенному внешнему устройству. При появлении команды КЗТ содержимое счетчика команд пересылается в стек, после чего происходит переход по адресу, равному восьмикратной величине адреса периферийного устройства, выдавшего запрос на прерывание. Если код, посланный на шину данных, равен нулю, то переход происходит в нулевую ячейку ЗУ, что совпадаетсустанов- Глава 3 152 Рнс. 3.31. Выполвенне запроса на прерывание. кой в нуль, т. е. начальным адресом в начале выполнения программы.

При двоичном коде на шине данных, равном 1, происходит переход по адресу 8, при коде, равном 2, — по адресу 16 и т. д. Чаще всего сначала осуществляется переход в указанные ячейки ЗУ, а затем в определенную программу обслуживания (рис. 3.32). Кроме входа для сигнала прерывания 1ИТЕ, МП 8085А имеет ряд отдельных входов для запросов на прерывание. Если один из этих входов активизируется, то МП сразу хе определяет, какое именно внешнее устройство привело к гоявлению запроса на прерывание. Для этих входов на стр.

153 приведены параметры адресов рестарта, куда происходит переход программы после подтверждения запроса на прерывание. Входы запросов на прерывание могут маскироваться. В результате разрешение определенного запроса на прерывание происходит только тогда, когда соответствующий вход не маскируется и перед этим в 1Е-триггер поступает команда 1Е.

Набор команд микроЗВМ Стек стп с тчпк команд паем рестарта /5 М /5 /2 Л /О 0 д 7 5 5 4 2 2 / 0 О О 0 О О О О О О О ИИМО О О (а) ЮР -5Р после операции и (ер)-5Р до операции 1б) Команды Ндт нс. 3.32. Команды йБТп а — наглядное предстянлннне команд; б — команды яБТ. Установку триггеров в состояние маскирования прерывания осуществляет команда ЫМ (3е1 1п1еггпр1 Маак — установить маску прерывания) (рис. 3.33). ЫМ относится к однобайтовым Входные линии Восьмеричный Шестнадцатеричный адрес адрес ТйЛР 044е 24/е к575,5 054е 2'-ге к5Т6,5 064, 34/е КБТ7,5 074е 3Сы Глава 8 командам и пересылает содержимое аккумулятора в регистр управления прерыванием, который находится в МП. Управляющие данные необходимо описать в формате, показанном на рис.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6430
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее