Научная литература
booksshare.net -> Добавить материал -> Физика -> Джонс М.Х. -> "Электроника - практический курс" -> 171

Электроника - практический курс - Джонс М.Х.

Джонс М.Х. Электроника - практический курс — М.: Постмаркет, 1999. — 528 c.
ISBN 5-901095-01-4
Скачать (прямая ссылка): elektronika1999.djvu
Предыдущая << 1 .. 165 166 167 168 169 170 < 171 > 172 173 174 175 176 177 .. 195 >> Следующая

"interruptroutine"
1190 STA&0207 \ запись в старший байт вектора
прерывания
старшей части указателя на "interruptroutine" 1200 RTS \ возврат
в Бейсик
1210 ]
1220 REM программа начинает выполняться пуском "enableinterrupt"
(разрешение прерываний), за которым сразу же следует исполнение части
"setvector" (установка вектора прерываний); тем самым осуществляется
инициализация компьютера, в результате которой он исполняет
"interruptoutine" всякий раз, когда на вход СВ1 поступает импульс
прерывания 1230 CALL enableinterrupt
472 МикроЭВМ и их применения
Комментарии в программе объясняют функции различных операторов; мы видим,
что для правильной обработки прерывания необходимо не только включить
сохранение и восстановление регистров (в данном случае используется
только аккумулятор), но также в занесении адреса начала нашей программы
"interruptroutine" в ячейки памяти с адресами &206 и &207, где у
операционной системы микроЭВМ ВВС Micro храниться "вектор", указывающий
на подпрограмму прерывания. Когда сигнал прерывания на входе СВ\
принимает активное значение, ИС сопряжения с внешними устройствами
вырабатывает импульс непосредственно на входе требования прерывания (IRQ)
центрального процессора. Процессор немедленно обращается к ячейкам памяти
&FFFE и &FFFF, чтобы прочесть в них адрес (это встроенное свойство
процессора 6502). Размещенная в ПЗУ операционная система микроЭВМ ВВС
Micro хранит в этих ячейках адрес &DC1C, так что процессор совершает
безусловный переход и исполняет небольшую подпрограмму, начинающуюся с
&DC1C. Эта подпрограмма путем опроса, прежде всего, проверяет, не пришел
ли запрос на обслуживание от какого-либо из внутренних узлов системы;
если обнаруживается, что никто из них не выработал требование прерывания,
то управление передается по адресу, хранящемуся в ячейках &206 и &207,
куда мы поместили адрес начала подпрограммы "interruptroutine". Важно
отметить, что процедура переадресации процессора при прерывании по
вектору прерывания включена только в версии операционной системы для
микроЭВМ ВВС Micro 1.0 и выше.
Как обычно, набрав RUN, вы запустите трансляцию программы, за которой
сразу же последует исполнение оператора CALL enableinterrupt в строке
1230. Это приведет к пуску подпрограммы "enableinterrupt", за которой
следует подпрограмма "setvector". Первая из этих подпрограмм производит
установку схемы сопряжения с внешними устройствами в режим
чувствительности к прерываниям на входе СВ 1, а вторая подпрограмма
помещает в ячейки &206 и &207 адрес, соответствующий метке
"interruptroutine", в качестве готового вектора прерывания.
Таким образом, программирование прерываний требует внимания: для
реализации простого по своей сути принципа нужно все же выполнить
довольно много команд, чтобы все происходило именно так, как задумано.
Однако, запустив эту простую программу, вы будете вознаграждены,
убедившись в способности микропроцессора выполнять более одной задачи
одновременно. Подчеркнем еще раз, что этим простым примером мы хотим
подтолкнуть воображение читателя в сторону внедрения компьютеров в
практические электронные системы. Подпрограмму "interruptroutine" легко
приспособить к выполнению любого желаемого действия; например, в
стиральной машине, где основная программа следит за выполнением
необходимых операций, подпрограмму прерываний можно использовать для
сигнализации о низком водяном давлении.
14.11.2 Прямой доступ в память
Для некоторых внешних устройств, таких как дисководы, когда необходимо
переносить данные в большом количестве, даже прерывания оказываются слиш-
Цифровая обработка сигналов 473
ком медленными. В таких случаях процессор становится узким местом и
применяется прямой доступ в память (Direct Memory Access, DMA). При этом
реализуется прямая связь внешнего устройства, например, жесткого диска, с
памятью.
Процедура прямого доступа в память начинается с того, что внешнее
устройство посылает по специальной линии DMA требование доступа к
системной шине. В течение времени, пока длится обмен данными при прямом
доступе в память, необходимые для памяти адреса генерируются
(выставляются) самим интерфейсом внешнего устройства, а не процессором.
Конец процедуры прямого доступа в память наступает тогда, когда интерфейс
внешнего устройства подает на процессор сигнал прерывания в знак того,
что тот может возобновить свое нормальное функционирование.
14.12 Цифровая обработка сигналов
В главе 11 мы видели, что процессы, происходящие в обычных аналоговых
электронных схемах, можно рассматривать как результат математических
вычислений. Например, усиление можно считать умножением на константу,
смешивание сигналов - сложением, а ослабление в делителе напряжения -
делением на константу. Мы познакомились также с более сложными
математическими операциями, такими как умножение одного сигнала на другой
(модуляция). Цифровой компьютер способен, конечно, выполнять все эти
Предыдущая << 1 .. 165 166 167 168 169 170 < 171 > 172 173 174 175 176 177 .. 195 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed