/
Текст
Practical Hardware Details
for 8080, 8085, Z80, and 6800
Microprocessor Systems
J ames W. Coffron
Prentice-Hall, lnc.,.
Eng\ewood Cliffs
1981
,ДЖ. КОФФРОt-1
ТЕХНИЧЕСКИЕ
СРЕДGВА
МИКРОПРОЦЕССОРНЬIХ
СИGЕМ
•
ПРАКТИЧЕСКИЙ •
КУРС
Перевод с енrnнАскоrо
кенд. техн. неук В. А.. &еnыберднна,
кенд. техн. наук Л. В. Шабанове
МОСКВА. «МИР» t983
ББК 32.973.2
К74
УДК 681.3
l(оффрон Дж.
К74 Технические средства микропроцессорных систем: Прак
тический курс. Пер. с англ.-М.: Мир, 1983. -344 с., ил.
Кииr11 uмериканско~·о специа.писта представ.пяет собой руководство по проек
тированию микронроцессориых систем иа базе стандартных наборов распростра
ненных семейств микропроцессоров 8080, 8085,, Z80 и 6800. Дета.пьно ана.пнзнруются
особенностн арх11тектуры н функционирования микропроцессоров н систем на их
основе, обсуждаются преимущества и недостатки конкретных технических реше
инl\. Г.павное внимание уде.пено комμоновке и испытаниям апщ1ратных средств.
Из.пожение нJI.пюстрируется з'начнте.пьиым чнс.пом прнмеров построения реа.пьных
микропроцессорных систем.
Д.пя спецна.пистов, связанных с проектированием систем обработки данных на
базе микропроцессоров.
2405000000-371
К 041(01)-83
158-83, ч. 1
Редакция· литературы по ·новой технике
© 198t Ьу Prentice-Hall, Inc.,
Englewood Cliffs
ББК 32.973.2
© Перевод на русский язык, сМир:., 1983
Дж. Коффрон
ТЕХНИЧЕСКИЕ СРЕДСТВА МИКРОПРОЦЕССОРНЫХ СИСТЕМ
Научиыl\ редактор Т. Н. Шестакова. Младший научный реДактор Е. П. Ор.пова. Худо~
иик Г. М. Чеховский. Художествеищ,11\ редактор Л. Е. В&Эрученков. Технический редак
тор Г. В. А.пю.пниа. Корректор Н. А. Гиря
ИБ No 3741
Сдано в набор ОЗ.01.83. Подписано к печати 13.05.83 . Формат 60Х90 1/,., Бумага типограф•
екая No 2. Объем 10,76 бум . .п. Гарнитура .пнтературная. Печать высокая. Ус.п. печ. 11.
21,5. Усл. ир. отт. 21,6. Уч.-нзд. Ji 21,43. Изд. No 2012110. Тираж 50 ООО (1 завод 1-
25 000) экз. Зщtаз 814. Цеиа 1 р. 30 к.
,
_
•
ИЗДАТЕЛЬСТВО «МИР,.,
129820, Москва, И-110, ГСП, 1-11 Рижский пер., 2.
Мосиовска.я типография No 11 Союзпо.пнграфпрома прн Государственном комитете СССР
по де.пам нздате.пьств; по.пнrрафин и книжной торгов.пи.
Москва, 113105, ~аrатинская у.п., д. 1.
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ
l ';1:шитие и распространение микропроцессоров, а также все..-
"" 1можных устройств и систем на их основе стимулируют по
' 1оsrпно возрастающий интерес к микропроцессорной тематике·
, ,1 стороны все боле~ широкого круга технических специали-
, 1on: В последние годы в различных издательствах нашей стра~
111,1 был выпущен ряд монографий советских и зарубежных ав-
1, 1ров, посвященных данной тематике. В этих работах нашел
, 11·ражение круг вопросов, связанных с_ архитектурой микропро-
111•ссоров, структурой систем на их основе, возможностями и
11!'рспективами использования мщ<ропроцессориых устройств и
, 11стем в различных сферах жизни и деятельности человека и
1 11. Можно полагать, что хотя спрос на литературу подобного
ро;щ удовлетворен еще не в полной мере, знакомство читателей
,. основами
построения, функционирования и использования
~1111<ропроцессорных систем уже состоялось. В этой связи стано-
1111тся понятной потребность в публикациях, которые давали бы
, , 111сты на многие специальные вопросы, возникающие у прак.
, 11•1сских работников в процессе проектирования и отладки кон-
1, рстной системы. Именно такую наiiр'авленность имеет настоя
ща н книга.
Главная ·особенность книги заключается в том, что основной
.11щснт в ней смещен в сторону изложения практических вопро
' 11 1 1, с которыми сталкиваются разработчики непосредственно
11 11роцессе создания системы. Книга в известной степени может
р:1ссматриваться как практическое руководство по проектиро-
11:111ию и отладке микропроцессорных систем.
Другая особенность состоит в том, что при обсуждении во-
11 ~юсов технической реализации тех или _иных устройств автор,
1,.1к правило, не ограничивается ра-ссмотрением какого-то одно-
' , 1, пусть предпочтительного инженерного решения, но анализи
р у<~т разлиrtнр1е подходы к решению, показывая их сильные и
, .11абые стороны. Этому способствует проводимый автором ана
,111:1 возможностей при использовании каждого из рассматривае
~ 1 1,1 х типов микропроцессоров для реализации одних и тех же
,1,v11кций.
Особо следует остановиться на предлагаемой методике от
,1.11lкИ технических средств системы, именуемой тестированием··
111,средством статических сигналов. Она отличается простотой:
11 11аглядностью анализа коммуникационных процессов. -Такая
,1,· !'()Дика позволяет
разработчику системы в полной мере ос
~11,1сJшть и прочувствовать все особенности взаимодействия мик
р11111юцессора с устройствами памяти и ввода-~ывода.
Можно надеяться, что книга окажется весьма полезн:ой для
11 р:1 пических работников, •связанных с проектированием и ~~~
,,, ,.111,:юванием микропроцессорных устройств и систем
самою·
1• 1 ,.11ичного назначения.
В. А. Балыбердин
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ
Развитие и распространение микропроцессоров, а также все-
возможных устройств и систем на их основе стимулируют по
стоянно возрастающий интерес к микропроцессорной тематике
со стороны все более цшрокого круга технических специали
стов, В последние годы в различных издательствах нашей стра
ны был выпущен ряд монографий советских и зарубежных ав
торов, посвященных _ данной тематике. В этих работах нашел
\
-
u
отраж~ние круг вопросов, связанных с архитектурои микропро-
цессоров, структурой систем на их основе, возможностя ми и
перспективами использования микропроцессорных устройств и
систем в различных сферах жизни и деятельности человека и
т . п . Можно полагать, что хотя спрос на литературу подобного
рода удовлетворен еще не в полной мере, знакомство читателей
с основами построения, функционирования и использования
микропроцессорных систем уже состоялось. В этой связи стано
вится понятной потребность в публикациях, которые давали бы
ответы на многие специальные вопросы, возникающие у прак
тических работников в процессе проектирования и отладки кон
кретной системы. Именно такую направленность имеет нас.тая-
щая книга.
•
Главная особенность книги заключается в том, что основной
акцент в ней смещен в сторону изложения практических вопро
сов, с которыми сталкиваются разработчики непосредственно
в процессе создания системы: Книга в известной степени может
рассматриваться как практическое руководство по проектиро
ванию и отладке микропроцессорных систем .
Другая особенность . состоит в том, что при обсуждении во- .
просов технической реализаций тех или иных устройств автор,
как правило, не ограничивается рассмотрением какого-то одно
го, пусть предпочтительного инженерного решения, но анализи-
•рует различные подходы к решению, показывая их сильные и
слабые стороны. Этому способствует проводимый автором ана
лиз возможностей при использовании каждого из р.ассматривае~
мых типов микропроцессоров для реализации одних и тех же
функций.
Особо следует остановиться на предлагаемой методике от
ладки технических средств системы, именуемой тестированием
посредством ' стати.ческих сигналов. Она отличается простот9й
· и наглядностью анализа коммуникационных процессов. Такая
методика позволяет разработчику системы в полной мере ос
мыслить и прочувствовать все особенности взаимодействия мик
ропроцессора с устройствами памяти и ввода-вывода .
Можно надеяться, что книга окажется весьма полезной для
практических работников, связанных с проектированием и ис
пользованием микропроцессорных устройств и систем самого
различного назначения .
В. А. Балыбердин
ПРЕДИСЛОВИЕ
Если вам необходима подробная информация практического
характера по микропроцессорным системам, то ее можно найти
в новой книге Дж. Коффрона.
Изложение материала начинается с описания обычной архи~
тектуры системы с тремя шинами для 8-разр~дных микропро
цессоров. Это позволяет читателю хорошо усвоить организацию
микропроцессорной системы, особенности ее функционирования
и причины; по которым были выбраны те или иные технические
решения. Книга написана простым языком, для нее характерна
методически• последовательная компононка материала, что спо~
. собствует
глубокому изучению каждой из затронутых тем н
позволяет использовать ее в качестве учебного пособия.
Книга является уникальной в том смысле, что в ней содер-
• ?f<ИТСЯ описание полного набора схем для четырех широко рас
пространенных ми~ропроцессорных семейств - 8080, 8085, Z80,
6800,- поясняется назначение каждого вывода в корпусах щ1-
тегральных схем, приводятся спецификации, соответ.ствующие
временнъrе диаграммы, даются необходимые ссылки. Большое
место отводится вопросам последовательной отладки техничес
ких средств системы, что обеспечивает их эффективное исполь
зование. Предлагаемый материал поможет читателю определять
возможные неисправности в существующих микропр·оцессорах.
Эта книга-продолжение ранее изданной монографии Дж. Коф
фрона «Устройство и отладка микропроцессоров», которая яв
ляется своеобразным введением в микропроцессорные системы,
предназначенным для специалистов по цифровой технике. Авто
ру удалось заострить внимание на технических средствах мик
ропроцессорных систем, что делает книгу весьма полезной: в
практическом отношении.
•
Многие читатели~ вероятно, захотят приобрести эту книгу,
чтобы использовать ее в качестве справочного пособия по тех
ническим средствам ведущих микропроцессорных семейств.
В. Ло11,г
Профессор электроники
Футхилл колледж Лос-Алтос Хил,
Калифорния
ПРЕДИСЛОВИЕ АВТОРА . _
После завершения первого цикла занятий по микропроцессо•
рам у студента обычно остается много неясного. Причина этого
кроется в большом объеме изучаемого материала, освоение ко
торого требует времени. Если по окончании . такого цикла
обучающийся в целом хорошо представляет, каким обра,зом
функционирует микропроцессорная система и как организуется
взаимодействие технических и программных средств, то можно
полагать, что обучение было успешным.
Предметом настоящей: книги яв-ляется детальное изложение
процесса работы микропроцессорной системы. В общем курсе
по микропроцессорам обычно делают ссылки на многие частные
аспекты этого процесса, предпочитая, как правило, .их не описы
вать. В книге обсуждаются реальные системы, построенные на
базе микропроцессоров. По мере ознакомления с конкретной
системой подробно разбирается взаимодействие ее компонент.
Рассматриваются схожие системы с вариацией лишь основной
компоненты - микропроцессора, который выбирается из четырех
основных типов - 8080, 8085, Z80, 6800. При этом система моди
фицируется, чтобы учесть частные особенности выбранного мик
ропроцессора, а ее основные функции остаются неизменными.
Это позволяет провести сравнение отличий и сходных черт раз- .
личных микропроцессоров.
Основной акцент в книге сделан на технические средства.
Программное обеспечение обсуждается лишь в той мере,-в :t<а
кой это необходимо для освещения вопросов управления техни
ческими ср·едствами. При~ы nрограммирования здесь не затра
rиваются, поскольку составляют предмет отдельноrо изложе
ния.
Основная цель книги заключается в том, чтобы помочь чи
тателю в использовании описанных микропроцессоров при по
строении и отладке технических средств системы в целом.
Все описанные в книге системы были реализованы и испы
таны. Они используются на практике. Применяемые интеграль- •
ные схемы являются стандартными изделиями, серийно выпус
каемыми промышленностью, что обеспечивает возможность их·
приобретения, проверки и использования.
•
•
Определенное место отводится изложению вопросов отладки·
различных микропроцессорных систем. Это необходимо, чтобы
убедиться, что технические средства функционируют в соответ
ствни с заложенными требованиями. Для поиска неисправностей
применяется· методика, именуемая «Тестирование посредством
статических сигналов». Также описана несложная техника и
8
Пред1о1словие автора
-средства отладки, которые могут быть использованы для боль
шинства систем.
Необходимая справочная информация по интегральным схе
мам .(ИС), используемым в различных устройствах, взята из до
кументации фирм-изготовителей, так что читатель имеет все
данные для проектирования. В книге описываются реальные
схемы с реальными характеристиками. Выводы всех ИС про
маркированы, а каЖдi!я схема детально описана.
Характеристики рассматриваемых схем рассчитываются, что
позволяет читателю глубже понять· возможности применения
микропроцессоров, по мере ознакомления с которыми появляют
ся настоящий интерес и ·желание реализовать полученные зна
ния. Практическое воплощение при этом ограничивается .лишь
способностями и воображением проектировщика либо наличны
ми ресурсами.
В будущем, возможно, появятся новые сферы применения
микропроцессоров, о которых сегодня и не мечтают.
Дж. Коффрон
Глава 1
ВВЕДЕНИЕ В АРХИТЕКТУРУ
МАШИН С 3 ШИНАМИ
В настоящей главе мы обсудим общую архитектуру микропро
цессорных систем. Рассматриваемые системы представляют
особый интерес для тех, кто только приступает к изучению мик
ропроцессоров. После общего описания организации микропро
цессорной системы мы покажем особенности реализации типич
ной системы путем использования различных микропроцессо
ров: 8080, 8085, 280 и 6800.
По мере совершенствования технологии постепенно выраба
тываются предпочтительные способы исполнения изделий. При
этом на этапах проектирования, производства, испытаний, от-·
падки, установки и использования издеJUlй применяются более
или менее стандартные методы. То же относится и к микропро
цессорам. Несмотря на относительную молодость J,t:икропроцес
сорной техники и на постоянно расширяющееся · число микро
про1\ессорных систем и их пользователей, в вопросах организа·
ции, структуры и архитектуры систем, в методах обработки
данных, в уровнях логических сигналов, в анализе отказов и в
интерфейсе с устройствами ввода-вывода уже выработался ряд
ст11ндартов. Поэтому назрела необходимость в одной кню:е
рассмотреть устройства 8080, 8085, Z80, 6800. Начиная с описа
ния единой архитектуры с 3 шинами, общие черты систем, по
строенных на базе указанных микропроцессоров, последова-/
тельно обсуждаются во всех главах.
•
При рассмотрении реальных систем с микропроцессорамп
мы опишем лишь те специальные интегральные схемы (ИС),
предназначенные для использования с ·конкретными микропро
цессорами, которые необходцмы для понимания общих принци
пов работы системы. По мере возможностей будут использо
ваться обычные широко распространенные ИС. Если мы будем
понимать, каким образом работает микропроцессорная система~
построенная с помощью стандартных логических блоков, реали
зация этой системы со специальными логическими блоками не
составит большого труда.
1.1.
Архитектура сметем с 3 шинами
Архитектура с 3 шинами является наиболее общей для микро-
процессорны~ систем. Шиной 5~9'~!! .§1.~~.! ! f !!9.!__ __физи~
~руппу. ЛИНИИ переда ЧИ сигналов, ИМеЮЩИХ С~ОЖJ!е. Шi~i.КЦИНВ •
.
1
-
!О
Гnе■е
Рис. 1.1 . Два примера физической реализации шины системы.
а - шина специального исполнения, состо,ящая нз гибких п~оводов; б - шина, выпол·
ненная в виде печатной схемы.
рамках .си~ Например, некQторая группа линий м~жет 'ис
пользоваться для передачи сигналов адреса памяти. Эту rруп
пу линий можно назв·ать адресной шиной. На рис. 1.1 показа-
.ны
два примера различной физической реализации шин. Все
три шины являются специализированными с точки зрения их
функций. Эти шины именуются так:·
1. Адресная шина системы.
2. Шина данных системы.
3. Шина управления системы.
Логическое состояние этих трех шин описывает коммуника
ционный тракт системы в любой момент времени. Коммуника
ционный тракт - это путь, который данные, представленные в
виде электрических сигналов, проходят в системе от одной точ
ки к другой.
1.2 .
Адреснвя wннв системы
По адресной шине системы передаются лишь выходные сигна
лы, которые поступают с выводов в корпусе микропроцессара.
Эта шина предназначена для того, чтобы открывать или выби-
Ваеденме а архитектуру с 3 wм11емн
н
рать правильный тракт для электричес~s:оrо соединения в преде-
л ах микропроцессорной системы.
.
Для удобства будем в дальнейшем полагать, что все э.лект•
рические соединения в микропроцессорной системе осуществля
ются между микропроцессором и устройс-rвом, открытым с по
мощью адресной шины. В качестве устройства' здесь выступает
любая электрическая схема, принимающая данные от микро
процессора либо. вырабатывающая данные для него. (Позднее·
мы покажем, что это не всегда справедливо для систем, управ
ляемых_ микропроцессором.) Для начинающих изучение микро
процессорных систем подобное ограничение способствует лучше
му пониманию материала. После того как поняrие описываемо
го здесь коммуникационного тракта дано, легче объяснить осо
бенности других коммуникационных трактов, имеющихся в мик
ропроцессорной системе. .
-
Другой важной характеристикой адресной шины системы яв-
ляется ее емкость. Емкость шины определяется числом входя
щих в нее отдельных электрических пиний. Для микропроцес
соров 8080, 8085, Z80, 6800 характерна 16-разрядная адресная
шина. Это о;шачает, что адресная шина систем, построенных на
базе этих микропроцессоров, компонуется из 16 физических пи
ний.
1.3.
Wинв двнных системь1
Шина данных системы является двунаправленной шиной. Это
означ<).ет, что передача данных может производиться в обоих
направлениях. В некоторых случаях данные генерируются мик
ропроцессором и передаются от него к определенному устройст
ву системы. Это устройство открываете.я с помощью заданного
логического состояния линий адресной шины и поп·учзет данные
с шины данных.
_
В других случаях данные генерируются каким-то источником
и передаются микропроцессору посредством шины данны~с
В качестве источника выступает то устройство системы, которое
открывается с помощью адресной шi;щы.· Подобный режим на
зывается вводо;м данных в микропроцессор.
Хотя передача данных по шине данных может производить
ся в обоих направлениях, однако в каждый ·заданный момент,
времени она осущестrшяется лишь в одном направлении. Это
означает, чт.о для передачи данных в систему и их приема из
системы •микропроцессор переводится в соответствующий ре
жим. Более того, _по всем разрядам шины в каждый момент
времени данные передаются лишь в одном направлении, t. е. в
любой момент по всем пиниям шины они могут либо только.
вводиться либо только выводиться.
Для микропроцессороs 8080; 8085, Z80 и 6800 шина данных
является 8-разряд1:10й. Поэтому говорят, что емкость ши.ны дан-
12
Глава 1
ных равна 8 разрядам и параллельно могут передаваться лишь
8 бит информации. По этой причине перечисленные микропро
цессоры относят к классу 8-разрядных ми_кропроцессоров.
1.4 .
Wинв упрввnения системы
На шине управления действует 4 следующих типа сигналов:
1. Чтение из памяти активизировано.
2. Запись в память активизирована.
3. Чтение с устройства ввода активизировано.
4. Запись на устройство ввода активизирована.
Микропро
цессор
Адресная шина
Шина данных
Шина управления
16 адресных линий
Ao-A1s
8 линий шины данных
Do-D1
4 линии шины управления:
ЧТЕНИf ИЗ ПАМЯТИ,
ЗАПИСЬ В ПАМЯТЬ,
ЧТЕНИЕ С УСТРОЙСТ5А
ВВОДА, ЗАПИСЬ НА УСТ
РОЙСТВО ВЫВОДА
Рис. 1.2 . Блок-схема системы с 3 шинами. По адресной шине и шине управ-.
ления сигналы передаются лишь в одном направлении (однонаправлещ1ые
шины). Шина - данных является двунаправленной, что показано стрелкой,
имеющей два •направления.
Позднее для этой шины мы введем некоторые добавочные
сигналы. Однако для понимания существа процессов пока не
обходимо ограничиться указанным списком_ сигналов. После то
го как станут ясны функции этих четырех сигналов, будет лег
че изучать функции других сигналов.
Шина управления используется лишь длs~: вывода сигналов,
~ т. е. является однонаправленной и работает лишь в режиме вы
вода. Напротив, шину данных мы рассматриваем как двуна-
правленную.
_
Термин «активизирован» означает, что при наступлении со~
бытия, запрашиваемого соответствующей линией щины управ,
ления, эта линия имеет активный сигнал логического уровня 1
йли О. В микропроцессорных системах активное состояние ли
ний шины управления может быть либо логической 1, либо ло-
Введение в архитектуру с 3 wинами .
/
..1s
гическим О. При этом различные линии системы могут быrь ак
тивнымu при разных уровнях логического сигнала. Например,
линия управления ЧТЕНИЕ ИЗ ПАМЯТИ может быть актив
ной при логическом уровне 1, а линия управления ЗАПИСЬ'
В ПАМЯТЬ - при уровне О.
Распознавание и инициирование типа электрического сое.ди•
пения для шины данных системы является' функцией сигнала
шины управления. Необходимо заметить, что линия управле
ния может быть активизированной и при уровне логической 1,
и при уровне логического О.
На рис. 1.2 архитектура систем с тремя шинами показана
в виде блок-схемы, из которой видно, что стрелки, со
ответствующие адресной шине и шине управления, указывают
лишь на одно направление. Это говорит о том;, что эти шины
однонаправленные. Для шины данных на рис. 1.2 стрелки ука
зывают на два направления, что соответствует двунаправлен
ной шине. Принятые нами. обозначения часто используются в
литературе для описания этих шин.
t .5.
Испоnьэоввние архитектуры с 3 шинами
Теперь мы обсудим общие принципы передачи информации в·
микропроцессорной системе, имеющей архитектуру с 3 ·шинами.
Прежде всего необходимо пояснить основные фуf(кции, реали~
•зуемые микропроцессорной системой. После этого можно будет
перейти к рассмотрению особенностей их выполнения.
Для первоначального знакомства с микропроцессорами дD4
статочно рассмотреть лишь пять • функций, описанных ниже; •
позднее список этих функций может быть расширен. Такие
фуикции хорошо отображают возможные операции, выполняе
мые в микропроцессорной системе. К ним относятся:
1. Запись данных в память системы.
2. Чтение данных_ из памяти системы.
3. Запись данных в устройство ввода-вывода.
4. Чтение данных с устройства ввода-вывода.
5. Выполнение операций с содержимым внутренних регист
ров микропроцессора.
Указанные пять возможных тиriов функций микропроцессор
ной системы позволяют создавать большое число разнообраз
ных средств. Рассмотрим, каким образом эти функции могут
быть ре_ализованы посредством архитектуры систем с 3 шинами.
f.6 .
Звnмсь данных• nвм11ть
Чтобы понять, каким об_разом в микропроцессорной системе осу
ществляется запись данных в память, необходимовыяснитьосо~
бенности передачи данных в память от любого янешнего источ•
14
Гnа■а 1
ника. С этой целью :мы приведем временную диаграмму общего
процесса записи данных в полупроводниковую память 1 >, после
рассмотрения которой будет легко показать особенности исполь
зования системы с 3 шинами для выполнения этой операции.
_ Послед ующее
обсуждение относится к рис. 1.3. Отметим, что
адресные входы памяти на рисунке маркируются как A6-An,
Адресная ~'пина Ао-Ап
=х----}
Шина данных 0 0 -Dп
~Х
v-}
1
~
11
1
1~
~
11
1
j
:
,,il.
Импульс
j
РАЗРЕШЕНИЕ/
ЗАПИСИ В 1
.
-
ПАМЯТЬ 1
/
1
время 1
1
:ДОСТУПА! ТWP 1
'
ПРИ .. ,,.
:,,1
I ЗАПИСИ I
J
А,
Do
о,
Адресt1ые
Входы
. данных
памяти
Рис. 1.3 . Упрощенная временная диаграмма трех сигналов, необходимых для
реализации цикла ЗАПИСЬ В ПАМЯТЬ для цолупроводниховой памяти.
где An характеризует максимальное число адресных линий, не
обходимых для данного блока памяти. Например, если память
организована как 1024XI, то для обеспечения доступа к любой·
ячейке памяти необходимо 10 линий, и адресные линии будут
обозначаться как Ao-Ag.
,
Линии данных маркируются как Do-Dn, где Dn характери
зует максимальное число линий данных памяти. Например, если
память организована как 256Х 4 бит, необходимо четыре линии
данных. Линии данных такой памяти обозначаются Do-D.з.
Заметим также, что как адресн~е входы._ так и входы дан
ных должны быть активизированы после выдачи сигнала раз-
1> Для углубленного изучения функционирования полупроводниковой па-.
мяти см. Coffron J. W ., Getting Started in Digltal TrouЬ!eshootiпg, Reston Pub-
llshing Со., Reston, VА, 1979.
В■ едеttИе в архитектуру с 3 wннамк
15
решения записи. Термин «активизировать» здесь означает пода
чу на адресные линии и линии данных .уровня напряжения, со
ответствующего логическим 1 или,О и удовлетворяющего приня- .
тым для используемого семейства логических схем параметрам.
Например, если в системе используются схемы семейства TTL,
то активизация логической I соответствует интервалу 2,4-5.О В,
а логического 0-0,0-0;4 В.
Интервал времени, в течение которого должны сохраняться
активизированными адресные и информационные входы до вы
дачи сигнала разрешения записи, для различных устройств раз
ный. Например, для устройств памяти типа МОП (металл -
окисел - полупроводник) этот интервал составляет 200 нс, а
для памяти на схемах TTL - 30 нс. Для точного определения
временных соотношений следует ознакомиться с технической
документацией на соответствующие изделия.
Анализируя рис. 1.3, важно подчеркнуть, что вне зависи
мости от конкретных временных соотношений сигналов для за
данного устройства памяти микропроцессорная система должна
удовлетворять" всем существующим временным параметрам для
устройства памяти данного типа. Если же эти временньrе соот
ношения не соблюдаются, то надежной взаимосвязи между мик
ропроцессором и памятью системы обеспечить не удастся.
Для того чтобы успешно реализовать обработку сигнала
записи в память в системе с 3 шинами, на шинах системы необ
ходимо выполнить следующие действия:
1. На адресной шине А0-А 15 должен быть активизирован
адрес памяти (т. е. адрес ячейки, куда записываются данные,
генерируемые микропроцессором, с шины данных).
2. На шину данных D0-D1 доJiжны поступить данные из
микропроцессор.а. (Эти данные необходимо записать в ячейку,
адрес которой содержится на адресной шине.)
3. После осуществления действий I и 2 на линию запис1:1 в
память шины управления должен поступить соответствующим
образом синхронизированный импульс разрешения записи тре
буемого уровня напряжен~я. При этом осуществляется переда
ча данных. Таким образом, шина управления производит управ
ление системой посредством соответствующим образом синхро
ни:щрованных импульсов.
Однако существует ряд дополнительных действий, которым
также необходимо уделить внимание. Об этих действиях бvдет
говориться ниже при реализации систем с 3 шинами на базе
конкретных. микропроцессоров. Схемы, реализующие их, проще
описывать при более детальном ознакомлении с системой. В на
стоящей главе раскрываются лишь общие вопросы функциони
рования микропроцессоров.
При обсуждении. мы наме.ренно. опускаем частщ,1е детали.
Это объясняется стремлением п0яснить общие принципы функ-
16
Гл11111 1
ционирования •микропроцессорньiх систем с 3 шинами прежде,
чем рассматривать реальные системы.
Из обсуждения рис. 1:3 ясно, каким образом си·гналы раз
личного логического уровня на каждой из шин (адресной, дан
ных, управления) взаимодействуют ~ежду собой при формиро
вании необходимой входной информации при записи данных в
память системы. Шины системы обеспечивают надежное соеди
нение микропроцессора с памятью системы путем формирова
ния необходимой комбинации сигналов па входах памяти.
1.7.
Чтение двнных из пвмяти
Покажем, каким о_бразом в системе с 3 шинами реализуется
чтение данных из памяти. Кратко рассмотрим Ьсн9вные особен
ности чтения данных из любой полупроводниковой памяти. На
Алрссная 11н~на А 0- А n
=х_______
1
[
11
Чтен11е данных
~Шина данных [\п-Dе___ .i :; .. _
Л1шия 1
управnения 1
1
~·
чтением из 1
-
памяти
1
1
[
1-
1,_
1
т дсс
I Данныt> из памяти подаютсн
1-<I
<'---~с::_-~➔ 1 на ШIIHY данных по ИМПУ,ЛЬС)
1
1т1ни11 управле ння ЧТЕНИЕ
tЛ ПАМЯТИ
Рис. 1.4 . Типичная временная диаграмма цикла ЧТЕНИЕ ИЗ ПАМЯТИ.
рис. 1.4 приведена типичная временная диаграмма RЫполнения
операции чтения данных из пам,яти. Отметим, что в соответст
вии с рис. 1.4 адресньrе линии A0-A .n должны быть активизи
рованы с сохранением стабильного уровня сигнала до момецта
времени, когда данные из памяти поступают на шину данных
по сигналу соответствующей линии шины управле~ия. Вспом-.
ним, что данные в си,стеме передаются из одного-устройства в
другое посредством шины данных. Для выполнения этой опер'З.
ции шина данных переводится в такой режим, при котором л.о
гические уровни на этой шине соответствуют данным, хранимым
в памяти. И наконец, сигнал шины управления определяет нуж
ный момент выдачи данных из памяти на шину даннЬiх. Таким
'Введение в. архитектуру с 3 шинами
17
образом, чтобы реализовать операцию чтения данных из памя
ти системы, необходимо выполнить сле.ду.ющие действия:
1. Обеспечение стабильных уровней сигналов на адресной
шине Ao-An.
•
2. Подготовка шины данных для приема данных (т. е. она
переводится в режим приема· дашtых •в микропроцессор).
3. После реализации шагов 1 и 2 активизация шиной управ
ления .т:щнии управления чтением из памяти. При этом данные
из памяти поступают на шину данных и могут быть восприня~
ты микропроцессором. Как видим, реализация операции чте
ния из памяти предполагает взаимодействие сигналов соответ
ствующих логических уровней на всех трех шинах.
1.8 .
Звnись мнных в устройство вывода
В микропроцессорной системе слово «память» имеет вполне оп
ределенное значение, а именно оно ассоциируется с некоторой
схемой или множеством схем, с которыми можно легко связать.
функции чтения и записи. Иначе обстоит дело с понятием «у_ст
ройство вывода», оно определено не достаточно четко. Устройст
вом вывода может быть и построчное печатающее устройство, и
табло на светоизлучающих диодах, и электронно-лучевая труб
ка (ЭЛТ), и кассетный накопитель, и гибкий диск и любое дру
гое устройство микропроцессорной системы. В интересах после
дующего изложения определим устройство вывода следующим
образом:
«~T,P-. Q!iCTBO !_3ЫВ()дса_-::::-_~;? - ~ I??()e. Jg,QО_йст~_g__пц,мя.r~
1!0.ОWИНимающее_ дан1Jм~~---л~рrn~ае.мм~__Q .!. ..М~кропроцессора1
_Такой
подход к определению устройства вывода позволяет-
представлять ero в виде устройства, способного принимать от l
до 8 бит в параллельном режиме. Причем .прием данных осу
ществляется в том с.11учае, если на -шине управле~ия активизи...
poi;Jaнa линия управления записью на устройство вывода.
Функционирование устройства вывода, так же Ki}K и функ
ционирование памяти, можно рассмотреть с позиции взаимодей
ст~;Jия электрических сигналов. Отличие заключается Jiишь :в
том, что устройство вывода осуществляет обработку сигнала уп
равления, а память системы - нет. Так микропроцессор 680()
одинаковым образом про·изводит запись данных в память и в.
устройство вывода. Это справедливо для многих микропроцес
соров. Системы, в которых реализуется подобное взаимодейст
вие, иаз~вают системамlt -с организацией вывода по аналогии
с обращением к памяти. Изложенное должно помочь начинаю
щим изучение микропроцессорных систем понять, что отличие
между организацией обмена с памятью и с устро~ствами вы.. _
вода в таких системах невелико.
2-814
18
Глава 1
Каждому устройству вывода приписан свой адрес, подобный
адресу памяти системы. На рис. 1.5 показана в упрощенном ви
де временная диаграмма записи в устройство вывода. Из рис.1.5
важно понять, что адрес устройства вывода и выводимые дан
ные поступают на соответствующие шины до того, как шиной
управления системы будет выдан импульс разрешения вывода.
,оnерация записи в устройство въшода выполняется путем реа
.лизации следующей последовательности действий:
•
Адрес устройства
~ /вывода доступен
Данные дл,1 устройства
Do"-07 /ВЫВОда доступны
----v
Импульс
устройства вывода
• РАЗРЕШ~НИЕ ЗАПИСИ\____/
-
Рис. 1.5 . Упрощенная временная диаграмма операции ЗАПИ(;Ь В YCTPOFI-
CTBO ВЫВОДА для системы с 3 шинами.
1. Обеспечение стабильных уровней сигналов А0-А15, соот
ветствующих адресу устройства вывода. В некоторых системах
для адресации устройства вывода используются не все. 16 ад
ресных линий. Более подробно этот вопрос будет изложен позд
нее, когда будет -рассматриваться система с 3 шинами на базе
реального микропроцессора.
2. Обеспечение на шине данных D0-D7 стабильных уровней
·сигналов, соответствующих данньJм, которые должны быть за
писаны в устройство вывода.
3. После выполнения шагов l и 2 подача на шину управле
ния сигнала разрешения записи в устройство вывода.
Рассмотренная выше операция зациси данных в устройство
вывода выявляет функцию каждой шины системы. При реали
зации этой операции все три шины фудкционируют во взаимо
действии друг с другом. И используя их, система устанавливает
надежную связь между микропроцессором и устройством вы
вода.
Введен.не в •рхнтектiру: с 3 wннамн
1.9.
Чтение двнных с устроЯствв ввода
В качестве устройства ввода микропроцессорной системы мо
жет р;з.ссматриваться любой источник, кроме 11амя'Ги системы,.
способный передавать данные микропроцессору. А_анные И:! уст;
ройства о а пе есылаютс •
оп о ессо JJQ запросу по~
е н го. В качестве примера устройства ввода можно назв~ть.
клавишный пульт терминала с ЭЛТ. Данные с пульта посту
пают ~ микропроцессор по его запросам.
А-А
Адрес устройства ввода доступен
~-<
___
•______________
Данные поданы
_0_0 -_о_7______-- ,. на
шину данных _____
Импульс ЧТЕНИЕ С ,
УСТРОЙСТВА ВВОДА
на линии управления
Рис. 1.6 . Временна!f диаграмма цикла ЧТЕНИЕ С YCTPOFICTBA ВВОДА.
показывающая основные сигналы шины.
В некоторых системах микропроцессор не делает различия
между чтением с устройства ввода и ·из памяти системы. Подоб
ное замечание ранее было сделано относительно устройства
вывода. Если микропроцессорная система не различает чтение
данных из памяти. и с устройства ввода, то говорят, что в систе
ме используется ввод данных по аналогии с обращением к па
мяти. Архитектура системы подобного типа упоминалась в свя
зи с записью данных на устройство вывода.
Наиболее типичным примером системы, в которой ввод-вы
вод данных реализуется по аналогии с обращением к памяти.
является микропроцессор 6800. Более подробно этот вопрос
будет изложен в последующих главах при рассмотрении прин
ципов построения систем с 3 шинами на базе устройства 6800.
На рис. 1.6 представлена временная диаграмма, показываю
щая взаимосвязь между тремя шинами. Из этогорисункавидно,
что адрес устройства ввода поступает на адресную шину до то
го, как на шину' управления подается сигнал управления t~теци-
20
Глава 1
ем с устройства ввода. В течение промежутка времени, пока на
шине управления сохраняется этот сигнал, данные с устройства
ввода передаются на шину данных.
Сравнивая рассмотренные до сих пор временные диаграммы,
можно заметить,_ что синхронизация процессов при чтении дан
ных из памяти и с устройства ввода схожа. То же самое отно
сится и к синхронизацщ1 процессов при заnиси данных в память
и на устройство вывода. Как уже упоминалось, с помощью боль
шинства микропроце.ссоров можно строить системы, в которых
нет различия между записью данных в память и на устройство
вывода либо чтением данных из памяти и с устройства ввода,
.
.
'
1.1 О.
Опервции с внутренними реrистрвми
Операции с внутренними регистрами представляют собой пятую
функцию из ряда основных, реализуемых •микропроцессорной
системой. Примером такой операции может служить операция
ADD, по которой содержимое внутреннего регистра микропро
цессора складывается с содержимым аккумулятора. Для раз
ных микропроцессоров существуют особенности вр1полнения
этой_ операции, однако при этом все необходимые действия реа
.лизуются внутри «единственного кристалла» микропроцессора,
так что виешние шины сист~мы не используются.
В начале нашего обсуждения мы установили,- что. пять irере
Gисленных функций микропроцессора позволят начинающему
читателю адекватным образом· описать _большинство ·процессов
в микропроцессорной системе. Позднее мы обсудим некоторые·
дополнительные функции, а пока основное внимание будет со
-средоточено на пяти указанных, которые постоянно использу-_
ются вне зависимости от сложности программного обеспечения
-системы. В качестве примера рассмотрим в общем виде выпол
нение команд в микропроцессорной системе. После этого ста•
.нет очевидной периодическая повторяемость nяти основных
функций.
1.11 .
Выпоnнение комвнд в системе с 3 шинами
Основная последовательность действий: при выполнении любой
команды такова:
1. Микропроцессор выдает в память адрес, по которому хра-:
;нится код операции команды.
2. Код операции читается из памяти и вводится в микро•
nроцессор (функция 2).
3. Команда дешифрируется микроп·роцессором.
4. Микропроцессор «настраивается» на выполнение одной иэ
пяти основных функций в соответствии с результатами дешиф~
рирования считанного кода операции.
Введение в архитектуру- с 3 wинами
21'
5. • Предцоложим, что бЫJiа считана команда с непосредст
веtшыми данными. По этой команде в один из внутренних ре
гистров микропроцессора загружается константа. Микропро
цессор настраивается на чтение второго байта данных из памяти~
6. Второй байт данных из· памяти загружаетсst во внутрен
ний регистр микропроцессора (функция 5).
Главное здесь з·аключается. в том·, что . вне зависим·ости от
кода операции микропроцессор настраивается на выполнение
одной из пяiи рас.смотренных выше функций.·
Снова подчеркнем, что существуют и ·другие реализуемые·
системой функции, например прерывание, прямой доступ к па
мяти· (ПДП), ожидание. Эти функции будут обсуждаться в по
следующих главах. Однако вполне возможно спроектировать
управляемую микропроцессором систему, в которой не исполь
зуются никакие дополнительные функции, за исключением пяти
приведенных выше. Позднее рассмотрим проектирование
таких систем. Однако чтобы не оказаться во власти заблужде
ния, следует помнить, что приведенный здесь подход к проекти- .
рованию имеет не только методологическое значение и оказы
вается весьма эффективным при настройке, проектировании и
. отладке
многих систем, управляемых микропроцессорами.
1.11.
Упрввnение синхрониэвцие~ сис,:емы
При изучении различных временнь1х соотношений, соблюдение.
которых необходимо для реализации пяти основных функций,
возникает естественный вопрос: каким образом осуществлять
правильную синхронизацию всех сигналов? Фундаментальная
особенность использования микропроцессоров при проектирова
нии систем заключается в следующ~м: синхронизация всех сиг
налов в системе осуществляется схе~ами; входящими в •состав
кристалла микропроцессора.
При ,обработке микропроцессором программной команды
чтения из памяти выработка и синхронизация необходимых сиг-.
налов для фррмирования адреса, для выборки даиных и для
управления осуществляются самим микропроцессором.
"
,
Пользователи микропроцессора должны знать синхрониза
цию всех его сигналов. Это способствуег правильному использо
ванию временнь1х соотношений при проектировании системы.
Такой несколько упрощенный .подход позволяет достаточно точ
но представить функцищшрование большого числа существую·
щих микропроцессоров.
В дальнейшем этот подход будет использован при проекти
ровании микропроцессQрных систем на базе устройств 8080.
8085, Z80, 6800.
•
22
Глава 1
1.13.
Выводы
В настоящей главе была рассмотрена архитектура типичной
микропроцессорной системы с 3 шинами. Эти три шины вклю ◄
чают: адресную шину; шину данных; шину управления.
При реализации общих системных функций было также
показано взаимодействие сигналов различного уровня, подавае◄
мых на эти шины. 1( этим функциям относятся:
1. Запись данных в память системы .
. 2. Чтение данных из памяти системы.
3. Запись данных в устройство вьtвода системы.
4. Чтение данных с устройства ввода системы.
5. Выполнение операций с внутренними регистрами.
Было показано, каким образом эти основные функции реа"
лизуются в системе с 3 шинами.
Основные положения настоящей главы применимы к l'!есьма
широкому кругу микропроцессорных систем. В . последующих
главах эти общие положения будут использованы при построе•
нии реальных микропроцессорных систем. В гл. 2 определяется
архитектура систем с 3 шинами на базе существующих схем
микропроцессоров 8080, 8085, Z80 и 6800. В проектируемых уст•
ройствах рассматриваемые в главе общие положения приобре•
тают практический смысл.
Глава 2
ПОСТРОЕНИЕ СИСТЕМ С 3 ШИНАМИ
НА БАЗЕ УСТРОЙСТВ 8080, 8085, Z80 и 6800
В настоящей главе будет рассмотрено, каким образом архи
тектура систем с 3 шинами может быть реализована с исполь
зованием реальных микропроцессоров. Одновременно будут об
суждаться микропроцессоры 8080, 8085, Z80 и 6800, для каждо
го из которых будут спроектированы шины ,адресная, данных
и управления.
В процессе проектирования этих шин будут рассмотрены осо
бенности реализации шин для каждого микропроцессора. В гла
ве приводятся реальные схемы. Они могут быть использованы
в качестве центрального процессора (ЦП), построенного на лю
бом из рассматриваемых микропроцессоров. После построения
шин будут обсуждены вопросы интегрирования памя,ти, уст
ройств ввода и вывода в рамках одной микропроцессорной сис
темы. Эти вопросы поднимаются в настоящей и последующих
главах.
2.1 .
Пояснения к адресной шине системы
При проектировании адресной шины прежде всего оценивают
величину токовой. нагрузки, при которой каждая адресная шина
работает удовлетворительно. Адресные линии в микропроцес
сорной системе связаны cq множеством адресных входов, под
ключенных параллельно, как это показано на рис. 2.С Если
для адресной линии характерен ток, по величине превосходя
щий допустимое значение на выходе микропроцессора, то такую
линию необходимо буферировать.
Под буферированием понимают такую/ процедуру, при кото
рой адресная линия снабжается средствами «съема» избыточ
ИРГО тока. Например, предположим, что адре~ные лин~и микро
процессорной системы должны управлять адресными входами
четырех блоков памяти и двух портов ввода-вывода, что пока
зано на рис. 2.2 . Не будем обсуждать правомерность' приве~ен
ных в схеме соед}!неций. Этот вопрос раскрывается в гл. 3.
Просто допустим, что приведенные соединения возможны.
Величина тока в адресной линии, управляющей блоками па
мяти и устройствами ввода-вывода, равна сумме входных токов
всех четырех блоков памяти и двух портов ввода-вывода. Пусть
Глава 2
в качестве памяти используется оперативное запоминающее уr:r
ройство (ОЗУ) 1024Х4 бит типа 2114.
По техническим характеристикам устройства 2114 видно, что
нагрузка каждого входа равна 1О мкА и не зависит от логичес"
кого состояния адресной линии. Это означает, что общая на"
грузка от микропроцессора на адресной .чинии при работе с па"
мятью есть 4Х10 нли 40 мкА.
.
_
Микропроцессор
+5В
Адресная шина
-=
-=
-=
Рис. 2.1 . Подсоединение к адресной •шине микропроцессора нескольких
устройств (нагрузок). На схеме показаны четыре нагрузки.
Далее допустим, что при построении входных портов рис. 2.2
используются устройства 74LS (маломощные устройства Шот
тки). Это означает, что каждое устройство вывода системы соз
дает на адресной линии нагрузку, соответствующую ~стандарт
ной для 74LS. Согласно техническим характеристикам 74LS,
эта нагрузка равна 20 мкА при сигнале логической 1 и 0,4 мА
при логическом О. В табл. 2.l приведены значения суммарной
нагрузки на адресной линии системы, показанной на рис. 2.2.
Из табл. 2.1 видно, что максимальная нагрузка на адресной ли
нии для состояния логической 1 равна 80 мкА, а для состояния
логического 0-840 мкА.
Тип памяти
2114
Таблица 2.1
Примерная нагрузка для адресной линии Ао (рис. 2.2)
Нагрузка (мкА)
Для одного блока
1О мкА ( логическая 1)
Для всей памяти /
Тип .УСТройсrва ввода-
10 мкА (логичес:кий О)
Для каждого устройства
400 мкА (логический О)
20 мкА (логическая 1)
40 мкА (логическая 1)
40 мкА (логический О)
Для всех устройств
800 мкА (логический О)
40 мкА (логическая 1)
вывода 74LSXX
Общая нагрузка
40 мкА+800 мкА=840 мкА (логический О)
40 мкА+ 40мкА= 80мкА (логическая 1)
Микропроцессор
4 кристалла памяти
2порта ввода-вывода
Рис. 2.2 . Использование адресной линии А.о, исходящей из микропроцессора,
для управления четырьмя линиями памяти и дву1;1я портами Е!!юда-выиода .
(заземление на схеме не показано).
Микропроцессорная
•
система
Длинный кабель
Устройство ввода-выв о~.
например, построчно печ;:
тающее устройство
Рис. 2.3, Микропроцессорная сж:тема может использоваться с устро.lктвом
вывода типа построчно печатающего устройства, которое может соединяться
с системой посредством длинного кабеля. Такой кабель 'обладает большой
емкостью, поэтому для передачи по нему сигнала необходимо использовать
специальные схемы.
26
Глава 2
После того как на адресной линии приблизительно оценена
максимальная нагрузка, сравним ее с допустимой, определяемой
характеристиками используемого микропроцессора. Например,
для микропроцессора 8080 максимальная допустимая нагрузка
на адрес11ой JJИIIИИ в состоянии логического О есть 1,9 мА, а в
состоянии JЮrической 1-150 мкА. Сравнивая эти данные, ви
дим, что в обоих случаях (при логических 1 и О) рассчитанная
нагрузка меньше допустимой.
•
----J/1
1
1
1
1
1
___,;/v =
1
1
1
Форма импульса на переда
·Lющем конце кабеля
Искаженный·импульс на
~ приемном конце кабеля
Рис. 2.4 . Небуферированиыii сигнал, передаваемый по длинному кабелю, мо
жет искажаться. Искажение может оказаться настолько значительным, qто
на приемном конце принимается ложный сигнал.
В приведенном примере микропроцессор в состоянии непо
средственно управлять памятью и устройствами вывода. В бо
лее мощных системах он осуществить такое управление не
сможет. Если нагрузка по току на адресных линиях превышает
его возможности, возникает необходимость введения буферов.
Однако при этом необходимо рассмотреть ряд дополнительных
факторов.
Введение буфера адреса требует тот факт, что адресные ли
нии рассчитывались на большую емкостную нагрузку. Приме~
ром емкостной нагрузки является кабель очень большой длины,
иными словами - устройство вывода, подсоединенное к систе
ме с помощью длинного кабеля. Подобная ситуация показана
на рис. 2.3. Здесь для поддержания электрических характери
стик сигнала перед его передачей по кабелю для адресных ли~
ний необходим буфер. Причиной: этого служит большая емкост~
кабеля. При ограниченных возможностях по формированию то
ка, как показано на рис. 2.4, сигнал, поJ1учаемый на приемном
конце кабеля, будет искажен.
.
Другим примером, где, возможно, необходимо буферирова
ние адреса, является система, в рамках которой адресные линии
соединяются с различными платами. При этом микропроцессор
монтируется на одной плате, а адресные линии проходят через·
Построение систем с 3 шинами
Zl
торцевой разъем и соединяются с другой платой в пределах од
ной системы. Подобная ситуация иллюсrрируется схемой
рис. 2.5 . Такая система характеризуется очень высокой емко
стной нагрузкой на отдельных линиях, проходящих через тор
цевые разъемы и заднюю поверхность основной платы.
В случае когда целесообразность буферирования сомнитель
на,. полезно помнить простые правила. Исп.ользуйте буферы ад
реса:
Плата
:микропроцессора
.Jыход адресных rт11ннй
Печатная
пщ~та 2
Печатная
плата 3
. Адресные
л~
Входы адресных линий
Рис. 2.5. Блок-схема типичной системы, в которой адресные линии, начинаясь
на одной печатной схеме, проходят на другую в пределах системы. Здесь
необходимо использовать буферы адреса иа плате, откуда исходят адрес-
ные линии.
1) если нагрузка по току для любой адресной линии приме
няемого микропроцессора приблизительно равна или больше
номинальной.
2) если адресные линии . соединены с какой-либо схемой,
расположенной вие платы, на которой генерцруются соответст-
вующие сигналы.
•
2.2.
Выбор требуемых буферов адреса
После решения вопроса о необходимости буферирования сле
дует выбрать подходящие буферы. При выборе буферов необ
ходимо проанализировать большое число факторов. При этом
многие проектировщики имеют склонность к тем или иным ycr•
ройств1;1.м. Ниже приводятся правила, которые могут помочь в
решении этой задачи. .
1. Используйте неинвертирующий буфер. Хо.тя это может по- •
казаться очевидным, тем не l\feнee начинающие работать с мик-,
роnроцессорными системами, до тех пор пока буфер не включен
в ~хему, · ча-ето не предполагают, что он иивертирующи&. (ДRя
некоторых микропр_оцессорных систем при проектировании пред
полагается использование инвертирующих буферов адреса, так
28
Глава 2
что это правило не может быть строго -обязательным.) В общем
случае начинающий облегчит себе задачу, если будет использо
вать неинвертирующий буфер.
2. Используйте тот буфер, который по возможности обеспе
чивает все требуемые в системе значения выходной нагрузки.
Если, например, в системе необходима выходная нагрузка в
18 мА на адресной линии, то используемый буфер должен обес
печить нагрузку 18 мА или более. Это будет способствовать
снижению числа выводов в корпусе устройства. Если же ис
пользу~тся буфер, обеспечивающий лишь часть требуемой на
грузки, то для реализации оставшейся нагрузки потребуется
еще один буфер.
.
3. Убедитесь, чТ'о нагрузка по входу для выбранного буфера
не превышает выходную нагрузку адресной линии микропроцес
сора. Например, есл_и величина тока на входе буфера адреса
при состоянии логического О составляет 2 мА, то микропроцес
сор не сможет управдять этим буфером, еслй его выходной ток
менее 2 мА.
Позднее мы расширим этот набор правил. В качестве буфе
ров адреса могут быть использованы, • например, следующие
устройства:
1. 7407 (схема со свободным коллектором).
2.. 74LS367 шестивходовый буфер с тремя состояниями.
3. _7 4 LS 125 четырехвходовый буфер с тремя состояниями.
Кристаллы многих микропроцессоров имеют специальные ин-
тегральные схемы, предназначенные для буферирования_ адреса.
Ниже приводится пример, в котором в качестве буфера ад
реса будет использовано произвольно выбранное устройство
74LS367.
~•
Буферирование адреса использовано для всех рассматривае
мых адресных шин, хотя это не во всех случаях обязательно.
2.3 .
Адресная шина мнкроnроцессора 8080
Рассмотрим проектирование адресцой шины для микропроцес
сора 8080. Ниже будет показано назначение отдельных выводов
и описаны конкретные устройства, используемые при постр<>е
нии буферов адреса (т. е. сделано допущение, что в системе не
обходимо буферирование адреса). Это позволит ознакомиться
с использованием буферов адреса в реальной системе.
•
.
Приведенные на рис. 2.6 спецификации для адресных выво
дов микропроцессора 8080 показывают, что адресные выходы в_
состоянии логического О хар~ктеризуются током 1,9 мА, а в ер
стоянии 1-током 150 мкА. Допустим, что управляемая сист_е~
ма- имеет нагрузку в 3 мА при логическом О и 200 мкА- пр~
логической 1. Эти параметры выбраны с целью задания уело~
вий, при которых адресные выходы микропроцессора требуют
буферирования.
,
Х
а
р
а
к
т
е
р
и
с
т
и
к
и
п
о
п
о
с
т
о
я
н
н
о
м
у
т
о
к
у
Т
л
=
О
-
7
0
°
С
,
V
D
D
=
+
1
2
В
±
5
%
,
У
с
е
=
+
5
В
±
5
%
,
V
в
в
=
=
-
5
В
±
5
%
,
V
s
s
=
0
в
,
'
е
с
л
и
.
н
е
о
г
о
в
о
р
е
н
о
п
р
о
т
и
в
н
о
е
\
З
н
а
ч
е
н
и
е
П
а
р
а
м
е
т
р
/
с
р
е
д
н
е
е
Е
д
и
н
и
ц
а
У
с
л
о
в
и
я
н
с
n
ы
т
а
н
н
l
!
О
б
о
з
н
а
ч
е
~
,
н
е
м
н
н
н
м
а
л
ь
-
м
а
к
с
н
м
а
л
ь
-
и
з
м
е
р
е
н
и
я
н
о
е
н
о
е
1
'
V
1
L
C
Н
и
з
к
и
й
у
р
о
в
е
н
ь
т
а
к
т
о
в
о
г
о
н
а
-
V
s
s
-
1
V
s
s
+
0
,
8
в
.
n
р
я
ж
е
н
и
я
V
i
н
c
В
ы
с
о
к
и
й
у
р
о
в
е
н
ь
т
а
к
т
о
в
о
г
о
н
а
-
9
,
0
V
D
D
+
l
в
V
1
L
w
;
я
ж
е
и
и
я
и
з
к
и
й
у
р
о
в
е
н
ь
в
х
о
д
н
о
г
о
н
а
-
V
s
s
-
1
V
s
s
+
0
,
8
в
1
V
ш
n
р
я
ж
е
и
и
я
В
ы
с
о
к
и
й
у
р
о
в
е
н
ь
в
х
о
д
н
о
г
о
н
а
-
,
з
,
з
V
c
c
+
l
в
n
р
я
ж
е
и
и
я
V
o
L
Н
и
з
к
и
й
у
р
о
в
е
н
ь
в
ы
х
о
д
н
о
г
о
н
а
-
0
,
4
5
-
В
)
I
o
L
=
l
,
9
м
А
н
а
в
с
е
~
в
ы
-
п
р
я
ж
е
и
и
я
V
о
н
В
ы
с
о
к
и
й
у
р
о
в
е
н
ь
в
ы
х
о
д
н
о
г
о
.
х
о
д
а
х
,
I
о
в
=
1
5
0
м
к
А
н
а
п
р
я
ж
е
н
и
я
З
,
7
1
в
С
р
е
д
н
и
й
т
о
к
п
р
и
V
D
»
4
0
7
0
м
А
}
Р
е
ж
и
м
Т
с
у
=
=
О
,
3
2
м
с
l
D
D
6
0
8
0
м
А
I
c
c
»
»
»
У
с
е
\
0
,
0
1
1
м
А
I
в
в
»
»
»
V
в
в
±
1
0
м
к
А
V
s
s
E
;
;
;
V
1
N
E
;
;
;
V
c
c
I
1
L
Т
о
к
у
т
е
ч
к
и
н
а
в
х
о
д
е
±
1
0
м
к
А
V
5
5
Е
;
;
;
У
т
а
к
т
E
;
;
;
V
D
D
I
c
L
Т
о
к
у
т
.
н
а
в
х
.
с
и
н
х
р
о
н
и
з
а
ц
и
и
-
1
0
0
м
к
А
V
s
5
E
;
;
;
V
1
н
E
;
;
;
V
s
s
+
0
,
8
в
l
D
i
Т
о
к
у
т
.
н
а
ш
и
н
е
д
а
н
н
ы
х
в
р
е
-
-
2
,
0
м
А
V
s
s
+
0
,
8
В
Е
;
;
;
V
1
н
Е
;
;
;
V
с
е
ж
и
м
е
в
в
о
д
а
+
1
0
У
а
д
р
е
с
/
д
а
к
в
м
е
=
=
V
с
е
l
F
L
Т
о
к
у
т
.
н
а
а
д
р
е
с
н
о
й
ш
н
и
е
и
-
1
0
0
м
к
А
V
а
д
р
е
с
/
д
а
н
Н
J
•
е
=
У
s
s
+
О
,
4
5
В
щ
и
к
е
д
а
н
н
ы
х
в
I
!
е
ж
и
м
е
H
O
L
D
Р
щ
:
.
2
,
6
,
О
т
л
е
щ
,
Н
I
!
!
\
!
~
п
е
ц
и
ф
и
к
а
ц
и
и
д
л
я
а
д
р
е
с
н
ы
х
в
ы
х
о
д
о
в
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
а
8
0
8
0
.
Н
а
и
б
о
л
е
е
в
а
ж
н
ы
е
и
з
н
и
х
в
ы
д
е
л
е
н
ы
ж
и
р
н
о
й
р
а
м
к
о
й
.
•,30
.. 2.4.
Исnоn1tэ081ние буферов 1дрес1
В качестве буферов адреса выберем устройства 74LS367. Со
-спецификациями этих устройств можно ознакомиться по техни-
-ческой документации. Некоторые из этих спецификаций приве-
.дены на рис. 2.7, откуда видно, что потребляемый на входе
74LS367 ток равен 0,3 мА в состоянии логического О и 20 мкА
,в состоянии логической 1. · Ток такой величины может быть
"Обеспечен на адресных выходах микропроцессора 8080, что ил
.люстрирует рис. 2.8 .
Из спецификаций устройства 74LS367, приведенных на
;рис. 2.8, видно, что с выхода этого устройства поступает ток
2 мА в- состоянии логической 1 и 12 мА в состоянии логическо
.rо О. Этого, более чем достаточно для выбранного применения.
На рис. 2.9 показана полная адресная шина микропроцессора
.8 0 80 с подсоединенными буферами 74LS367.
Из риf. 2.9 видно, что выводы 15 и 1 устройства 74LS367
заземленьr непосредственно. Соединение такого рода характер- •
но для многnх микропроцессорных систем, что позволяет от~
крывать буферы с тремя состояниями. Однако в некоторых си•
туациях при прямом доступе к памяти может возникнуть необ
ходимость в блокировании буфера с тремя состояниями. Осо
бенности прямого доступа к памяти пока не раскрыты, и поэто
му данный аспект адР,есования будет рассмотрен позднее. Пока
достаточно лишь понять, что в случае, когда выводы 15. и 1
:устройства 74LS367 заземлены, или находятся в состоянии ло
:гического О, буферы с тремя состояниями разблокированы.
Далее из рис. 2.9 следует, что наименование сигналов меня
ются после прохождения адресных линий через буфер. При по~
,строении схемы системы очень важно, чтобы два различных сиг
нала никогда не назывались одинаковым именем. В приведен
ном примере адресные линии, исходящие из микропроцессора,
обозначаются как A0-Ar5, а адресные линии на выходе устрой
ства 74LS367- соответственно как BA0-BA1s, Это обозначение
•говорит о том, что адресные линии Ао-А15 буферированы. Од
нако важнее не выбор конкретного обозначения, а сам факт
иного обозначения линий с различной величиной сигнала в пре
делах системы.
Важность хорошей документации трудно переоценить. При
чина выбора единой всеобъемлющей системы обозначений ста- (
новится ясной при проведе.нии монтажа или поиска неисправ
ностей. Монтаж С'истемы всегда затруднен, если из обозначений
не ясно, какая линия должна соединяться с· заданной точкой.
Небольшие начальные затраты времени на введение удобных
обозначений сигналов позволят проектировщику и другим спе
циалистам, связанным с разработкой системы, <;экономить мно~
го времени позднее.
;
i
:
.
(
/
)
(
/
)
w
g
~
~
~
-
~
,
1
>
-
.
.
.
,
i
:
,
.
.
.
"
'
-
,
)
:
>
:
Г
'
_
(
/
)
_
_
1
1
1
~
"
'
~
O
u
5
~
t
i
:
1
~
,
.
.
_
1
:
1
-
-
.
:
i
:
.
Z
1
1
n
"
"
-
!
:
:
'
'
О
(
/
)
:
,
:
(
1
1
.
.
с
:
.
.
.
m
z
g
~
I
-
,
J
m
:
,
:
i
I
Z
:
~
'
О
с
п
-
а
:
,
:
'
<
1
3
Г
'
1
1
1
·
'
t
-
:
i
o
.
f
D
g
1
»
S
:
:
1
1
1
1
О
-
,
)
~
(
1
1
s
:
:
i
z
:
-
'
1
1
1
1
1
t
,
'
s
i
>
(
1
1
g
:
=
о
=
о
c
:
,
,
:
,
:
i
:
"
)
о
:
,
:
о
:
,
:
r
.
t
>
"
'
J
:
,
1
»
"
'
о
i
,
Z
~
~
l
i
~
-
6
c
n
o
:
,
:
1
1
1
1
1
1
r
,
,
i
:
,
.
-
.
:
:
,
=
(
>
)
:
,
~
~
:
:
;
с
п
:
,
:
~
~
g
«
u
5
=
z
i
:
,
-
,
i
:
,
а
:
z
t
~
g
;
~
~
р
:
~
i
;
!
-
.
.
.
1
!
:
J
:
,
R
:
с
п
c
n
;
i
:
.
1
»
>
e
'
n
z
~
"
S
:
,
:
:
.
~
:
,
а
:
,
:
1
»
.
g
g
-
-
<
~
:
,
:
о
'
<
:
s
:
:
:
:
•
s
:
:
i
:
,
1
1
1
1
1
:
s
:
о
-
,
)
1
:
,
:
:
.
е
л
=
i
,
!
i
;
ё
x
j
.
t
i
:
1
:
~
.
.
.
,
6
!
g
О
\
,
s
:
:
>
:
,
:
i
r
g
>
1
1
о
:
,
:
(
1
1
1
-
:
)
(
1
)
g
(
1
1
t
~
=
i
f
g
:
,
:
i
f
°
)
s
:
:
:
,
:
"
"
"
'
о
с
п
-
~
1
»
.
.
,
z
=
.
:
-
:
о
'
s
:
:
.
g
~
"
"
i
,
o
l
l
l
l
Г
'
:
,
.
.
с
:
I
Z
:
(
/
)
t
,
'
=
>
С
'
:
,
:
1
1
1
1
О
-
-
.
О
"
"
J
:
,
(
/
)
,
!
D
:
,
:
1
»
z
=
.
.
"
'
-
1
:
,
а
,
j
:
>
.
:
,
:
t
~
1
)
)
1
!
1
-
,
~
=
g
g
'
r
f
l
f
1
.
.
'
1
.
:
1
1
r
в
\
ш
ю
в
Ь
l
с
ш
1
ш
~
ы
t
:
ф
о
р
м
и
р
о
в
а
т
е
л
и
3
6
7
Н
с
т
ш
с
р
1
1
1
р
о
n
ш
~
'
1
1
1
,
1
с
1
ш
ф
о
р
,
t
а
ш
1
О
1
1
н
ы
с
'
М
Ы
Х
О
l
.
1
1
>
1
;
4
-
х
J
Ш
Н
С
Й
I
I
Ы
С
1
1
2
-
х
л
и
п
с
i
н
~
ы
с
о
п
ш
р
а
с
м
ы
с
l
i
'
I
0
:
1
1
,
1
·
,
в
i
.
1
:
.
.
0
;
.
i
ь
t
с
3
C
U
S
:
I
O
Щ
l
l
l
l
!
,
\
1
1
1
С
.
2
S
A
4
А
4
У
'
S
N
5
4
3
6
7
A
(
J
,
W
)
S
N
7
4
3
6
7
A
(
J
,
N
)
Р
и
с
.
2
.
7
.
Ч
а
с
т
н
ы
е
с
п
е
ц
и
ф
и
к
а
ц
и
и
ш
и
н
н
ы
х
ф
о
р
м
и
р
о
в
а
т
е
л
е
й
7
4
L
S
3
6
7
.
Н
а
и
б
о
л
е
е
в
а
ж
н
ы
м
и
с
п
е
ц
и
ф
и
к
а
ц
и
f
\
_
М
И
у
с
т
р
о
й
с
т
в
а
я
в
л
я
ю
т
с
я
з
н
а
ч
е
н
и
я
у
р
о
в
н
е
й
l
и
О
т
о
к
а
н
а
в
х
о
д
е
и
в
ы
х
о
д
е
у
с
т
р
о
й
с
т
в
а
,
а
т
а
к
ж
е
з
н
а
ч
е
н
и
я
у
р
о
в
н
е
й
1
1
и
О
в
ы
х
о
д
н
о
г
о
н
а
п
р
я
ж
е
н
и
я
.
(
С
р
а
з
р
е
ш
е
н
и
я
ф
и
р
-
S
N
5
4
L
3
3
6
7
A
(
J
,
V
I
)
S
N
7
,
L
S
3
6
7
A
(
J
,
N
)
м
ы
T
e
x
a
s
I
n
s
t
r
μ
m
e
n
t
s
.
)
Э
л
е
к
т
р
и
ч
е
с
к
и
е
_
х
а
р
а
к
т
е
р
и
с
т
и
к
и
д
а
н
ы
д
л
я
с
т
а
н
д
а
р
т
н
ы
х
т
е
м
п
е
р
а
т
у
р
н
ы
х
у
с
л
о
в
и
й
(
е
с
л
и
э
т
о
н
е
о
г
о
в
о
р
е
н
о
о
с
о
б
о
)
щ
С
е
р
и
я
5
4
l
S
"
'
:
s
:
С
Е
Р
И
Я
5
4
~
"
'
=
П
А
Р
А
М
Е
Т
Р
:
r
:
У
С
1
O
В
1
1
Я
И
С
П
Ы
Т
А
I
I
И
Й
'
)
C
E
P
I
I
Я
7
4
С
е
р
и
я
7
4
L
S
'
:
:
1
=
щ
=
"
:
,
-
1
3
6
5
А
,
'
3
6
6
А
'
L
S
3
6
c
i
д
,
'
L
S
3
6
6
A
:
,
:
е
-
,
r
.
=
:
;
'
з
6
7
д
;
з
в
в
д
'
L
S
3
6
7
A
,
'
L
S
3
6
6
A
"
'
~
:
r
:
Щ
:
:
м
М
и
н
,
Т
и
п
,
6
1
М
а
к
с
,
М
и
н
,
Т
и
п
,
6
J
М
а
к
с
,
V
1
н
В
х
н
а
п
р
я
ж
е
н
.
в
ы
с
о
к
о
_
(
О
у
р
о
в
н
я
1
,
2
2
2
в
V
1
l
В
х
о
д
н
о
е
н
а
п
р
я
ж
е
н
1
1
с
5
4
с
е
м
е
й
с
т
в
о
0
,
8
О
7
Н
I
I
З
К
О
Г
О
у
р
о
в
н
я
1
,
2
7
4
с
е
м
е
й
с
т
в
о
О
8
О
8
в
У
,
.
.
.
:
В
х
.
г
р
а
ю
1
ч
и
о
е
н
а
h
р
я
ж
е
н
и
е
3
V
c
c
=
Y
c
c
,
,
н
t
н
.
1
1
=
с
м
,
в
)
-
1
,
5
-
1
,
5
в
У
о
н
В
ы
х
о
д
н
о
е
н
а
п
р
я
ж
е
н
и
е
1
V
,
c
=
У
с
е
~
и
н
.
У
1
н
=
2
В
5
4
с
е
м
е
й
с
т
в
о
2
,
4
3
,
3
2
,
4
3
,
3
В
Ы
l
.
:
О
К
О
Г
О
у
р
о
в
н
я
V
I
L
=
У
l
l
м
а
~
.
с
.
1
о
н
=
=
l
о
н
м
а
к
с
.
7
4
с
е
м
е
й
с
т
в
о
2
,
4
3
.
1
2
,
4
3
,
1
в
V
o
L
В
ы
х
о
д
н
о
е
1
ш
п
р
я
Ж
.
с
н
1
1
е
V
ц
=
У
с
е
"
"
"
·
1
1
-
1
5
4
с
е
м
е
й
с
т
в
о
0
,
4
0
,
2
5
0
,
4
.
.
ю
t
з
к
о
r
о
у
р
о
п
1
1
я
2
У
,
н
=
2
В
O
L
-
O
L
м
а
к
с
,
7
4
с
е
м
е
й
с
т
в
о
0
,
4
0
,
3
5
0
,
5
l
l
V
I
L
:
;
:
:
:
y
l
L
"
'
a
i
.
c
.
1
l
o
L
-
2
'
1
А
С
е
р
1
1
я
7
4
L
S
0
,
2
5
о
~
-
,
-
-
-
т
о
к
н
а
в
ы
х
о
.
d
е
п
р
и
о
ч
е
н
ь
1
9
V
,
:
c
=
-
Y
c
c
м
а
к
с
.
V
1
н
=
2
В
V
0
=
2
,
4
-
В
4
0
2
0
'
м
~
.
А
l
o
z
в
ы
с
о
к
о
м
с
о
п
р
о
т
1
ш
л
е
ю
1
1
1
V
1
,
_
=
Y
1
L
,
1
a
"
c
.
V
0
=
0
,
4
В
-
4
0
-
2
0
1
,
Т
о
к
п
р
н
м
а
к
с
и
м
а
л
ь
н
о
м
4
_
У
i
;
c
=
У
с
е
м
а
~
.
с
.
V
1
-
5
,
5
В
1
м
А
в
х
о
д
н
о
м
и
а
л
р
я
ж
,
е
н
и
и
V
1
-
7
В
0
,
1
I
,
н
В
ы
с
о
к
и
й
у
р
о
в
е
н
ь
в
х
о
д
н
о
r
о
4
У
~
с
=
-
У
с
с
м
а
к
с
.
v
,
н
2
,
4
В
4
0
м
к
А
т
о
к
а
V
,
u
=
2
,
7
B
2
0
У
с
с
=
У
с
с
м
а
к
с
.
-
v
,
=
0
,
5
B
-
4
0
-
2
0
м
к
А
1
1
L
Н
ю
к
1
1
й
у
р
о
в
е
н
ь
А
-
в
ы
-
Н
а
п
р
я
ж
е
н
и
е
н
а
G
-
в
х
о
д
а
х
2
В
в
х
Q
д
н
о
r
о
т
о
к
а
х
о
д
ы
У
с
е
=
-
У
с
е
м
а
к
с
.
У
1
.
=
0
,
4
В
-
1
,
6
-
0
,
4
~
Н
а
п
р
я
ж
е
н
и
е
н
а
О
-
в
х
о
д
а
х
О
,
4
В
м
А
G
-
в
х
о
д
ы
У
~
~
=
У
с
е
м
а
к
с
.
V
,
-
0
,
4
B
-
1
,
6
,
-
0
,
4
,
1
0
s
Т
о
к
н
а
в
ы
х
.
п
р
и
к
о
р
.
з
а
м
ь
н
ш
н
.
r
)
6
У
с
е
=
=
У
с
е
м
а
к
с
.
-
4
0
-
1
3
0
,
'
-
4
0
-
2
2
5
м
А
l
c
c
Т
о
к
о
т
и
с
т
о
ч
н
и
к
а
7
y
c
c
-
V
c
c
·
·
~
.
.
c
.
м
А
74l.S367 Буфер адреса
I1,,О
/
◄--
Aof------1
Мi1кропроuессор
8080
-~
11N1
Буферированныfi
вь;ход А0 в систе!ll!у
Рис. 2.8 . Ток на выходе адресной линии микропроцессора должен быть со
гласован по величине с током на входе буфера адреса. В приведенном при
мере соответствующие значения тока составляют 0,4 мА для .состояния логи
ческого О (IIN о) и 20 мкА для состоя1tия логической 1 (l1N 1). Направление
Ао
д,
-
А,
Аз
А•
As
Микропроцессор Аб
8080
А,
Ав
Аэ
А,о
А"
А"
А,з
А"
А"
тока показано стрелками.
25
2
26
4
27
6
29
10
30
2
31
4
32
6
33
10
34
12
_35
14
1
2
40
4
37
6
38
10
39
12
36
14
74L5367
~
3
~
5
7
9
-
-
1, 15
74L5367
-~
3
5
7
9
11
13
-
-
1, 15
74L5367
--
3
5
..
7
~
9
11
13
-
_j'
ВА0
ВА1
ВА2
ВА3
вд·,
ВА5
ВА6
ВА1
ВА8
ВА9
Буф ерированные
сные линии
адре
ВА 10
ВА 11
ВА12
)ВА1з
ВА14
ВА15
Выводы I и 15 всех
367
устройств 74LS
--
Рис. 2.9 . Полная схема адресной шины микродроцессора 8080 с устрой
ством 74LS367, используемым в качестве буфера адресных линий.
Обоз-
наче-
ние
V1LC
VIНc
V1L
Viн
VoL
Vон
Icc
IL1
ILOH
ILOL
ILD
Обоз-\яаче-
ние
V1LC
VIНc
V1L
V1н
VoL
\lон
Icc
IL1
ILOH
ILOL
ILD
Характеристики ЦП Z80 по nостоявному току
Тл-О-70"С, Vcc-+5 В±5%, если не оговорено оеобо
Значение
Едвви-
Параметр
°VCJIOIIBЯ IICIJЬI•
--,сред-/ макса- ца D•
таввl
вое
вее~ uат.ное мереввя
Низкий уронеиь тактово- -0,З
0,45
в
ro напряжения
Vc:c-0,6
Высокий уровень такто-
Vcc+0,3 в
воrо напряжения
Низкий уровень входного -0,3
0,8
в
напряжения
2,0
Высокий уровень входно-
Vcc
в
го напряжения
Низкий уровень выход-
0,4
в loL=l,8 мА
ноrо напряжения
2,4
Высокий уровень выход-
в Iон--250 мкА
ноrо напряжения
-
Ток от источника
150 мА
Ток утечки на входе
1О мкА V1н-O+Vcc
Ток ут. на входе с тре-
10 мкА Vouт-2,4+Vcc
мя состояниями
~
Ток ут. на выходе с тре-
-10 мкА Vouт-0,4 В
мя состояниями
Ток: ут. на шине данных
±10 мкА 0~V1N~Vcc
в режиме ввода
Характеристики ЦП. Z80A по постоянному току
Тл=О-70°С, Vcc= +5. В±5%, если не оговорено особо
Значение
Единв- Условия нспы-
Параметр
11111111Маль-,сред-1 макси- цв из-
таниА
ное
нее мальное мерения
Низкий уровень тактово- -0,3
0,45
в
го напряж~ия
Vcc-0,6
Высокий уровень такто-
Vcc+0,3 • в
воrо ·напряжения
Низкий уровень входного • ~о.з
0,8
в
напряжения
Высокий уровень вход.но- 2,0
Усе
в
го напряжения .
Низкий уровень выходно-
0,4
в IoL=l,8 мА
го напряжения
2,4
Высокий уровень выход-
в loв= -250 мкА
иого напряжения
90
Ток от источника
200 мА
Ток утечки на входе
10 мкА V1н=0+Vcc
Ток ут. на входе с тремя
10 мкА Vouт=2,4+Vcc
состояниями
Ток У,Т. на выходе с тре-
- 10 мкА Vouт=0,4 В
мя состояниями
Ток ут. на шине данных
±10 .мкА О~V,м ~Voc
в режные ввода
-
..
Рис. 2.10. Спецификации адресных выходов· микропроцессора Z80 и некото
рые другие спецификации по постоянному току. Непр~жение на адреснuх
выходах обозначено хаю Vщ и Vон. (С разрешения фирмы Zilog.)
3-814
34
Глава 2
2.5.
Адресная wина Z80
Покажем, каким образом можно построить буферы для адрес
ной шины микропроцессора 280. Спецификации адресных вхо
дов Z80 приведены на рис. 2.1 О. Из этого рисунка видно, чт1>
для адресных выходов 280 характерно наличие тока 150 мкА
в состоянии логической 1 и 2 мА в состоянии логического О. До
пустим, что адресная шина системы характеризуется нагрузкой
200 мкА в состоянии 1 и 3 мА - в состоянии О. Как видно, в
этом случае микропроцессор Z80 не в состоянии управлять ад
ресной шиной. Заметим, снова, что подобные условия выбраны
с целью сделать необходимым введение буфера адреса.
Выбер_ем в качестве буферов адреса устройства 74LS367.
Полная схема соединений для буферированной адресной шины
микропроцессора 280 приведена на рис. 2.11 . Ввиду простоты
\
30
Ао
2
А,
4
31
д,
6
;
32
д,
10
h,,
33
',
д,
2
З4
А,
4
35
д,
6
Микропроцессор 36
д,
10
Z80
37
д,
12
38
д,
14
39
40
д"
2
1
А"
4
д"
6
2
д"
10
3
4
д"
12
д"
14
5
74LSЗ67
,-- -
3
ВАо
~5 Вд,
7,
вд,
1
1
1
9
вд,
1
1, 15
74LS367
3
Вд,
5
вдs
7
вд,
~!
ВА
7~
11
вд,
1
113
вд,
1
1
1
Буфериров
1
•
15
адресные
анные
шины
74LS367
3
ВА 10
5
ВА 11
7
ВА12
)
~9
ВА1з
1
11
ВА 14
113
BA1s
1
1
1. 15
V
,,,
Рис. 2.11 . Полная схема адресной шины микропроцессора Z80 с устройством
74LS367, используемым в качестве буфера адреса.
Построение систем с З шинами
35
интерфейса 280 с микропроцессорной системой дальнейшее рас
-смотрение адресной шины Z8O нецелесообразно. Отметим, что
.адресная шина 280, как и 8080, состоит из 16 линий (рис. 2.9).
2.6.
Адресная wина 6800
Спецификации для выходных адресных линий микропроцессо
ра 6800 приведены на рис. 2.12, из которого видно, что нагруз
ка для этих линий составляет 2 мА для состояния логической 1
и 150 мкА для состояния логического О. Допустим, что нагруз
ка по току в адресной шине проектируемой системы превышает
возможности микропроцессора 6800, т. е. необходимо буфериро
вание адресных выходов микропроцессора 6800. В качестве бу
феров адреса снова используем устройство 74LS367.
Полная схема буферированной адресной шины микропроцес
-сора 6800 приведена на рис. 2.13. Из этой схемы видно, что ад~
ресная шина 6800, подобно шинам 8080 и 280, состоит из 16
.линий.
2.7 .
Адресная wина микропроцессора 8085
Адресная шина микропроцессора 8085 по своему построению
,отличается от уже рассмотренных шин. Для адресных шин уст
ройств 280, 8080, 6800 характерно то, что каждой линии шины
-соответствует специат,ный вывод в корпусе микропроцессора.
Это означает, что вне зависимости от состояния микропроцессо
ра вывод АО всегда соответствует разряду адресной шины Ао,
что упрощает формирование 16-разрядного адреса .. Здесь r1ро
сто группируются 16 выводов микропроцессора, и эта группа
QПределяется как адресная шина системы.
В устройстве 8085 используется другой принцип, основанный
на «временном мультиплексировании» функций выводов, когда
Qдни и те же выводы в разн:ые моменты времени представляют
разные функции. Это позволяет реализовать ряд доп0лнитель
ных функций при тех же 40 выводах в корпусе микропроцес
сора.
Восемь мультиплексированных выводов устройства 8085 иг
рают роль шины данных .либо младших разрядов адресной ши
ны. В некоторые моменты эти восемь физических выводов це
редают адрес, в другие моменты они используются для ввода
или вывода данных. Как показано на рис. 2.14 выводы в мик
ропроцессоре 8085 о.бозначаются как AD0-AD1 .
.Из
рис. 2.14 видно, что старшие восемь разрядов адресно~
шины системы А8-А15 соответствуют аналогичным. адресным
выводам предыдущих микропроцессоров, т. е. каждый вывод
предназначен лишь для реализации ссютвететвующего разряда
адреса.
'
.мс·~
~не XAJ)UТellllCТJIIC (Усе"' 5,ОВ±50/о, Yss = О, Тл =О+ 70'С, если ие оговорено особо)
Харахтеристики
Обоз•
Мин. Среднее Макс.
Един. из"
начения
Мерения
BыCOJ<иil уровень входного '•nряжсния Логика
·У1и У,,+2,0 -
Усе в пост.
ток
ФI, ф2
уlНС Усс-0,3· - Усс+о,1
HизlCIIII уровень .входного напряжения Логика
Y1L У,,-0,3 - Yss+o,s
в пост.
ток
фl, ф2
Y1tc Yss - 0,1
-
Yss +о,3
Положит. /отрицат. выброс тактового импу~са.
Yos
-
в пост
-Высокий уро веиь сигнала
Усс-0,5
Усе+О,5 ток
-
Низкий уровень иа входе
Ys,-0,5
-
Yss + 0,5
Ток )'Течки на входе
1"
мкА
(Y,n = О+5,25В,Vсе = Vсе мщ)
Логика•>
!,О
пост.
-
ток
(Y1n = 0+5,25В, Усе= О,ОВ)_
фl,. ф2
-
-
100
Ток на входе в отмюченном состоянпк D0-D7
Irs1
-
2,0
10
мкА
пост.
(Y1n = О,4+2,4В, Vсе ::= Vсе макс,}
AO-AIS,R/W
-
-
100
ток
В~1со1шй уровень выходиого 11апряжеиия
Уои
в пост,
,ток
(
205 μкА, усе= Усе мня.)
Do-D7
Yss+2,4
-
-
(JL =- 145 -μkA, У се =Усе,....) АО-А15 R/W,VМA
Yss+2,4
-
-
(IL =-lООмкА,Усс =Уссмян,)
ВА
Yss + 2,4
-
-
Низкий уровеиь выходного пап ряжения
Yot
-
-
Yss+ 0,4 в пост.
ток
(IL = 1,6мА, У се= Усе мин.)
Потери '!ОЩНОСТН
PD
-
0,600
1,2
Емкость•>
фl, ф'l.
С11
·80
120
160
пкФ
(Y;n = 0,Тл "': 2S'C,f= IмГц)
TSC
-
-
15
DВЕ
-
7,0
10
,
bO-D7
-
10
1~ ,5
Л<irнческне входы
-
--:-
6,5
АО -Al5,R/W, VМА
с..,
12
nкФ
Рабочая частота
f
О,!
-
1,0
мГц
ТактНроваиие
Время цикла
t., .
1,0
-
10
мкс
Дднтельность тактового нмnут,са.
РWФН
нс
(Измерено при Усе = - 0 ,3 В)
ФI
430
-
4500
ф2
450
-
4500
.
Общее дляфl и ф
t,,
940
-
-
нс
Время иарастаиия и спада
фl; ф'l.
tфr,фt
5,0
-
50
нс
(Измерено между Уss + 0,3 В н Усе - 0,3 В)
Время задержки или разделение по частоте
t,
о
-
9100
нс
(Измерено при Vov = Vss + 0,5 В)
П родолжительиость выброса
tos
о
-
"40
нс
а) За исключением IRQ и NМI. требу,оших соrласующихрезистооов сопротивлеиием 3к0м .для обеспечения
нагрузочной способности точечного .ИЛИ-("оедннения в оптимальном режиме
"
б) Емкость периодически замеряется
Рис. 2.12. Спецнфикацнн адресных выходов микропроцессора 6800. На адрес
ных выходах дано напряжение высокого я низкого. уровня сигнала. (С раз
.решения фирмы Motorola.)
Построение систем с 3 wиками
З'l
Ввиду того что в микропроцессоре 8085 использу,ются муль•
типлексированные выводы для адреса и· данных, формйрование
младших восьми разрядов адресной шины. пQ сравнению •с ра-
-
,..=..--74LSЗ67
Ао'
·2
3
ВА0
9
Ч,.
д,
4
5
вд,
10
Az
6
17
вд,
11
1
12:
д,
10
1
-
9
ВА,
1
1, 15
74LS367,
13
А,
2
3
вд,
-
14
д,
4
5
вд,
Ми.кролроцессор As
6
7
вд,
6800
15
д,
~ 8А7
10
9
16
д;
12
111
B":\s
17
•1-
д9
14
113
вд,
18
1
1
1, 15
74 LSЗ67
19,
д,о
2
3
ВА 10
20 д"
4
5
В·А11
22 д"
6
7
ВА 12
23
А,з
10
-~
9
ВА 13
24
А,,
12
,
1
11
ВА14
д"
14
1
13
вд,s
25
1
1
1, 15
-
Рис. 2.13. Полная схема адресной шины микропроцессора 6800 с устрой-.
ством 74LS367, используемым в качестве буфера адреса.
нее рассмотренными микропроцессорами несколько усложняет....
ся. Главная особенность заключается в необходимости «фикса
ции» логического состояния выводов AD 0-AD7 микропроцессо-
ра 8085 в моменты, когда .они функционально представляют ад
ресные разряды Ао-А1. Для этого необходимо точно зн~тъ•.
когда на этих выводах отображается адресная информация.
В корпусе 8085 существует специальный вывод (Nt 30), .обо- -
зна~аемый ALE •(Address Latch ЕnаЫе) - открытие фиксатора_
адреса, сигнал на котором в нормальном состоянии соответст..__
З8
Глава 2
Рис. 2.14. Обозначения выводов для
микропроцессора 8085. Отметим на
личие выводов, обозначаемых ADo -
AD1. Эти выводы относятся к шине
данных с временным мультиплексиро
ванием, а также служат для переда
чи младшего байта адреса. С раз-
решения фирмы Iпtel.)
вует логическому О. Если информация на выводах 8085 AD 0-
AD1 является адресной - А0-А7, то ALE переводится в состоя
ние 1. При переходе ALE из состояния 1 в состояния О инфор
мация на AD 0....: ..AD 7 должна быть зафиксирована. Это видно
из временной диаграммы рис. 2.15.
На рис. 2.16 показано, каким путем осуществляется фикса
ция данных техническими средствами применительно к полной
информации 16-разрядной адресной шины для микропроцессо
ра 8085. Отметим, что необходимость в использовании ·буферов
с тремя состояниями 74LS367 возникает лишь для старших
разрядов адреса Aв-Ais, поскольку младшие разряды буфери
руются с помощью фиксатора 74LS374. Устройство 74LS374,
выполненное в виде одной интегральной схемы, является одно
временно фиксатором и буфером.
Сигнал ALE на рис. 2.16 инвертируется за счет использова
ния фиксатора с импульсным запуском. В соответствии со спе
цификациями 8085 адресные данные должны фиксироваться по
заднему фронту сигнала ALE. С другой стороны, согласно спе
цификациям 8-разрядного фиксатора 74LS374, это устройство
фиксирует данные по переднему фронту тактового импульса.
Поэтому необходимо инвертировать сигнал ALE, поступающий
от микропроцессора. Это позволит осуществить физически фик
сирование информации AD 0-AD7 в 8-разрядных фиксаторах
74LS374 по заднему фронту сигнала ALE.
Фиксаторы другого типа, иногда используемые д,nя выпол
нения этой функции, позволяют пропускать данные на выходы
Q при состоянии. тактового импульса, соответствующем логи
ческой 1. При состоянии же О тактового импульса данные на
выходе устройства сохраняются. Примером такого устройства
является фиксатор 74LS373, пропускающий адресную информа
цию Ао-А1 по мере того, к~к она генерируется микропроцессо•
Адрес доступен
ALE
-Г?'----
Фиксация адреса
Рис. 2:15. Временная диаграмма, определяющая взаимосвязь между сигна
пом ALE и адресной информацией на выводах AD0-AD1 микропроцессо
ра 8085.
19
дD,
18
вова19
Вд7
18 до,
17
70 7Q
16
ВА,
17 дD,
14
60 60
15
вд,
дD,
13
16
505012
Вд,
15 дD,
8
9
ВА,
40 40
14 до,
7
30 за
6
ВА,
13 дD,
4
20 20
Вд,
12 дDо
э
ю2
Вд0
дLЕ
10
30
74LS04
1
2
~ . "1...:.Г
Рис. 2.16. Полная схема адресной шины микропроцессора 8085. При выдаче_
млалшего байта адреса используется вось_миразрядный фиксатор 74LSЗ74~
40
ром 8085. Различия во временньrх соотношениях для фиксато
ров 74LS374 и 74LS373 показаны на рис. 2.17,
Отметим, что для стробирования адресной информации от
микропроцессора 8085 может быть использован любой фикса
тор. Единственная предосторожность, которую необходимо со-
ADo-AD 7 )(
>С
ALI:
I\
f
1
1
1
1
i
1
Выход устройства
ж
74LS374
1
f
1
1
1
1
1
1
1
Выход устройства
74LS373
Рис. 2.17 . Временная диаграмма, определяющая взаимосвязь сиrнапов при
выдаче адреса, когда вместо устройства 74LS374 испопьзуется фикса
тор 74LS373.
блюдать при использовании фиксаторов разных тJJпов, заклю
чается в согласовании нагрузки по току для входов фиксатора
и выводов ADo-AD7 микропроцессора 8085 во избежание их
перегрузки, т. •е необходимо убедиться, что ток на входе ис
пользуемого фиксатора не является слишком большим: для мик
ропроцессора 8085.
2.8 .
Пояснения к wине данных системы
Как уже было показано, шина данных является двунаправлен
ной. Это означает, что в некоторые промежутки времени инфор
мация вводится в микропроцессор (ко1·да последний функцио
нирует в режиме ввода), в другие же промежутки времени мик
ропроцессор генерирует информацию и затем выводит ее в си
стему (работа в режиме вывода). Когда микропроцессор рабо-
Построение систем с -3 wннами • '
41
тает в режиме вывода, шина данных часто соединяется .парап
лельно со многими входами. При этом существует возможность
того, что общая нагрузка от всех входов будет для шины дан
ных чрезмерной. Эта ситуация подобна той, которую мы обсуж-
Рис. 2.18. а - однонаправленный
буфер данных. В этом случае дан
ные могут передаваться лишь в
одном направлении; б - двуна
правленный буфер данных. Дан
ные . передаются в обоих напра_в
леннях. Направление передачи оп~
ределяется логическим состоянием
сигнала управления передачей:
в состояния О данные проходят
через буфер А, в состояния 1 -
через буфер В.
Разрешенное направ
ление передачи
----1[:>уфер д_;нных:
•----------
Запрещеииое направление
передачи данных
Управление
а
направлением
передачи
А
D 0 к микропроцессору
В D0 к системе
б
дали при рассмотрении нагрузки на адресную шину. · Для ее
предотвращения вновь можно организовать буферирование.
Однако для случая шины данных необходимо рассмотреть
дополнительный фактор, а именно; то, что эта шина данных в
отличие от адресной шины не является однонаправленной. Она
двунаправленная, и этот факт исключает возможность исполь
зования техники буферирования, применяемой в случае адрес
ной шины. Рассмотрим рис. 2.18, а.
Из рис. 2.18, а видно, что рассмотренное выше бу_ферирова
ние может быть использовано лишь в том случае, когда инфор
мация по шине данных выдается в систему. Если же данные
из системы будут передаваться в микропроцессор, они будут
«блокированы:. и не достигнут входов микропроце~сора. На
рис. .2 .18, б показана техника буферирования для двунаправлен
ной шины, основанная· на использовании логических схем с тре
мя состояниями. Отметим появление дополнительного cиrнaJta
42.
Глава 2
управления, логическое состояние которого задает· направление
буферированных данных. Например, при сигнале управления,
соответствующем логической 1, разрешается передача данных
из системы к выводам микропроцессора. В случае же, когда
состояние этого сигнала соответствует логическому О, разреша
ется передача данных от микропроцессора в систему через бу
фер А. Если один буфер с тремя состояниями открыт, другой в
это время закрыт.
Схема рис. 2.18, 6 иллюстрирует общие принципы буфериро
вания при двунаправленной передаче, которые могут быть ис~
пользованы применительно к шине данных микропроцессора.
Обсудим, каким образом описанная техника буферирования
может быть реализована для четырех рассматриваемых микро
процессоров. Будем помнить, что буферирование при двуна
правленной передаче требует сигнала управления для индика
ции направления передачи. Ниже будет показано генерирова
ние этого сигнала для различных микропроцессоров. • Таким
образом, решение проблемы буферирования для двунаправлен
ной шины показано на рис. 2.18, б.
2.9 .
&уфернрованная WНН8
данных микропроцессора 8080
При использовании микропроцессора· 8080 буферирование ши
ны данных не вызывает беспокойства. Этот микропроцессор
предназначен для использования совместно со специ~льной ин-
Строб
состояния
(от 8228)
BUSEt
-+ -DBo
.,_D B1
., _DB2
._,.DВз
В ., _DB4
20 -+ -DB5
.,_DВв
7 .+-DB7
Рис. 2.19. Схема соединения системиDГD контрDллера 8228 с микрDпрDцессD
рDМ· 8080. (УстрDЙСТВD 8228 ВЫПDЛНЯеТ все функции буферирования ШИHl:il
данных и управления направлением передачи.) (С разрешения фирмы Intel.)
Построение систем с 3 шинами
43
тегральной схемой, называемой «системный контроллер и ш~н-
ный формирователь типа 8228:..
•
Короче говоря, устройство 8228 осуществляет буферирова
ние шины данных и автоматический контроль направления пе- _
редачи данных. Поэтому применяя микропроцессор 8080, жела
тельно использовать и устройство 8228. На рис. 2.19 показано
КОНФИГУРАЦИЯ
выводов
НАИМЕНОВАНИЯ ВЫВОДОВ
DB 0-DBз Дву11апращ1с111шн ,шша
данных____________ _
['}I 0-D13
Ввод данных
DOo-DOз Вывод данных
DIE:N
Уr1равле1ше направленнем
передачн
cs
Выбор кристалла
DI3
ЛОГИЧЕСКАЯ СХЕМА
УСТРОЙСТВА
e---oDBo
- - -oDBs
Рис. 2.20. Выводы и блок-схема устройства 8216. (С разрешения фирмы
Intel.}
совместное соединение
шины данных системы.
устройств 8228 и 8080 при-построении
Обсудим теперь, каким образом можно построить буфери_ро
ванную шину данных без использования устройства 8228. Это
позволит лучше понять назначение различных сигналов управ
ления в микропроцессорной системе на базе устройства 8080.
Однако при использовании микропроцессора 8080 наиболее
простым решением является применение системного контролле
J}а и- шинного формирователя 8228. Поэтому настоящее обсуж
дение вызвано лишь стремлением глубже разобраться в осо
бенностях управления техническими средствами системы со сто
роны микропроцессора 8080.
Двунаправленные буферы для шины данных оформлены в
виде двух отдельных интегральных схем, именуемых устройст~
Глава 2
вами 8216. Выводы такого устройства показаны на рис. 2.20.
Видим, что это устройство состоит из формирователей с тремя
состояниями, ~торые похожи на схемы, показанные . - н а
рис.
2.18, б. Вывод CS (No 1) позволяет устройству функциониро
вать в двунаправленном режиме, когда сигнал на этом выводе
соответствует логическому О.
•
Допустим на время, что вывод CS всегда находится· в состо
янии О. Существуют ситуации, когда необходимо отключить ши
ну данных. Эти ситуации будут рассмотрены в последующих
главах.
Отметим на рис. 2.20 вывод DIEN (No 15), определяющий на
правление передачи в устройстве. Сигнал, поступающий на этот
вывод, эквивалентен сигналу управления направлением пере
дачи данных, показанному на рис. 2.18. Если этот вывод нахо
дится в состоянии логического О, то передача данных разреше
на в направлении от DI к DB. При противоположном состоянии
вывода (логическая 1) разрешается передача от DB к DO. Вы-
воды DI и DO физически соединены вместе. •
Подсоединим устройство к микропроцесс~О80, как это
показано на рис. 2.21 . Очевидно~. на вывод DIEN устройства
8216 необходимо подать некоторый управляющий сигнал, гене
рируемый микропроцессором. В случае микропроцессора 8080
при сигнале на выводе DBIN, соответствующем логической 1,
ооуществляется ввод данных. Поэтому можно подать сигнал
DВIN на линию DIEN устройства 8216. Однако при э.том необ
ходимо убедиться, что выходная нагрузка для сигнала DBIN
не превышена. Устройство 8216 потребляет ток не более 0,5 мА
в состоянии логического О и не более 80 мкА в состоянии логи
ческой 1. Выходной сигнал DВIN микропроцессора 8080 харак
теризует9я 1,9 мА в состоянии О и 150 мкА в состоянии 1. От
сюда ясно, что с помощью выходной линии DBIN возможно уп
раuлять входом устройства 8216. Необходимо постоянно пом
нить о максимальной допустимой· нагрузке для каждой линии
в системе в любой заданный момент времени и не допускаrь
превышения этой величины. Это особенно важно для начинаю
щих.
При вводе данных в микропроцессор 8,080 сигнал DВIN со
ответствует состоянию логической I·. Это означает, что выводы
DI, DO устройства 8216 должны быть соединены с шиной дан
ных микропроцессора, что соответствует ранее приведенному
объяснению процесса прохождения да·нных в устройстве 8216.
На рис: 2.21 приведена полная схема буферирования шины дан"
ных 8080 без использования системног9 контроллера 8228.
Еще раз подчеркнем, что устройство 8228 отличается про
стотой •применения, и этот фактор следует nрежде всего рас
сматривать при использовании микропроцессора 8080. Устрой-
1
0
D
o
9
о
,
8
D
2
7
D
з
М
и
к
р
о
п
р
о
:
J
С
с
с
о
р
8
0
8
0
3
D
4
4
D
s
5
D
o
6
\
о
,
7
4
L
S
0
4
D
B
I
N
1
7
.
1
2
1
К
ф
и
к
с
а
т
о
р
у
с
о
с
т
о
я
н
и
я
Р
и
с
.
2
.
2
1
.
ф
l
B
U
S
E
N
_
[
'
L
-
=
-
2
,
4
Г
-
5
,
7
Г
9
,
1
1
Г
1
2
,
1
4
Г
-
2
,
4
Г
5
,
7
'
г
-
9
,
1
1
Г
1
2
,
1
4
Г
7
4
0
4
-
2
8
2
1
6
D
I
E
N
c
s
1
5
т
1
1
8
2
1
6
D
J
E
N
c
s
1
5
Т
1
,
J
1
3
D
B
0
D
B
q
в
:
D
8
3
1
i
~
1
3
о
в
.
D
B
s
D
8
5
D
8
7
1
6
к
а
к
б
у
-
8
О
8
О
.
Ш
и
н
а
д
а
н
н
ы
х
с
и
с
т
е
м
ы
46
Глава 2
ство 8228 позволяет снизить общее число выводов в системе,
повысиТь ее надежность и уменьшить вероятность возникнове
ния неполадок.
2.1 О.
&уферированная wина
данных микропроцессора ZSO
Для буферирования шины данных микропроцессора Z80 будем
использовать технику, подобную той, которая применялась n.
случае микропроцессора 8080. Для Z80 отсутствует специальный
системный· контроллер, подобный устройству 8228. Для реали
зации соответствующего буферирования Z80 используем устрой•
ство 74LS245. Для нашего рассмотрения это устройство откры
вается путем подачи на вывод 19 сигнала уровня логического О~
На вывод DIR, определяющий направление передачи (вывод 1)
устройства 74LS245, подадим управляющий сигнал RD с выво
да 21 микропроцессора Z80. Все это показано на рис. 2.22 .
Состояние логического О на RD определяет нахождение мик
ропроцессора в режиме приема данных. В этом случае устрой
ство 74LS245 должно разрешать передачу данных от систем~
на шину данных Z80. Вспомним, что в системе 8080 для управ·
ления направлением передачи данных использовался . сигнал
DBIN (активизирован при логической 1). Таким образом, для
сигнала на прием данных от микропроцессора Z80 активное
состояние соответствует логическому О, а от микралроцессора
8080- логической 1.
2.11 .
&уферированная wина
данных микропроцессора 6800
Для буферирования шины данных микропроцессора 6800 сно
ва используем устройство 74LS245. (Отметим, что для этой це
ли можно применить любую технику буферирования, приемле-.
мую при двунаправленной передаче.) Использование 74LS245
мотивируется стремлением уменьшить число выводов в системе,
но не следует думать, что это единственное устройство, подхо•
дящее для этой цели.
В рассматриваемом случае на вывод 19, открывающий уст
ройство 74LS245, подается сигнал, соответствующий логическо
му О, либо этот вывод заземляется. При этом 74LS245 остает
ся открытым.
Линия управления направлением передачи устройства
74LS245 соединяется с выводом R/W No 34 микропроцессора
6800, как это показано на рис. 2.23. Вывод R/W находится в
состоянии логической 1, если режим микропроцессора соответ
ствует вводу данных из системы. Отметим, что все рассматри-
j
74LS245
1
•
19
14
As
Do
9
15
А,
о,
8
о,
12
Ас
7
8
А:1
М ш:р()Пр()uессор Dз
6
7
А4
Z80
04
5
9
Аз-
Ds
4
10
А2
D5
3
13
А,
о,
2
DIR
RD.
21
11
'
_j_
-=-
Вв
11
BD0
в,
BD1
12
13
Bs
BD2
14
Bs
BD3
в.
BD4
15
16
Вз
BD5
В2
во6
17
в,
во,
18
Направление
передачи данных
1 -ЧТЕНИЕ
О-ЗАПИСЬ
Буфери
рованная
шина
- данных
Рис. 2.22 . Полная схема буферирования шины данных микропроцессора Z80
с помощью устройства 74LS245.
74LS245
ЗЗ Do
32 D,
31 D,
jв,
11
в,
12
в, 13
Микропроцессор D,
6800
301-"- - -~
29 D4
в,
14
в,
15
28 Ds
27 D,
83 16
в,
17
D,
261----- ~
в,
1В
DIR
RIW
34 r--------'
9д,
BD0
8д,
BD,
7д,
BD'2
6
д,
BD3
5
д,
BD4
4д,
BD5
д,
BD6
д,
BD7
2
передачи данных
1 - ЧТЕНИЕ
о- ЗАПИСЬ
Рис. 2.23. Полная схема буферирования шины данных микропроце,ссора 6800.
Отметим аналогию с рис. -2.22 в использовании устройства 74LS245.
48
Гnава 2
ваемые микропроцессоры характеризовались обменом с буфе
рированием шины данных. Если для проектируемой системы
такое буферирование не является необходимым, ~о соответст
вующие схемы просто исключаются. Буферирование же _обсуж
дается ё целью лучшего понимания особенностей передачи дан
ных в :микропроцессорной системе, а также способов борьбы с
перегрузкой. Не следует думать, что буферирование шины дан
ных используется всегдщ в большинстве малых систем буфери
рование шины данных или адресной шины может не требо
ваться.
2.12.
&уферирование wины
.данных микропроцессора 8085
Как уже отмечалось, для микропроцессора 8085 при передаче
данных и адреса характерно наличие мультиплексированной
шины. Однако для буферирования данных это не имеет особо
го значения. Поскольку активизированное состояние сигнала
RD на выводе 32 микропроцессора 8085 соответствует низкому
74l ~:111r-,
ADr,
А
в,
во,
12
11
АО,
А
в,
во,
13
12
1\1111,ропроuсссор 14
до,
. Al,
в,,
ВО",
13
8085
дD:,
А,,
в,
во,
10
14
Буферированная
АО,1
А,
в,
В[),1
1G
1',
шина данных
AI),,
А
!'11
fШ,,
17
11,
Д[),,
л
"·'
Н') .,
18
1/
19
Al)I
л,
1ci
~.
[~:11
RD
На11р,шлевие
J2
передачи данных
1 -злпись
о- '{ТЕНИЕ
Рис. 2.24 . Полиая схема буферирования mиив ааввнх микропроцессора 8085.
уровню при работе микропроцессора в режиме приема данных
из системы, то этот сигнал может быть подан на вход DIR уст
ройства 74LS245. Полная схема буферирования шины данных
8085 приведена на рис. 2.24 .
2.t3.
ПояснениSJ к wиие ynpuneни• системы
До сих пор рассматривались две из тр·ех основнwх шин систе~
м·ы с 3 шинами - шина данных и адресная urина. Обратимся
теперь к третьей - шине управления сие, емы.
Построение систем ~ 3 wинами
49
Вспомним, что по шине управления системы• передаются че•
тыре сигнала, а именно:
1. ЧТЕНИЕ ИЗ ПАМЯТИ~
2. ЗАПИСЬ В ПАМЯТЬ.
3. •ЧТЕНИЕ С УСТРОЙСТВА ВВОДА.
4. ЗАПИСЬ В УСТРОИСТВО ВЫВОДА.
Покажем теперь, каким образом реализуются эти сигналы для
каждого микропроцессора.
2.14 .
Wина управпения системы
на базе микропроцессора 8080
При рассмотрении шины данных микропроцессора 8080 было
обнаружено, что буферирование шины данных и необходимое
управление направлением передачи обеспечивались специаль-
Запрос ва
1з HOLD
ПДП ~испмы
Запрос на
прерывание
Разрешение
прерывания
14 INT
16
INTf:
Рис; 2.25. Схема формирования шин управления на выходе системвоrо
коитро.rrлера 8228. (С, разрешения фирмы Intel.)
ным устрgйством - системным кщ1трол.1.1ером и шинным форми
рователем 8228. Это же устройство генерирует в нужные _момен.
ты времени четыре основных. сигнала управления, приведенных
4-814
50
Глава 2
выше, что показано на рис. 2.25, где упомянутые сигналы уп
равления обозначаются как MEMW, МЕМR, 1/OR, 1/OW. Эти
.сигналы являются· взаимно исключающими, а их активное со
,етоsrние соответствует уровню логического О. Таким образом·,
никакие два из них не могут быть одновременно в состоянии О.
При использовании микропроцессора 8080 в качестве конт
роллера системы устройство 8228 позволяет значительно упро
.стить проектирование системы. Однако с целью оценки разли11-
ных альтернативных вариантов рассмотрим, каким образом че
тыре сигнала управления могут быть сгенерированы с помощью
дискретных цифровых устройств: Это поможет лучше поня_ть,
как микропроцессор 8080 управляет техническими средствами
системы.
___ :;_ .,
2.15.
Фиксатор состояния микропроцессора 8080
Центральный процессор 8080 генерирует на выводы шины дан
ных байт •информации, называемый словом состояния. Слово со
оетояния генерируется .для того, чтобы оповестить технические
средства системы о намерениях микропроцессора в течение пер
"Вого Т -цикла М-цикла 1>. При переходе микропроцессора 8080 в
состояние чтения данных из памяти вначале для индикации это
то состоянця генерируется слово состояния. Это слово использу
•ется системой, для установки правильного схемного соединения,
кспользуемого микропроцессором.
При выдаче слова состояния на шину данных микропроцес
еор 8080 информирует об этом систему путем перевода в со
.стояние логической 1 сигнала синхронизации на выводе .i\Jo 19.
Этот сигнал используется системой для формирования строба,
пропускающего данные с шины данных в фиксатор, называемый
,фиксатором состояния, что показано на рис. 2.26.
После фиксации слова состояния определенные биты инфор
мации состояния логически объединяются с сигналами DBIN и
WR с целью формирования четырех сигналов шины управЛ'е-
ния. Схематически это показано на рис. 2.27.
-
1
Теперь шина управления системы в случае микропроцессора
8080 реализована с помощью схем цифровой логики. Необходи
мо подчеркнуть, что шина управления должна обеспечивать уп
равление всех соединенных с нею входов. Поэтому необходимо
,буферирование шины управлеция. Для этого можно использо
вать контроллер 8228. Если шина управления построена с по
мощью цифровых логических схе1'1, .как на рис. 2.27, то для ее.
,буферирования можно использовать стандартное устройство
7400.
•
н Подробнее см. Coffroп J. W ., Uпderstandiпg and TrouЫeshootiпg the
Microprocessor, Prentice-Hall, Eпglewood Cliffs, N. J ., 1980.
Do
D,
D'2
Микропроuессор Dз
8080
D,
о,
D,
о,
19
Строб-импульс /
от тактового ___JL_
генератора
74LSЗ74
18
19
LD0
8D 80
17
7D
16
LD,
70
14
6D 60
15
LDz
13
5D 50
12
LD,
Выходы фиксир1п
8
4D
40
9
LD, ванного слова
6
LD 5 состояния
3D 30
20
20
5
LD,
10
10
LD 7,
11
1
L-значит
«фиксированный>>.
~
STST~
Рис. 2.26. Схема фиксации слова состояния с помощью схем дискретной ло
гики. Фиксация слова состояния устройством 74LS374 осуществляется по
уровню 1 синхронизирующего импульса.
74LSD4
74,14
2
7400
10 Do
18
цп9D1
17
8080
7400
8D2
14
7D1
13
ЗD4
8
9
4D5
5о.
4
6D1
3
19
11
Строб-импульс
состояния o:r тalli
товоrо генератора
Рис. 2.27. Схема реализации шины управления системы на базе михропроцес-
'
сора 8080 с помощью _схем дискретной лоrикн.
52
No 19
M.REQ
1
1
о
о
2.16.
Глава 2
ТаблtЩа 2.2
Логическке условии для выходов управляющих сигналов
микропроцессора Z80. при указанных· функциях системы
.
No20
No21
No22
IORQ
RD
WR
о.
1
1
IOR
)
о
о
о
IOW
Сокращенное • обо-
1
1
1
MEMR
значенке функций
1
о
о
MEMW'
системы
Шина управпения системы на базе Z80
Для управления в системе на базе микропроцессора 280 ис
пользуются сигналы, обозначаемые MREQ, IORQ, RD, WR. Ло
гическая комбинация этих четырех сигналов позволяет реали-
М'ЧО
19
цп
!ОАО
20
Z80
RD
21
l~R
22
~
1
з
5
l4CU
2
1
,~-
4.
t,'
l3~.1 E:\lW
'l
5
G
Шина управ
ления си~т.е~1ы
для 280 ~
Рис. 2.28. Полная схема реализации шины управления системы на базе мик-
ропроцессора Z8o. с помощью схем дискретной логики.
зовать шину управления системы. Возможные логические ком
бинации указанных сигналов приведены в табл.- 2.2 . Пример
ная реализация этих четырех сигналов управления показана
схематически на рис. 2.28.
2.'17.
Шина управпения системы ив базе 8085
Дnя построения шины управления микропроцессора '8085 Нс•
пользуем управляющие выводы, обозначаемые как IO,iм (вы
в'од 34), RD (вывод 32) и WR (вывод 31). В там. 2.3 приведе
ны логические состояния сигналов на этих выводах соответст
венно функциям шины управления.
Построение систем_с 3.wии.ми
•5З
TaбAUЦtJ Z.8
Логические условия для выводов управляющих сигналов
мнкропроц.ессора 8085 прн указанных функциях системы
No32
No 31
No34
RD
WR
l0/M
о
1
l
IOR
Сокращенное обо-
1
о
1
IOW
о
l
о
MEMR ·]
значение функций
1
о
о
MEMW системк
Из табл. 2.3 видно, что при выполнении операций чтения
или записи для устройства ввода-вывода (IOR и IOW) сиrна.11
на выводе 10/М (34) соответствует состоянию . логической 1.
7404
RD
uп
7404
8085 VvR
7404
Ю/м
\
Ю== 1в случае запроса
на ВВО,1-ВЫВОД
МЕМ= 1в случае обра
щсн1iя к памя rн
7400
з 8iOR
6 вiow
Рис. 2.29. Полная схема реализации шины управления системы на базе микро-
~роцессора 8085 с помоUU>ю схем •днсхретной логики.
..
При выполнении же операций чтения и записи в память
(MEMR и MEMW) этот сигнал соответствует состоянию О. .
..Лри р.еализации функций, соответствующих обозначениям
этих выводов (чтение и запись), на выводы RD и WR (32 и 31)
подается· сигнал О. Таким образом, при выполнении чтения ин•
формации из памяти или с устройства ввода сигнал RD, соот•
ветствует логическому О. При вып~нении же записи в память
ипи на устройство вывода сигнал WR соответствует логическо•
ч,у О. Логические схемы, необходимые для реализации упразпя
ющих сигналов в системе н_а базе микропроцессора 8085, при•
ведены иа рис. 2.29.
•
54
Гл11ва 2
2.18.
Шина управnения сисrемы на· базе 6800
Микропроцессоры 8080, 8085 и Z80 спроектированы таким об
разом, что выполнение функций доступа к памяти и к устрой-
ствам ввода-вывода осуществляется раздельно. Эти микропро
цессоры имеют специальные команды, реализующие электр11чес-
кую связь с памятью либо с устройствами ввода-вывода систе
мы, что позволяет достаточно просто построить шину управле-
ния системы. Было принято, что во всех трех микропроцессорах
используется стандартная архитектура реализации операций:
ввода-вывода.
.
•
,
В микропро-цессоре 6800 не существует специальных и;оманд~
устанавли~ающих электрическую связь либо с памятью, либо,
с устройствами ввода-вывода. Этот микропроцессор не различа
ет память и устройства ввода-вывода; т. е. не различает тип
схем, осуществляющих прием или генерирование данных. Все
передачи в системе обрабатываются как обращения к памяти.
Архитектура ввода-вывода подобного рода известна как ввод
вывод по аналогии с обращением к памяти. Для рассмотрения
этой архитектуры введем специальный раздел с описанием ад
ресного пространства памяти, используемого устройствами вво
да-вывода.
Адресное пространство микропроцессора 6800 включает 64К
(216 ) адресов. Отведем часть из этих 64К адресов для ис;поль
зования устройствами ввода-вывода. При конкретном распреде
лении ячеек памяти полезно пользоваться так называемой таб
лицей распределения памяти. С приобретением - достаточного,
опыта в проектировании микропроцессорных систем распределе
ние памяти осуществляется достаточно просто. Тем не меиее из
соображений методического характера для микропроцессора
6800 вопросы распределения памяти целесообразно рассмотрет~
детально.
2.19.
Расnредеnение nамяrи
Распределением памяти называют разбиение имеющегося объе
ма памяти в системе с целью реализации отдельных функций.
Эта процедура характерна для любого микропроцессора. На
распределение памяти влияет целый ряд факторов, некоторые
из которых перечислены ниже: принятая архитектура ввода.
вывода (линейная выборка, ввод-вывод по аналогии с обраще
нием к памяти, стандартный ввод-вывод); используемые в сис
теме типы постоянных и оперативных запоминающих устройств.
(ПЗУ и ОЗУ); частные особенности функционирования микро-.
процессора. Подробно распределение памяти в системе будет
рассмотрено на примере проектирования небольшой системы"
управляемой микропроцессором.
По.строение систем с 3 шинами
55
Прежде всего обсудим некоторые особенности микропроцес
сора 6800 с це.Тiью обоснования конкретнЬго распределения па
мяти. Вначале необходимо рассмотреть, каким образом микро
процессор начинает работу. С подачей питания микропроцессор
переводится в рабочий режим с передачей управления в зара
:нее определенную ячейку памяти, соответствующую адресу
FFFE. Микропроцессор читает данные :из ячеек FFFE и FFFF
и формирует команду перехода по адресу, записанному в эти
ячейки. После этого выполняется команда, расположенная по
.адресу nерехода.
Предположим для примера, что в ячейке FFFE записано
число 08, а в ячейке FFFF - 00 . После считывания этих чисел
управление передается в ячейку 0800 и начинается выполнение
записанной там команды. Поскольку в описанной процедуре ис
пользуются большие адреса, то область памяти, выделяемая
для ввода-вывода, не должна располагаться в верхней части
памяти.
Отведем область памяти с адресами от 0400 до 07FF для
использования в качестве адресов ввода-вывода. При этом воз
никает необходимость в распознавании этого адресного прост
ранства и генерировании соответствующего сигнала (10/М).
Для формирования сигналов управления этот сигнал комбини
руется с сигналом R/W микропроцессора. Описанная процедура
IПОказана на схеме рис. 2.30 .
На рис. 2.31 приведена полная схема реализации шины уп
равления системы на базе микропроцессора 6800. Выбор ад
ресноГQ пространства 0400-07FF в качестве адресов ввода-вы
вода не является обязательным, а осуществлен лишь в иллюст
ративных целях.
На рис. 2.31 показан также сигнал VMA, используемый для
формирования шины управления системы. Этот сигнал генери
руется микропроцессором и называется сигналом достоверности
.адреса памяти (Valid Memory Address). При выполнении ко
манд на адресные линии может быть выдан несуществующий
адрес. Если же сигнал VМА соответствует логической 1, то ад
рес, выданный микропроцессором, соответствует реально суще
.ствующей ячейке ПЗУ или ОЗУ. Поэтому во избежание ложной
записи в память системы необходимо использовать генерируе
мый микропроцессом сигнал VMA, уточняющий все сигналы на
шине управления.
'
Отметим также использование, при функционировании шины \
управления тактового сигнала фазы 2 ( Ф2). Из временньrх диаг
рамм микропроцессора 6800 можно заключить, что процессы в
-системе вбзбуждаются по заднему фронту импульса Ф2. Тем са-
мым передача данных от микропроцессора в систему и на.обо-
рот начинается по заднему фронту импульса Ф2. Поэтому им
пульс Ф2 испощ,зуется для формирования сигналов шины уп- _
цп
68VO
Схемы генерирования
сигналов управления системы
~~~MEMR
RIW
VMA
/'----- ~
Схемы дешифрирования
управляiошеrо сигнала
ввод-вывод/память
1
MEMW
IOR
row
Ф2(ТТL)
от тактового
генератора
]
Сиrиалы
управления
системы
Рис. 2.30. Схема rеиерироваиия с помощью схем ~еmвфрвроваиии сигна
ла IO/M в системе на базе микропроцессора 6800. Наличие этой схемы
обусловлено архитектурой ввода-вывода 6800 по аналогии с обращением
к памяти.
4
13
!~
7404
BMEMR
;z: os
"\О
4
в
<::
34
=os
~ ;z:8
!;. :;; ~
os~
В!ОR
.,
ЦП
;z: f,<
)4()3
:,:
5
6800
6.
s
,,
13
19
А,о
вi6w
А"
8
20
А"
22
15
-14
!_
13
!0/М
о
◄ 0400-0?F FJ
Область
74LS42
памяти для
ввода-вь1вода
Рве. 2.31. ПОJJИая схема реапвзацвв limВH управления аетемs ■а базе ■п
ропроцессора 6800 с помощью схем дискретной логики, построевиая на осио
ве блок-схемы -рис. 2.30.
74LS367
30 Ао
2
3 ВАо
А,
4
5 ВА1
31
7 ВА2~
А2
6
32
[>
Аз
10
9 ВАз
33
А4
12
11 ВА4
34
35
-As
14
13 BAs
•1
1, 15
:в
74LS367
:ё
'-'
Ав
2
3 ВАв
с<
36
и
А7
4
5 ВА7
:,:
и
37
ВАв
Ав
6
7
ro
38
[>
:,:
Ag
10
9 ВА9
:,:
39
3
А10
12
11 ВА10
40
"'
А11
14
13 ВА11
ro
:,:
z80
и
'-'
Микроороцессор
°'
<1:
<
2 А12
ВА12
А,з
4
5 ВА,з
3
ВА14
-А,.
6
7
4
[>
А15
10
9 BA1s
5
•1
::,;
Оа
11 ВОа
:ё
14
'-'
о,
8
12 во,
с<и
15
ВО2
:,:
02
7
13
и
12
><
8Оз
6
14 ВОз
::,;
Os
5
15 во.
:,:
7
'
:,:
04
4
16 ВО5
1&
9
05
3
17 ВО5
os
10
:,:
2
18 ВО1
=
07
=
13
Направле-
22212019
ние.переда
1=- ,
WR Ro
1
0 MREQ
D=-
1
7400 ВМЁмR ~
:::.
Q1 7494
3
aJ
f,<
u
2
:,:
u
3
4
"':,:
:,:
О>
I
5
~
"'os
§<
9
;,, .
os
3
3
Рве. 2.З2а. Схема шин: адресной, давиых и управления для микропроцессо•
ра Z80.
74LS367
9Ао
2
3 ВА0
10 А1
4
5 ВА1
11 А2
6
7 ВА2
12 Аз
10[>9ВАз
13 А4
12
11 ВА4
14 А5
13 ВА5
::..
);1
Q)
Ав
ВА6
f,<
15
U·
ВА1,
.:S:
А
4
5
~
16
Ав
6
J ВА8
('$
17
[>
111
Ag
10
9 ВА9
:,:
18
s
А,о
12
11 ВА10
19
13 ВА11
~
20 А11
14
:,:
u
6800
Q)
Микропроцессор
А12
ВА12
1
22
23 А1з
4
5 ВА1з
24 А14
6
7 ВА14
25 А15
10[>9 ВА15
•1
z
33 Do
t
D1
12
8 BD1
f,<
32
u
BD2
:,:
31 D2
13 .,
7
u
Dз
14
6 ВDз
~
30
:;;
29 D4
15
5 8D4
:,:
28 D5
16
4 BDs
15
1:1:
27 Dв
17
3 ВDв
ttt
18
8D7
:,:
26 D1
2
:,:
s
VMA
1 Направление
5
передачи
7420
1=-
О=-
l~
,BMEMW
u
:,:
u
о:
1i!Q)
BIOR
!о.
=
;,, .
BIOW
~:,:
ф2 (ПL)
s
• Рис. 2.326. Схема шин: адресной, данных и управления для мнкропроцессо-.
ра 6800.·
74LS367
28
2-з
А15
А15 27
4
5
ВА14
в
·А14
26
6
7
ВА1з·
А1з 25
10[>9
ВА12
А12 24
12
11
ВА11
1\11
23
14
13
ВА10
А10
'
•1
1, 15
1, 15
Ag
22
2
3
ВА9
21
4
5
ВАв
Ав
[>
'
74LS04
-~
ALE
30
1
2 L...( '
74LS374
..гr:.
18_l
AD7
19
19
BAt
ADt; 18
17
16
ВАв
Микро-
ADs
17
14
15
BAs
процессор
16
13
12
ВА4
8085
AD4
АDз
15
8
9
ВАз
14
7
6
ВА2
AD2
13
4
5
ВА1
AD1
ADo
12
3
2
ВАо
1 i4LS374
•1 19
2
18
В0
7•
-
___]_
17
ВDв
~16
BDs
5
15
во.
·•
6
14
ВDз
7·
13
8D2
8
12
BD1
9'11
BDo
--
-
174LS245
l0/M WR RD
7404
Направление
343132
--2{) 4
передачи
о=·-
1~-
7404
1
7409
~
1
3 ВМЕМ
2
w
7404
4
6
~
1
ВМЕМ
5
;[У-
7404
BIOW
13
12 11
1D
10
R
~-Г12 11 BIOR
\
\
13
!в случае обращения I в случае запроса
к памяти
•
•
на ввод-вывод
\
ro
;z:
s
Рис. 2.32в. Схема шин: адресной, данных и управления. для микропроцес
сора 8085.
'
8080
икро-
м
пр оцессор
1
да
А,
А2
Аз
Д4
As
Ав
А1
Ав·
Ае
А10
А11
А,2
А,з
А14
А15
Do
о,
D2
Dз
D4
D5
Dв
D7
WR
DBIN
HLDA
25
26
27
29
30
31
32
33
34
35
-
1
40
37
38
39
36
10
9
8
7
3
4.
5
6
18
17
21
74C.S367
2-3 Вдо
4
5 ВА1
6
7 ВА2
10[>9 ВАз
12
11 ВА4
14
13 BAs
·1
1, 15
74LS367
2-3 ВАв
4
5 ВА7
6
7 ВАв
10[>9BAg
12
11 ВА10
14
1,! ВА 11
,,
1,15
74LS367
2-3 ВА,2
4
5 ВА1з
6
7 ВА14
10 [> 9 13A,s
·1
1, 15
8228
15~ 13 ВO0
17
16 во,
12
11 BD2
10
9 ВDз
6
5 8D4
19
18 BDs
21
2D ВO6
8
7 8D7
3
4
224
BMEMR
26
BMEMW
25
B/OR
1
27
BIOW
22
sтsтв
·г
Строб состояния
спи
..,..
'----
:;;
:ёQ)
!-о<,; ·
=
u
><
:;;
:,:
:,:
""!С(
,:,1
:,:
s
=:
}
:,:
5:а
"" ~t: :ё
;z:
Q)
=o,f -<
=1 ~~
Рис. 2.32r. Схема шии: адресной, данных и управления для мвхропр~
сора 8080,
Построение сметем с 3 шинами·
61.
равления, как это показано на рис. 2.31. Для любого из рас
смотренных выше микропроцессоров мо:ц<но реализовать архи
тектуру ввода-вывода по аналогии с обращением к памяти. Од
нако для микропроцессора 6800 такая архитектура является
обязательной.
2.20.
Выводы
Выше было показано, каким образом реализуется архитектура
систем с 3 шинами на базе микропроцессоров 6800, Z80, 8085 и
8080. Управляющие сигналы микропроцессора использовались.
для генерирования сигналов шины управления и определения_
направления передачи информации по шине данных. При этом
нет необходимости беспокоиться о синхронизации сигналов уп
равления микропроцессора. Последний контролирует логичес
кие урощш и осуществляет синхронизацию сигналов, таких, как
RD, WR, DBIN и R/W.
Из проведенного обсуждения ясно, что реализация архитек
туры системы с 3 шинами для рассмотренных микропроцессоров.
достаточно проста. Здесь не обсуждались такие детали, как
подключение памяти к системе или генерирование тактовых им
пульсов. Эти вопросы вынесены .в последующие главы.
В завершение главы приведем полные схемы четырех рас
смотренных микропроцессоров, имеющих архитектуру систем с.
3 шинами. Эти схемы представлены на рис. 2.32а - 2.32г, где
ясно видны три шины - адресная, данных и управления. Отме
тим сходство построения всех трех шин для указанных микро-
• процессоров.
_
.
Необходимо подчеркнуть, что рассмотренная схема построе
ния шины управления не является обязательной. Конкретная
реализация этой шины в большой степени зависит от .типа ~а
мяти и других ИС, используемых --в системе. Выбор представ
ленной выше реализации шины управления сдел~н лишь с
целью иллюстрации схожих сторон четырех рассматриваемых
микропроцессоров. Однако приведенная техника построения
шины управления может быть использована на практике и спо
собствует пониманию архитектуры систем с 3 шинами.
Глава 3
ГЕНЕРАТОРЫ ТАКТОВЫХ ИМПУЛЬСОВ
И ИНТЕ,РФЕй,С ПАМЯТИ ДЛЯ МИКРОПРОЦЕССОРНЫХ
СИСТЕМ С З ШИНАМИ
Во второй главе бы.11а рассмотрена структура микропроцессор
ной системы, в состав которой входят следующие три шины:
адресная шина, шина данных и шина управления. Для каждого
микропроце.ссора обсуждались требования, предъявляемые к ге
нератору тактовых импульсов. Указывалось, что он определяет
синхронизацию микропроцессорной системы. В этой главе рас
•Смотрим вопросы генерации последовательности тактовых им
пульсов, т. е. покажем, как обеспечить систему необходимым
.генератором тактовых импульсов. ,
Также обсудим вопросы интерфейса памяти в системах с 3
шинами, в частности для каждого типа микропроцессора со
тласование электрических характеристик при использовании раз
.личных ОЗУ и ПЗУ. К:роме того, рассмотрим методы организа
ции интерфейса в микропроцес~;орных системах для ОЗУ с об
щим входом и выходом и для ОЗУ с раздельными входом и
.выходом.
3.1.
Генератор тактовых импульсов
дпя микропроцессора 8080
Для микропроцессора 8080 требуются две высоковольтные •
(12 В) последовательности тактовых импульсов. Эти последо
вательности условно назовем: фаза 1 (Фl) и фаза 2 (Ф2). Вре
менные соотношения последовательностей тактовых импульсов
локазаны на временной диаграмме (рис. 3.1). Там же содер
жится перечень их временнь1х характеристик, для которых в
-таблице приведены ограничения.
Временная диаграмма и ее характеристики показывают, что
яолучение последовательностей тактовых импульсов, отвечаю
щих заданным требованиям, представ.,яет собой отдельную и
Jiелегкую техническую задачу. К: счастью, в рамках этой зада
чи для микропроцессора 8080 ~ыла разработана специальная
интегральная схема. Это генера'ГUJ) тактовых импульсов с щиф
ром 8224. К:роме выработки тактовой последовательности им-
111ульсов для 8080, устройство 8224 может выполнять и другие
функции. Это делает его применение в микропроцессоре Intel
8080 более удобным. Дополнительные возможности генератор4
Генераторы тактовых импульсов и интерфейс пам,~ти
ф1
ф2
Обозначение \
tns
Параметр
Период следРвания импульсов
Время переднего и время заднего
фронта
Ширина импульса Фl
Ширина импульса Ф2
Временной интервал .между задним
фронтом импульса Ф 1 и перед
ним фронтом следующего им
пульса Ф2
Временибй интервал между задним
фронтом импульса 'Ф2 и перед
ним фронтом следующего им
пульса Ф 1
Задержка импульса Ф2 по отношению
к импульсу Ф 1
101
Значение
мин. 1 макс.
0,48 2,0
о50
60
220
о
70
80
Единица
измерения
мкс
НС
ИС-
нс
нс
нс
НС
Примечание. Характеристики переменного тока: Тл=О -70°С, VDD=+l2 В±5%, Vcc-
•+5 В±5%, V 88=5 В±5%, V55 =0 В, если ие оговаривается особо.
Рис. 3.1. Временная диаграмма последовательностей Фl, Ф2 тактовых
импульсов для м11кропроцессора 8080. Временные характеристики последова
тельностей тактовых импульсов даны в таблице. (С разрешения фирмы lntel.)
тактовых импульсов 8224 будут рассмотрены в следующих гла
вах.
Для проектировщика, использующего систему 8080 в каче
стве ~азовой, разработка генератора тактовых импульсов не
соста:вит труда. Если в качестве системного контроллера ис
пользуется микропроцессор 8080, то генератором тактовых им
пульсов в этом случае будет устройство 8224. Благодаря этому
уменьшается объем оборудования и, конечно, увеличивается на-'
дежность системы.
Схема и спецификации генератора 8224 представлены на
рис. З.2а и 3.2б. Для его работы необходимы лишь подача ~пи-
rлasa 3
Конфигурация выводов
RESET
Vсе
RESIN
XTAL1
RDY/N
XTAL 2
READY
TANK
SYNC
osc
р2(ТТL)
S Т.::,ТВ
GND
Voo
Схема устроr.ства
l!DXTAL 1 = -----,
@>XTAL2
@>TANK
Генератор
тактовых +9
импульсов
ФI @>
Ф2 [!о>
r------n<п~)!D
@)SYNC ---+ --L/
JDRESIN
• Вход
триггера
[D Шмитта
RDYIN
L__J-...._--RESETII)
t---REAIJY{D
RESIN Вход «Сброс»
RESET Выход «Сброс»
XTAL 1
{ Выводы для подключенив,
XTAL 2
кварцевого резон атора
•
Вход «Готов»
TANK ' Используется для обе рт.он~
RDYIN
кварцевого резонатора
·R E A DY Выход «Готов»
osc
Выход генератора
SYNC
Вход «Синхронизаия»
9'ЩТТL) Фазаф2 (ТТЛ - уровень)
sтsтв Строб состояния
Активный уровень-низкий Vc~
+58
ф1
1
8080
ф2
Въ1ходы с.инхроимпульсов
для микропроцессора
Voo
+1213
-
GND
ов
'
Рис. 3.2а. Схема и назначение выводов генератора тактовых им.пу~ 8224
при совместном использовании с 8080. (С разрешения фирмы Intel.)
тания от источника постоянного тока .и подключение внещнеrо
кварцевого резонатора. Требуемая частота колебаний кварце•
вого резонатора в 9 раз больше, чем частота импульсов, соот
ветствующая периоду tcy в последовательностях импульсов, Ф 1
и Ф2 для микропроцес.-сора 8080. Допустим,· например, что tcy,
равен 1 мкс, что соответствует частоте в. 1 МГц. Частота коле
баний резонатора должна быть равна 9 МГц, что соответ~твует
периоду, равному де:вятой части tcy.
• На рис. 3.3 показано, как ~енератор 8224 подключается ·1'
микропроцессору 8080. В1?1ходной сигнал генератора
.8224 на
рисунке имеет обозначение STST,B. Этот сигнал упомЩiалtя. в
rл. 2 как сигнал для стробирования слова состояния в фикс~~
торах состояний. Он подается, когда слово состояния поступаеж
на ш_И:ну данных. Если у вас нет полного пред(?тавления о фув:~t,.
циях этого стробирующего сигнала в системе, обратитесь 1t
разд. 2.13, в котором рассматривается шина управления микро~
1
'1
j.,
i
Генераторы тактовых импул~,сов и интерфейс памити
65
Характеристики генератора тактовых импульсов 8224
Преде.пы
МШI, 1 тип. , макс,
Eдmm-
Обозначение
.Параметр
Ц8 ИЗ·
Условие проверки
мереиня
lp
Входной ток
-0,25 мА Vp=0,45 В
IR
Входной ток утеч-
10 мкА VR=5,25 В
ки
Vc
Входное прямое
1,0
в lc= -5мА
напряжение захва-
та
V1L
Низкий уровень
0,8
в Vcc=5,0 В
входного напряже-
ния
V1н
Высокий уровень 2,6
в Вход RESET
входного напряже- 2,0
в Все другие входы
ния
V1н-V1L Напряжение
входе REDIN
на 0,25
мВ Vcc=5,0 В
VoL
Низкий уровень
- 0,45
в (Фl, Ф2), READY
выходного напря-
RESET, STSTB
жения
IoL=2,5 мА
О,45
в Все другие выход
IoL= 15 мА
ы
Vон
Высокий уровень
выходного напря-
9,4
lон= -100 мкА
жения Фl, Ф2
в
READY, RESET 3,6
в lон= -100 мкА
Все другие выходы 2,4
в lон=-1мА
lsc
Выходной ток ко- -10
-60 мВ Vo=0 В
роткого замыкания
(Все выходы низ-
Vcc=5,0 В
ковольтные)
lcG
Ток источника ПИ·
115
мА
тания
Inn
Ток источника ПН·
12
мА
тания
Примечание: 1. Осторожно. Выходы устройства Фl, Ф2 не имеют защиты от короткого
аамыкаиня. 2. Характеристики постоянного тока: Тл=О -70°С, Vcc=+5,0 В±5%,
VDD-+12 В±5%.
Рис. 3.2б. Спецнфнк,щии для генератора тактовых импульсов 8224. (С раз
решения фирмы Iпtel.)
процессорной системы 8080. Мы видели, что при использовании
генератора тактовых импульсов 8224 для микропроцессора 8080
нет сколько-нибудь значительных затруднений в получении кор-
5-814
66
Глава 3
ректных последовательностей тактовых импульсов Ф 1 и Ф2. На
стоятельно рекомендуем применять его для управления систе
мой, разрабатываемой на базе микропроцессора 8080.
1:tо~~Ги
"':а
11
"'о ....
f-<N
10
"'"'
"'""
f-<
4
о. "'
00
f-< u
1
"'"'
о. с;
<!J;,,
5
:,: t::
<!J;;,
~=
/7-
sтsтв
22 ф1 8080
15 ф2
23 READY
12 RESET
19 SYNC
К системному
контролеру 8228
или фиксатору
«состояния»
Рис. 3.3 Схема подключения гене
ратора тактовых импульсов 8224 к
микропроцессору 8080.
Э.2.
Генератор тактовых импульсов
дпя микропроцессора 8085
Схема генератора тактовых импульсов микропроцессора 8085
полностью содержится в самом микропроцессоре. Достаточно
просто подключить кварцевый резонатор к . выводам Х 1 (вы-
1-6
МГц
х,
8085
Рис. 3.4 . Схема подключения кварце
вого резонатора к микропроцессо
ру 8085, предиазиаченного для ста
билизации частоты следования так
товых импульсов. Тактовая частота
микропроцессора 8085 в два раза
меньше частоты колебаний кварцево-
го резонатора.
вод 1) и Х2 (вывод 2) микропроцессора 8085. Кварцевый резо
натор может иметь любую частоту колебаний в диапазоне от
1 до 6 МГц. Эта частота делится пополам и соответствующие
импульсы с периодом tcy используются в микропроцессоре 8085.
На рис. 3.4 показано, как путем подключения кварцевого резо
натора обеспечивается синхронизация микроп_роцессора 8085.
Генераторы тактовых импульсов и интерфейс пам,~ти
67
Э.Э.
Генератор тактовых импуnьсов
дnя микропроцессора Z80
Для работы микропроцессора Z80 требуется одна последова
тельность тактовых импульсов. Т 0 кая последовательность мо
жет быть образована различными способами. На рис. 3.5 пока
зана схема генерации синхронизирующих импульсов для мик
ропроцессора Z80. Частота колебаний, как видно, определяется
кварцевым резонатором Х1. Однако для того чтобы эта схема
работала, произведение R1C 1 должно быть численно больше,
Х1,
(1МГц)
,-------101--------,
R1
330
+5в.
)0-----i ~ 6 Вход синхро
7404
7404
импульсов мик
ропроцессора
Z80
Рис. 3.5 . Схема генератора тактовых импульсов для микропроцессора Z80.
Выход этого генератора несовместим с ТТЛ-схемами. С помощью согласую
Щl!ГО резистора на 510 Ом напряжение на выходе генератора тактовых им
пульсов увеличивается примерно до 5 В. Характеристики генератора такто-
вых импульсов представлен_ы на рис. 3.6.
чем период колебаний. Допустим, требуемая частота равна
1 МГц. Ей соответствует период в 1-10-6 с. Это означает, что
величина произведения R1C1 до,лжна- быть больше, чем 1-10-6
.
Величина сопротивления R1 должна оставаться постоянной и
иметь значение приблизительно в 330 Ом. При этом значение
С 1 должно быть больше или равно l •10-6 /330 Ф. Это же зна
чение приблизительно равно 3000 пФ. Такая величина произве
дения R 1C 1 обеспечивает необходимый фазовый сдвиг частоты
колебаний. Спецификация характеристик генератора тактовых
импульсов для микропроцессора Z80 дана на рис. 3.6 .
Э.4.
Генератор тактовых импульсов
дnя микропроцессора 6800
Микропроцессор 6800 подобно микропроцессору 8080 требует
для своей работы две последовательности тактовых импульсов,
для образования которых должны использоваться схемы, от
личные от ТТЛ-схем. Эти последовательности тактовых импуль-
Е
с
л
и
н
е
у
к
а
з
а
н
о
о
с
о
б
о
,
и
з
м
е
р
е
н
и
я
в
с
е
х
в
р
е
м
е
н
н
ы
х
х
а
р
а
к
т
е
р
и
с
т
и
к
в
ы
п
о
л
н
е
н
ы
п
р
и
с
л
'
е
д
у
ю
щ
и
х
н
а
п
р
я
·
ж
е
н
и
я
х
:
t
c
ф
t
w
(
Ф
L
)
,
.
Т
а
к
т
.
и
м
n
.
s
ы
х
о
ц
в
х
а
1
1
Т
д
"
'
О
0
С
д
о
7
0
'
C
,
V
c
c
~
+
5
В
±
5
%
С
и
г
н
а
л
О
б
о
з
н
а
ч
е
н
и
е
П
а
р
а
м
е
т
р
t
c
П
е
р
и
о
д
с
л
е
д
о
в
а
н
и
я
т
а
к
т
о
в
ы
х
и
м
п
у
л
ь
с
о
в
Ш
и
р
и
н
а
и
м
п
у
л
ь
с
а
н
а
4
'
t
w
(
Ф
H
)
в
е
р
х
н
е
м
у
р
о
в
н
е
Ш
и
р
и
н
а
и
м
п
у
л
ь
с
а
н
а
н
и
ж
н
е
м
у
р
о
в
н
е
о
V
c
c
-
0
,
6
B
0
,
4
5
B
2
,
0
В
0
,
8
В
2
,
0
В
О
,
8
В
Л
V
~
О
,
5
В
М
i
п
М
а
х
Е
д
и
н
и
ц
ы
и
з
м
е
р
е
н
и
я
0
,
4
[
1
2
)
м
к
с
1
8
0
Н
С
1
8
0
2
0
0
0
н
с
f
w
(
Ф
L
)
В
р
е
м
я
п
е
р
е
д
н
е
г
о
и
з
а
д
н
е
г
о
t
г
f
ф
р
о
н
т
а
и
м
п
у
л
ь
с
а
3
0
Н
С
У
с
л
о
в
и
е
,
п
р
о
в
е
р
к
!
'
!
[
1
2
]
l
c
=
f
w
\
<
P
H
)
+
t
w
(
<
P
L
f
l
г
1
-
!
1
1
;
Р
н
с
.
3
.
6
.
В
р
е
м
е
н
н
а
я
д
и
а
г
р
а
м
м
а
и
о
с
н
о
в
н
ы
е
в
р
е
м
е
н
н
ы
е
х
а
р
а
к
т
е
р
и
с
т
и
к
и
п
о
с
л
е
д
о
в
а
т
е
л
ь
н
о
с
т
и
т
а
к
т
о
в
ы
х
и
м
п
у
л
ь
с
о
в
д
л
я
:
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
а
Z
8
0
.
(
С
р
а
з
р
е
ш
е
н
и
я
ф
и
р
м
ы
Z
i
l
o
g
.
)
Р
а
б
о
ч
а
я
ч
а
с
т
о
т
а
0
,
1
1
-
1
1
,
0
1
Т
а
к
т
и
р
о
в
а
н
и
е
f
c
:
W
.
c
В
р
е
м
я
ц
и
к
л
а
1
,
0
-
1
0
Д
л
и
т
е
л
ь
н
о
с
т
ь
т
а
к
т
о
в
о
г
о
и
м
п
у
л
ь
с
а
р
Ф
Н
(
и
з
м
е
р
е
н
о
п
р
и
V
с
е
-
0
,
3
В
)
Ф
1
4
3
0
-
4
5
0
0
Ф
а
4
5
0
-
4
5
0
0
О
б
щ
е
е
д
л
я
Ф
l
и
!
1
1
2
р
а
б
о
ч
е
е
в
р
е
м
я
t
u
t
9
4
0
-
-
В
р
е
м
я
н
а
р
а
с
т
а
н
и
я
и
с
п
а
д
а
Ф
1
,
Ф
а
t
ф
r
,
t
ф
f
5
,
0
-
5
0
(
и
з
м
е
р
е
н
о
м
е
ж
д
у
V
s
s
+
0
,
3
В
и
V
c
c
-
0
,
3
В
)
В
р
е
м
я
з
а
д
е
р
ж
к
и
и
л
и
р
а
з
д
е
л
е
н
и
е
п
о
ч
а
с
т
о
т
е
t
d
о
-
9
1
0
0
(
и
з
м
е
р
е
н
о
п
р
и
V
o
v
=
V
s
s
+
0
,
5
В
)
П
р
о
д
о
л
ж
и
т
е
л
ь
н
о
с
т
ь
в
ы
б
р
о
с
а
t
o
s
о
-
4
0
Ф
а
з
ы
п
о
с
л
е
д
о
в
а
т
е
л
ь
н
о
с
т
и
т
а
к
т
о
в
ы
х
и
м
п
у
л
ь
с
о
в
ф
1
и
;
,
2
м
и
к
р
о
п
о
ц
е
с
с
о
р
а
Р
W
о
1
н
ф
1
ф
2
V
o
v
=
V
s
s
+
0
,
5
B
=
Т
о
ч
к
а
и
з
м
е
р
е
н
и
я
п
е
р
е
к
р
ы
т
и
я
и
м
п
у
л
ь
с
о
в
!
с
у
с
t
u
l
Р
W
,
,
,
н
П
о
л
о
ж
и
т
е
л
ь
н
ы
й
в
ы
б
р
о
с
V
o
s
,
•
У
V
,
н
c
m
i
n
V
o
s
V
о
з
\
f
"
,
V
m
a
x
I
L
C
"
'
V
o
s
м
Г
ц
м
к
с
Н
С
н
с
н
с
Н
С
н
с
Р
и
с
.
3
.
7
.
В
р
е
м
е
н
н
а
я
д
и
а
г
р
а
м
м
а
и
о
с
н
о
в
н
ы
е
х
а
р
а
к
т
е
р
и
с
т
и
к
и
п
о
с
л
е
д
о
в
а
т
е
л
ь
н
о
с
т
е
й
'
r
l
i
~
T
Q
,
~
;
,
~
1
о
1
п
r
л
ь
с
о
в
д
л
я
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
а
6
8
0
0
.
(
С
р
а
з
р
е
ш
е
н
и
я
ф
и
р
м
ы
M
o
t
o
r
o
l
a
.
)
70
Гла-ва 3
сов имеют названия «фаза 1» и «фаза 2» соответственно. На
рис. 3.7 показаны формы импульсQв и даны спецификации по
следовательностей тактовых импульсов, предназначенных для
микропроцессора 6800. Видно, что, как и для микропроцессора
8080, генерация тактовых импульсов такой формы представляет
собой непростую техническую задачу. Фирма Motorola разрабо-
+5-------. ---~
Чтение
HOLD1
+5 памяти GNo GND 1 , 1 sземr1Я
20722
18
6871А
ф()
Модуль генера:rора 5 t------ 2 П L •
тактовых импульсов
13 12.
ф1
Ф2
3
37 36
ф1 Ф2 DBE
Микро
процессор
6800
Рис. 3.8. Схема подключения генератора 6871А к микропроцессору 6800.
тала генератор тактовых импульсов, который пригоден для ис
пользования совместно с микропроцессором 6800. Такой гене
ратор, обозначаемый 6870А или 6871А, рекомендуется исполь
зовать совместно с микропроцессором 6800 как основной компо
нент системы управления. На рис. 3.8 показана схема подключе
ния генератора тактовых импульсов к микропроцессору 6800.
Отметим также, что для сигналов, передаваемых по шине управ
ления, в микропроцессоре 6800 используется задний фронт син
хронизирующего импульса из фазы 2. (EcJIИ вы плохо представ
ляете себе о чем здесь идет речь, то обратитесь к соответствую-
•щему разделу гл. 2, в котором рассматривается шина управле
ния микропроцессора 6800.) Это означает, что последователь
ность «фаза 2» должна подаваться на вход устройства с ТТЛ
логикой. В микропроцессоре 6800 используется входной уровень
•сигнала, отличающийся от принятого в ТТ Л-схемах. Поэтому
Генераторы тактовых импульсов и интерфейс памяти
71
нельзя подgвать на вход микропроцессора 6800 последователь
ность «фаза 2», которая используется для ТТЛ-схем внутри си
стемы, так как уровни напряжений сигналов в двух указанных
последовательностях должны быть различными. Однако в гене
раторах тактовых импульсов 6870А и 6871А для последова
тельности Ф2 предусмотрен специальный уровень в.ыходных сиг
палов, пригодный для схем с ТТЛ-логикой, который использует
ся для ТТЛ-схем в микропроцессорной системе 6800.
3.5 .
Выводы
Для обеспечения функционирования микропроцессора Z80 тре
буется одна последовательность тактовых импульсов, а для
микропроцессоров 8080 и 6800 необходимы две несинхронизи
рованные последовательности тактовых импульсов. МикропрЬ
цессор не будет работать нормально, если генератор тактовых
импульсов функционирует неправильно. Следует отметить, что
при поиске неисправностей в микропроцессорной системе целе
сообразно сначала убедиться в том, что все подаваемые уровни
напряжения имеют требуемые значения и что все последова
тельности тактовых импульсов имеют необходимые временные
соотношения и номинальные уровни напряжения.
3.6 .
Интерфейс памяти в микропроцессорных
системах с 3 шинами
В этом разделе обсуждаются вопросы подключения ПЗУ и ОЗУ
в микропроцессорных системах с 3 шинами. Сначала рассмат
ривается подача сигнала по линии выбора памяти, или линии
разрешения доступа к памяти, а затем организация интерфей
са обычных ПЗУ и ОЗУ в микропроцессорных системах. В ка
честве ПЗУ выбрано устройство 2708, а в качестве ОЗУ -уст
ройства 2102 и 2124. Выбор названных устройств обусловлен
их широким распространением в настоящее время. Если знать,
как подключаются эти устройства к микропроцессорной систе
ме управления, то вполне будет понятно, каким образом под
ключаются другие им подобные устройства.
После того как выбрано подходящее для системы устройство
памяти, составляется схема распределения памяти. О ней упо
мина.11ось в гл. 2 при рассмотрении микропроцессора 6800. Те
перь подробно разберем, что подразумевается под этим поня
тием.
Таблица распределения памяти - это присвоение областям
физически доступного пространства памяти определенных функ
ций. Например, можно использовать область памяти с адресами
0000-0ЗFF для ПЗУ, а область памяти с адресами 0400-0?FF
для ОЗУ. На формирование таблицы распределения памяти ока-
72
Глава З
зывают влияние такие факторы, как архитектура ввода-вывода
и типы устройств ОЗУ и ПЗУ. В данном обсуждении будем счи
тать, что способ организации ввода-вывода по аналогии с обра
щением к памяти не используется; в качестве ПЗУ нашей
-системы выбрано устройство 2708, в качестве ОЗУ -устройство
2102. Таблица распределения памяти системы в этом случае бу
дет такой, как показано на рис. 3.9. На этом рисунке представ
_лено распределение доступного пространства памяти с диапа-
0000-ОЗFF
ПЗУ1
0400-07FF
ПЗУ2
0800-0BFF
ПЗУз
OCOO-OFFF
ПЗУ4
1000-lЗFF
ОЗУ
1400-FFFF
Не используется
Рис. 3.9 . Пример распределения памяти системы.
зоном адресов 0000-FFFF блоками в 1К: и для ОЗУ и для ПЗУ
Размер блока 1 К: выбран из тех соображений, что физически
память организуется так: 1 К:Х8ПЗУ и 1 К:Х 1 ОЗУ. Причем,
чтобы получить ОЗУ объемом в 1 К: байт, параллельно подклю
чаются 8 блоков ОЗУ по 1 к:. Об этом будет рассказано в дан
ной главе ниже.
В случае если в качестве ПЗУ нашей системы выбрано уст
ройство 2716, то блоки памяти для ПЗУ будут иметь размер,
равный 2 К:. Это объясняется тем, что устройство 2716 _представ
ляет собой ППЗУ (перепрограммируемое постоянное зmюми
нающее устройство) емкостью 2 К:Х8. Очевидно, что таблица
распределения памяти служит справочником, содержащим ин
формацию о распределении доступного пространства памяти
микропроцессорной системы.
Допустим, что нет необходимости использовать все прост
ранство памяти, и поэтому для ПЗУ зарезервировано 4096
байт (или 4 К). Однако следует помнить, что, если резерв ока
жется слишком маленьким, при возникновении потребност.и в
дополнительном объеме памяти для реорганизации таблицы
распределения памяти в уже действующей системе могут потре
боваться значительные усилия. Таким образом, если адресное
пространство памяти позволяет, жесткая экономия памяти не
является необходимой. Всегда стоит предусмотреть место для
возможного расширения.
3.7 .
ПЗУ системы
Теперь рассмотрим, как микропроцессор связывается с ПЗУ
электрически.
_
.
К:огда микропроцессор подает на шину адреса адрес из диа
пазона 0000-0ЗFF, то из таблицы распределения памяти ясно,
Генераторы тактовых импульсов и интерфейс naм,rrи
73-
что для связи с ним будет открыто ПЗУ0. Аналогичное соответ
с:гвие существует для ПЗУ 1 , ПЗУ2, ПЗУ3 : Из сказанного можно
заключить, что в адресной схеме системы должен протекать не
который процесс однозначного выбора, и он реализуется пода
чей на линии адреса ВА 10 -ВА1з определенного кода выбора или
сигнала разрешения доступа к памяти - к отдельному блоку
памяти или к совокупности блоков. Например, если микропро-
Двоичиые значения сигналов иа линиях шины адреса, соответствующие
определенным областям адресного пространства памяти
ВА1з
ВА 12
ВА 11
ВА10
Диапазон адресов
о
о
о
о
0000-0ЗFF ПЗУо
о
о
о
l
040~07FF ПЗУ1
о
о
l
о
0800-0BFF ПЗУ2
о
о
l
l
0C00-0FFF ПЗУз.
о
l
о
о
lOO~lЗFF ОЗУ
Рис. 3.10. Двоичные значения сигналов на линиях шины адреса, соответствую,.
щие определенным областям адресного пространства памяти.
цессор был связан с ПЗУ 1 , то на линиях адреса ВА10-ВА 13
должны быть следующие двоичные значения 1000 соответствен
но. На рис. 3.10 показаны двоичные значения состояний линий
адреса ВА1 0-ВА 1 з для нескольких диапазонов адресов.
Используя рис. 3.10, можно спроектировать комбинацион
ную логическую схему, которая будет выдавать активный сиг
нал, когда адрес памяти находится в определенных предела){.
А именно, когда адрес памяти относится к одному из ее бло
ков по 1 К:, на линии выбора памяти, соответствующей этому
блоку, появится сигнал. К: счастью, эта проблема является
классической, и она имеет простое решение. В частности, мож
но использовать дешифратор, выполненный в виде ТТЛ-устрой
ства среднего уровня интеграции, например двоично-десятичный
дешифратор 7442 1>.
На рис. 3.11 показано, как дешифратор 7442 используется в
системе управления микропроцессора д,JJЯ дешифрирования ад
реса и получения сигнала выбора памяти. Изготовители полу
nро$одниковых устройств памяти часто разрабатывают свои
со,бственные цифровые дешифраторы, предназначенные для при
менения с определенными устройствами памяти. Фирма Iпtel,
например, предлагает цифровой дешифратор 8205 «один из
восьми». Его можно использовать для формирования сигналов
на линиях выбора памяти.
Теперь покажем, как используются линии выбора памяти,
шина адреса, шина данных и шина управления для связи мик-
° Coffron J. W ., Gettiпg Started iп Digital TrouЫeshooting, Reston Pub-
lishing Со., 1979,
74
Глава З
ропроцессора и ПЗУ системы. Структурная схема связи памя
ти ПЗУо-ПЗУз с шинами показана на рис. 3.12 . Ниже будет
объясняться принцип действия представленной на этом рисун
ке схемы.
Отметим, что на схеме линии адреса ВА0-ВА9 соединяются
с соответствующими адресными выводами А0-А9 четырех уст
ройств ППЗУ типа 2708. Подобный способ соединения выводов
С адресной !
шины микро-
процессор.а
ед,о
15
А
ВА 11
14
в
ВА 12
13
с
ВА 13
12
D
7442
1
0000··0ЗFF
2
0400-07 FF
3~
0800··0В FF
Линии
выбора
памяти
4
5
6
0C00-0F FF
1000-13FF
1400-17FF
[
Линии активны в состоянии
логического О
Рис. 3.11 . Схема образования сигналов на линиях выбора памяти, в которой
используется просТi)Й дешифратор 7442.
называют соединением в виде дейзи-цепочки. Также отметим,
что выводы, используемые для выдачи данных четырех ПЗУ,
связаны по принципу дейзи-цепочки с соответствующими ли
ниями шины данных.
Вследствие того что выводы ПЗУ связаны по принципу дей
зи-цепочки, попытка вывода в одно и то же время данных более
чем из одного ПЗУ привела бы к непоправимым ошибкам. Та
кая ситуация известна как «конфликт на шине данных». «Кон
фликг на шине данных» происходит, когда в некоторый момент
времени на линии шины данных поступает более чем один на
бор выходных сигналов. В действительности два выходных
сигнала ра_зличных активных устройств поступают почти одно
временно. Такая ситуация в системе является недопустимой.
Для предотвращения конфликта на шине данных между че
тырьмя модулями ПЗУ система в некоторый данный момент вре
мени открывает только один модуль ПЗУ. Эта функция линии
выбора памяти рассматривалась раньше. Для этой системы ли
нии выбора памяти в активном состоянии имеют уровень логи
ческого О. Однако для других систем могут быть приняты иные
соглашения.
Линии выбора памяти имеют обозначения MS0-MS3 . Сиг
налы на этих линиях являются входными сигналами для двух-
Ш
и
н
а
д
а
н
н
ы
х
Ш
и
н
а
1
5
1
3
А
о
В
А
,
В
А
2
В
А
з
В
А
4
В
А
5
В
А
б
В
А
7
В
д
а
Б
А
g
П
З
У
О
0
0
0
0
-
0
З
F
F
2
7
0
8
8
•
д
о
А
,
А
2
А
з
А
4
D
o
Щ
В
D
а
v
1
W
в
о
1
А
7
В
D
з
B
D
4
B
D
5
В
D
s
B
D
7
;
;
i
.
А
а
2
2
A
g
_
1
8
-
=
-
c
s
"
"
"
"
w
ё
s
о
-
3
7
4
L
S
З
,
M
S
1
M
S
2
_
M
S
.
:
,
А
д
р
е
с
~
ш
и
н
а
Р
и
с
.
3
.
1
2
.
И
н
т
е
р
ф
е
й
с
ч
е
т
ы
р
е
х
м
о
д
у
п
е
i
j
П
З
У
J
0
4
0
0
-
0
7
F
F
2
7
.
Q
!
L
D
o
u
~
"
·
В
А
1
6
А
1
В
А
2
5
А
2
В
А
з
4
А
3
А
,
А
5
А
В
А
5
~
1
6
В
А
7
-
д
7
В
А
8
B
A
g
-
~
2
0
ё
s
1
-
-
7
4
L
S
3
2
1
.
,
-
,
J
5
П
З
У
2
0
8
0
0
-
0
B
F
F
2
7
0
8
2
0
C
S
2
7
4
L
S
3
2
П
З
У
З
0
C
0
0
-
0
F
F
F
2
7
0
8
А
о
А
2
А
з
А
4
А
5
А
в
А
7
А
в
B
D
1
О
1
1
1
1
J
B
D
2
B
D
3
А
9
C
S
1
8
2
0
ё
s
з
А
7
1
1
А
5
7
4
L
S
3
2
А
с
,
А
4
д
,
8
D
4
8
D
5
B
D
5
B
D
7
-
=
-
К
о
н
ф
и
г
у
р
а
ц
и
я
в
ы
в
о
д
о
в
П
П
З
У
2
7
0
8
в
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
н
о
й
с
и
с
т
е
м
е
с
3
ш
и
н
а
м
и
.
О
б
щ
и
й
о
б
ъ
е
м
П
З
У
р
а
в
е
н
4
0
9
6
Х
6
Q
!
J
T
,
76
Глава З
входовых схем ИЛИ типа 74LS32, показанных на рис. 3.12 .
Когда сигнал MEMR, подаваемый по шине управления, имеет
логическое значение О, тогда на выходе схемы ИЛИ, на вход
которой подается сигнал выбора памяти, имеющий логическое
значение О, будет сформирован сигнал уровня логического О.
Состояние логического О на выходе схемы ИЛИ теперь обеспе
чивает сигнал выбора кристалла в выбранном ПЗУ. Когда вход
ной сигнал выбора кристалла ПЗУ имеет значение логического
О, выходные сигналы ПЗУ поступают на шину данных. Выхо
ды других ПЗУ, на /входах которых сигналы вы-бора кристалла
имеют логические значения, равные 1 (пассивное состояние),
находятся в состоянии высокого сопротивления. Когда выход
находится в состоянии высокого сопротивления, он не будет ока
зывать влияния на какие-либо другие связанные с ним выходы.
Используя вывод выбора кристалла на устройстве памяти,
выходы устройств памяти можно соединять по принципу дейзи
цепочки. Например, допустим, что микропроцессорная система
выполняет операцию чтения из памяти по адресу 0409 16 . Де
шифрирование сигналов, поступающих по шине адреса, приве
дет к выбору ПЗУ. Линия выбора MS 1 - вывод 2 устройства
74LS42 на рис. 3.12 - примет значение логического О. Тем са
мым будет установлено состояние логического О на выходе 4
схемы 74LS32. Только одна из четырех схем ИЛИ, а именно
схема ИЛИ с выводом 4, имеет логическое значение О на этом
выводе. Теперь лишь одна эта. схема подготовлена к отпира
нию. Мы говорим, что <<схема подготовлена к отпираник»>, так
как для ее отпирания должен быть подан соответствующий уп
равляющий сигнал. Для отпирания схемы И.ПИ шина управле
ния должна сформировать и подать на соответствующую схему
ИЛИ сигнал управления чтением нз памяти. Микропроцессор
• будет подавать сигнал управления чтением из памяти в соответ
ствующий момент после истечения времени доступа к данным,
находящимся в памяти. В это время на выводе 20 ПЗУ 1 уст-
. ро й с т в а 2708 сигнал выбора кристалла будет иметь уровень
логического О. Теперь выбранные из ПЗУ данные через внутрен
ние логические схемы ППЗУ типа 2708 поступят на шину дан
ных.
После выполнения за· соответствующее время чтения дан
ных из ПЗУ 1 типа 2708 микропроцессор переведет шину управ
ления в «нерабочее состояние» путем подачи сигнала, имеюще
го логическое значение 1, на линию управления чтением из па
мяти. Подобные действия ·выполняются каждый раз, когда мик
ропроцессор выполняет операцию чтения данных из ПЗУ. Когда
мы рассматривали действия, связанные с процессом чтения дан
ных из ПЗУ, стали очевидными некоторые особенности этого
процесса. Рассмотрим их. При этом не будем касаться пробле
мы получения всех синхронизирующих импульсов, так как мик-
Генераторы тактовых импульсов и интерфейс пам,~ти
77
ропроцессор сам обеспечивает синхронизацию при образовании
адреса и формировании сигналов управления. При использова
нии микропроцессоров с 3 шинами существует сложная пробле
ма обеспечения корректной работы всех схем дешифраторов.
Комбинационные логические схемы дешифрации сигналов,
образуемые микропроцессором, должны предотвращать возмож
ные появления конфликтов на шинах. Не исключено, что потре
буется подключить микропроцессор к памяти, для которой вре
мя доступа к даным больше, чем время, выделяемое для этого
действия микропроцессором. Такую задачу можно решить. Од
нако в большинстве случаев приходится использовать ПЗУ, для
которых время доступа к данным меньше, чем время, выделяе
мое для этого микропроцессором. В последнем случае задача
проектирования состоит в разработке простого дешифратора с
использованием статических комбинационных логических схем.
В гл. 6 для каждого рассматриваемого микропроцессора будет
изучаться интерфейс устройств памяти, которые требуют для
доступа к данным больше времени, чем выделяемое для этого
микропроцессором.
После б,мее подробного ознакомления с вопросами интер
фейса ПЗУ в микропроцессорных системах будут рассмотрены
некоторые популярные методы решения задачи дешифрации.
Тогда, применяя испытанные методы, мы будем в состоянии бы
стро и уверенно проектировать простые микропроцессорные си
стемы. Не следует думать, что методы дешифрации, изложен
ные в этой книге, отражают современный уровень достижений
в этой области. Представленные здесь методы будут способст
вовать пониманию основных принципов. Эти методы пригодны
для практического использовавия. Однако, уделив этой задаче
больше внимания, с целью сокращения объема оборудования
можно разработать другие рациональные методы дешифрации.
3.8 .
Интерфейс ОЗУ
Для выполнения различных функций в микропроцессорных сис
темах используется несколько ОЗУ. В процессе выполнения
программы ОЗУ используется для временного хранения данных
и, когда используются подпрограммы, для временного сохране
ния адресов возврата. Далее будем рассматривать интерфейс
трех типов статических ОЗУ в микропроцессорных системах с 3
шинами.
Известны два типа статических ОЗУ: ОЗУ с раздельными
входом и выходом и ОЗУ с совмещенными входом и выходом.
ОЗУ с раздельными входом и выходом имеют на устройстве два
вывода-'--:- один для ввода данных, другой для вывода данных.
ОЗУ с общим входом и выходом имеет один вывод для ввода и
вывода данных. Сначала рассмотрим, как микропроцессор под-
78
Глава З
ключается к ОЗУ с раздельными входом и выходом, затем об
судим вопрос подключения микропроцессора к ОЗУ с общим
входом и выходом.
Интерфейс ОЗУ в микропроцессорных системах с 3 шинами
опишем следующим образом. Сначала вспомним, что микро
процессор должен иметь возможность записывать данные в па
мять и выводить данные из памяти. Микропроцессор выдает
данные, записываемые в память, на шину данных. Данные, под
лежащие выводу из памяти, выводятся на шину данных с по
мощью ОЗУ. Это означает, что шина данных должна иметь
электрический тракт как для ввода данных в ОЗУ, так и для
вывода данных из ОЗУ. Указанные связи показаны на рис. 3.13.
В течение цикJiа записи в память входы ОЗУ связываются с
шиной данных, а в течение цикла чтения из памяти выходы
ОЗУ связываются с шиной данных. Заметим, что при такой схе
ме подключения ОЗУ данные могут передаваться по не предназ
наченному для них тракту, если он окажется открытым, и тог
да возможна конфликтная ситуация на шине данных. Такая не
приятная ситуация может произойти, потому что выходы ОЗУ
соединены непосредственно с шиной данных и могут находить
ся в активном состоянии, в то время как микропроцессор через
соответствующие входы ОЗУ попытается выполнить запись дан
ных в память. Это показано в общих чертах на пояснительном
рис. 3.14 .
При использовании памяти с раздельными входом и выхо
дом для предотвращения возможного конфликта на шине- дан
ных может быть использован следующий способ. (Заметим, од
нако, что рассматриваемый ниже способ предотвращения кон
фликта нет необходимости использовать, когда в качестве ОЗУ
с раздельными входом и выходом выбраны устройства, имею
щие внутренние схемы для реализации интерфейса ОЗУ с раз
дельными входом и выходом в микропроцессорных системах с
3 шинами.) Если понять принципы подключения ОЗУ с раз
дельными входом и выходом типа 2102 к микропроцессору в
системе с 3 шинами, то подключение других аналогичных уст
ройств памяти не вызовет затруднений. При использовании
такого .устройства памяти, как ОЗУ 2102 на время записи дан
ных в память, необходимо отключить выходы ОЗУ от шины дан
ных. Для этого воспользуемся устройством, которое называют
буфером с тремя состояниями. Его входы соединяются с 13Ыхо
дами памяти, а выходы - с шиной данных. Схема включения
буфера показана на рис. 3.15.
.
Дальнейшее обсуждение будем вести на примере буфера с
тремя состояниями типа 74LS367, схема включения которого
показана на рис. 3.16. Это не единственное устройство, способ
ное выполнить требуемые функции. Оно выбрано для конкрет
ности изложения. Буфер с тремя состояниями блокируется (пе-
Рис. 3.13. Схема связи шины дан
ных с устройством памяти, имеющим
раздельные вход и выход.
Рис. 3.14. Схема связи устройства
памяти с шиной данных, при которой
возможен конфликт на шине дан
ных. Кружком на схеме отмечена
точка возникновения конфликта на
шине данных.
Рис. 3.15. Включение буфера с тре•
мя состояниями на выходе ОЗУ.
Когда шина данных управляется
микропроцессором (запись данных в
ОЗУ), выход ОЗУ отключается от
шины данных. Это исключает воз
можность возникновения конфликта
на шине данных.
Шина .
данных
Память с раздельными
входом и выходом
I
-
!
Данные
в память
'-
Данные из памяти
Память с раздельными
входом и выходом
\
I
Вв~~:~~::о
\
---,
1
1
1
1
1
__________ _J
\
Выходные данные
Возможен конфликт на шине
Память с раздельными
входом и выходом
.~;:,. Сп
Вывод данных
' \ Буфер с тремя
устойчивыми
~ состояниями
Подача уровня
логического О
разрешает вывод
данных из памяти
иа шину данных
80
Глава З
реходит в состояние высокого сопротивления), когда выводы 1
и 15 находятся в состоянии логической 1. К:огда микропроцес
сор записывает данные в ОЗУ типа 2102, на выводы 1 и 15 бу-
Шина данных
микропроцессорной системы
BD1
BD2
BD,
BD,
WE= о/
(активный
уровень)
Память
2102
Wt
WE
74LS367
г----,
12
3 1BD0
i5 1BD1
1
1
1
1
7 1BD2
gIBD3
:
1
1
1
11 1804
13IBD5
1
1
1
1
5I8D7
1
15
,,,
Lg_j
С шины управлс- :
ния микропроuес - ЧТЕНИЕ =0
сорной системы ЗАПИСЬ =1
Рис. 3.16. Фрагмент схемы, обеспечивающий отключение выходов ОЗУ ти
па 2102 с помощью схем с тремя устойчивыми состояниями типа 74LS367.
фера с тремя состояниями подается сигнал уровня, соответст
вующего логическому значению 1. Во время выполнения мик
ропроцессором любой операции записи данных в память 2102
внешние аппаратные средства должны обеспечить на указан
ных выводах состояние логической 1. В течение операции запи
си микропроцессор будет выводить данные на системную шину
данных. Перед этим микропроцессор через шину управления
\
Генераторы тактовых импульсов и интерфейс памяти
81
подает сигнал разрешения записи в память. Выход устройства
2102 на время выполнения операции запи.си с помощью буфера
с тремя состояниями отключается от шины данных. Это необ-
,
ходимо для устранения возможности конфликта на шине дан
ных. Отметим, что некоторые полупроводниковые устройства
памяти с раздельными входом и выходом сами имеют буфер
ные схемы, предназначенные для отключения их выходов от
шины данных в течение операции записи в память. При исполь
зовании устройств памяти такого типа достаточно соединить
входной и выходной вывод устройства памяти и затем подклю
чить их к шине данных.
3.9 .
Чтение данных из ОЗУ
При выполнении операции чтения данных из ОЗУ состояния ли
ний шины данных определяются сигналами на выходах памяти.
Линии данных микропроцессора должны находиться в режиме
ввода данных. Вход ОЗУ не будет воздействовать на состояние
Шина управления
Линия импульса
MEMR
К выходам
1, 15 схемы 74LS367
Вывод разрешен
6 состоянии
логического Q
Линия выбора памяти
Рис. 3.17. Схема формирования сигнала, подаваемого на выводы 1 и 15
устройства 74LS367 и обеспечивающего отпирание выходов блоков ОЗУ 2102.
шины данных. Это объясняется тем, что сигналы на вход ОЗУ
поступают от другого источника. Принципы функционирования
ОЗУ в этом режиме почти совпадают с рассмотренными нами
выше принципами действия ПЗУ.
Для формирования сигнала выбора кристалла, подаваемого
на соответствующий вывод ОЗУ, линия выбора памяти и линия
шины управления подключаются в соответствии со схемой, по
казанной на рис. 3.17. В течение времени чтение данных из
ОЗУ на линии разрешения записи в ОЗУ 2102 (вывод 3) дол
жен действовать сигнал с логическим значением 1.. Когда мо
дуль ОЗУ 2102 выбран в соответствии с кодом адреса, установ
ленным на шине адреса, а шина управления активизирует ли
нию записи в память, буфер с тремя состояниями открывает
ся сигналом, подаваемым на выводы 1 и 15. Когда буфер с
тремя состояниями открыт, данные из ОЗУ 2102 поступают на
шину данных. На стадии чтения данных выход блока 2102 свя
зан с соответствующей л1:1нией шины данных. После того как
микропроцессор выведет данные из ОЗУ 2102, линия чтения из
6-814
82
Глава 3
/
/
памяти в системной ши·не управления переводится в нерабочее
состояние, а буфер с тремя состояниями 74LS367 переводится
в состояние высокого сопротивления. Таким образом будет осу
ществляться передача данных с шины данных в ОЗУ. Как ви
дим, операция чтения данных из ОЗУ не отличается от опера
ции чтения данных из системного ПЗУ.
3.1 О.
Запис~. данных в ОЗУ
Теперь рассмотрим порядок выполнения операции записи дан
ных в память. Чтобы записать данные в устройство памяти ти
па 2102, необходимо выполнить следующие действия:
1. Подать на адресные линии адрес памят:ы:.
2. Подать· данные на линии ввода данных ОЗУ.
3. На линию разрешения записи в память подать сигнал,
устанавливающий на линии низкий уровень напряжения.
Итак, адрес будет подан на шину адреса микропроцессорной
системы; .·шния выбора памяти будет активизирована после
дешифрирования_ кода адреса на адресной шине; микропроцес
сор будет выдавать информацию на шину данных. Данные го
товы для ввода в память.
Однако ОЗУ на этой стадии не готово к выполнению опера
ции, так как на линию выбора кристалла не подан соответству
ющий сигнал. Чтобы записать данные в память, необходимо ее
открыть. Но отпирание памяти фактически заключается в от
пирании выходов памяти. Это обусловливает конфликт между
данными на выходе микропроцессора, т. е. данными, записывае
мыми в ОЗУ, и данными, выводимыми из ОЗУ. Чтобы предот
вратить этот возможный конфликт, между выходными линиями
памяти и шиной данных включается буфер с тремя состояниями
типа 74LS367. Теперь, когда подан сигнал разрешения записи
и память открыта, выход ее для избежания конфликта с пере
даваемыми из микропроцессора в ОЗУ данными блокируется
посредством устройства 74LS367. Соответствующая последова
тельность действий показана на временной диаграмме (рис.
3.15). Ясно, что открыть ОЗУ необходимо перед выполнением
операции чтения или записи данных. Однако линия разреше
ния записи в память находится в рабочем состоянии только
тогда, когда выполняется запись данных в ОЗУ. Логическая
схема для формирования необходимых управляющих сигналов
приведена на рис. 3.19.
Мы рассмотрели, как для одного устройства памяти в мик
ропроцессорных системах с 3 шинами выполняются операция
чтения данных из памяти и операция записи данных в память.
Но шина данных микропроцессорной системы имеет 8 разря-.
дов. Это означает, что одновременно должно быть прочитано
или записано 8 разрядов. Так как применяемые нами блоки па-
Генератор1о1 тактовых импульсов и интерфейс памяти
_/
Адресная шина А 0 - А15
Сигнал выбора памяти активен
Ввод данных в память
Схема 74LS367 блокирована
в память активен
l_J;мпульсзаписи
Высокий уровень импут,са
чтения из памяти
83
'нс. 3.18. Временная диаграмма сигналов, испольэуемЬ1х системой во время
выполнения операции записи в память.
Импульс мыборJ 11Jмяп1
MEMR
На вход выбора
кристалла (вывод
, -- - - 1З) устройства
памяти 2102
На выводы 1,15
._ ___ __ _ _. . схем 74LS367
>ис. 3.19. Использование линии выбора памяти и шины управления для по
лучения сигналов управления ОЗУ.
lfяти имеют одну входную линию и одну выходную линию, не
)бходимо одновременно читать из восьми отдельных блоков
::>ЗУ и также одновременно записывать данные в восемь бло
ков ОЗУ. Это достигается посредством синхронного выполнения
зсех функций управления ОЗУ, т. е. подачи адреса, формирова
~ия сигналов разрешения записи и выбора кристалла. Все вы
воды управления восьми отдельных модулей ОЗУ соединены
в виде дейзи-цепочки. Линии ввода данных соединяются с соот
ветствующими линиями шины данных. Выходы ОЗУ подклю
чаются к буферу с тремя состояниями типа 74LS367. Выход бу
фера 74LS367 подключается к входу, предназначенному для
И
м
п
у
л
ь
с
з
а
п
1
1
с
и
в
п
а
м
я
т
ь
(
M
E
M
W
)
Л
1
1
н
н
н
ш
и
н
ы
а
д
р
е
с
а
А
о
-
А
•
3
4
R
/
\
~
5
R
W
6
7
2
1
1
с
Е
1
6
1
6
З
l
-
-
~
3
R
/
W
й
1
3
1
5
1
5
3
0
3
1
3
С
Е
1
3
1
3
D
0
-
D
7
Ш
и
н
а
д
а
н
н
ы
х
И
м
п
у
л
ь
с
:
«
В
ы
б
о
р
M
E
M
R
7
4
L
S
3
2
9
7
4
0
8
И
,
1
п
у
л
ь
с
о
т
п
и
р
а
н
и
я
п
а
м
я
т
и
д
,
1
я
ч
т
е
н
и
я
и
ш
1
з
а
п
и
с
и
И
м
п
у
л
ь
с
о
т
п
н
р
а
н
и
>
I
7
4
L
S
3
6
7
(
т
о
л
ь
к
о
д
л
я
ч
т
е
н
и
я
н
з
п
а
м
я
т
и
)
1
1
1
3
3
~
3
R
W
С
Е
1
3
1
,
1
5
:
_
_
J
1
3
1
1
,
1
5
L
_
•
,
3
Ш
и
н
а
д
а
н
н
ы
х
R
/
W
1
3
Р
и
с
.
3
.
2
0
.
С
х
е
м
а
о
р
г
а
н
и
з
а
ц
и
и
п
а
м
я
т
и
о
б
ъ
е
м
о
м
1
0
2
4
Х
8
б
и
т
,
с
о
с
т
а
в
л
е
н
н
о
й
и
з
в
о
с
ь
м
и
б
л
о
к
о
в
п
а
м
я
т
и
2
1
0
2
.
Генераторы тактовых импульсов и интерфейс памяти
85
ввода данных, того же самого модуля ОЗУ. Таким образом ор
ганизуется память в виде статического ОЗУ 1 КХ8. Функцио
нальная схема такого ОЗУ показана на рис. 3.20.
Э.11.
Интерфейс ОЗУ с общим входом
и выходом
Интерфейс ОЗУ, имеющего общий вход и выход, подобен рас
смотренному выше интерфейсу ОЗУ с разделенными входом и
выходом. Однако ОЗУ с общим входом и выходом имеет один
вывод, используемый и для ввода данных, и для вывода дан
ных. Это не приводит к путанице внутри блока памяти, так как
очевидно, что в один и тот же момент времени можно либо чи
тать данные из памяти, либо вводить данные в память. Устрой
ство памяти никогда не может выполнять эти две функции од
новременно. Дальнейшее рассмотрение будем вести на примере
статического ОЗУ 1 КХ4 с общим входом и выходом типа 2114.
При выполнении записи данных в ОЗУ 2114 общий вывод
ОЗУ действует как вход. В течение времени записи выходы
ОЗУ 2114 блокируются посредством внутренних схем ОЗУ. На
• рис. 3.21 представлены некоторые технические сведения об ОЗУ
2114. Прежде чем микропроцессор начнет подавать данные на
общие выводы памяти, она должна быть подготовлена к работе,
т. е. должен быть выбран соответствующий блок памяти. Что
бы избежать конфликта на внутренних выходных линиях памя
ти при вводе данных в ОЗУ, когда линия разрешения записи
имеет уровень логического О, внутренние выводы ОЗУ блокиру
ются с помощью внутренних схем. Указанные внутренние выхо
ды переводятся при этом в состояние высокого сопротивления,
что предотвращает возникновение какого-либо конфликта на
шине данных. Это означает, что во время выполнения операции
записи данных. в устройство памяти 2114 в состоянии логичес
кого О должна находиться как линия разрешения записи, так
и линия выбора кристалла. Это показз.но на временнбй диаг-
рамме, изображенной на рис. 3.22.
-
При считывании данных из ОЗУ 2114 линия выбора кристал
ла должна иметь состояние логического О, между тем как ли
ния разрешения записи поддерживается в состоянии логичес
кой 1. Это достигается с помощью внешних схем. Когда линия
выбора кристалла переходит в состояние логического О, дан
ные из ОЗУ подаются на общий вход-выход. (В течение вре
мени выполнения операции чтения из памяти общие выводы
устройства 2114 играtот роль выходов.) Соответствующая схе- .
ма, предназначенная для формирования требуемых управляю-·
щих сигналов, представлена на рис. 3.23. Схема организации
памяти, построенной из модулей ОЗУ типа 2114 для микропро
цессорной системы с 3 шинами, представлена на рис. 3.24. Как
Конфигурация в\.1водов
Ав
Vcc
А5
А7
А4
Ав
А3
Ag
Ао
110,
А1
1/02
А2
1103
cs
1/04
GND
Обозначение на схемах
Ао
А1 110,
А2
Аз 1/02
А4
А5
1/Оз
Ав
А7
Ав
1/04
Ag
WE cs
Назначение вы11одов
Ао Ag Входь, адреса
Vcc Питание
WE
Разрешение записи
GND Земля
cs
Выбор кристалла
1/0 1-1/0 4 Ввод-вывод данных
А5 (i)
Ав-=------'
A7@-':c-----J
АВ -=®'------<
Схема устройства
~-,_
1
Массив
памяти
(64 ряда,
64 столбца)
@
~ Vcc
®
----GNO
О Номера вь1водов
Рис. 3.21. Структурная схема и назначение выводов модуля статического ОЗУ
1024Х4 типа 2114. (С разрешения фирмы Iпtel.)
Рис. 3.22 . Временная диаграмма
сигнала выбора кристалла и сиг
нала разрешения записи. Чтобы
избежать конфликта на шине дан
ных при использовании ОЗУ с об
щим входом и выходом, сиmал
с логическим значением О должен
одновременно подаваться на ли
нию выбора кристалла и на линию
разрешения записи.
Генераторы тактовых импульсов и интерфейс; памяти
87
видно, для реализации статической памяти 1 КХ8 требуются
только два модуля типа 2114. Вспомним, что при использовании
модулей статического ОЗУ типа 2102 для реализации ОЗУ объ-
МЕМW
Запись в
~з----------память
L----if- -- -1 _ _
___ ,,-
(вывод IО
Линия
4
выбора ___ .__
5
""
памяти
7408
MEMR
устройства
2114)
1, .:
3---- На вход
«Выбор
кристалла»
(вывод 8
устройства
2114)
Рис. 3.23. Схема формирования сигналов управления памятью с использова
нием шины управления и линии выбора памяти.
2114
2114
5
Ао
Ао
5
6
7
4
з
2
1
17
74LS32
16
11
1
8
10
cs
WE
Выбор
з
памяти
Шина данных D11 - D7
Рис. 3.24. Схема ОЗУ 1024Х8 бит, содержащая два блока ОЗУ 2114.
емом 1 КХ8 потребовалось 8 блоков памяти. Этим объясняется
большая популярность модуля 2114 в небольших микропроцес
сорных системах.
3.12 .
Микроnр.оцессор как системный контроnnер
Перечислим основные аппаратные средства обычных микро
процессорных систем. К ним относятся: генератор тактовых им
пульсов, ПЗУ и ОЗУ, шина адреса, шина управления, шина
данных. Конечно, для управления системой необходимо доба -
88
Глава 3
вить некоторые устройства ввода и вывода, которые лишь до•
полнят описанную нами основную систему. В гл. 4 подробно
рассматриваются различные типы устройств ввода-вывода, слу
жащих неотъемлемой частью типичных микропроцессорных
систем. Теперь обсудим некоторые условия работы аппаратных
средств, являющиеся необходимыми для корректной работы
микропроцессора. Будем полагать, что в нормальном цикле ра
боты микропроцессорной системы: 1) не возникают запросы
на прерывания, 2) не используется режим прямого доступа к
памяти, 3) не допускаются паузы и ожидания. Эти положения
не внесут коренных изменений, _поскольку для многих микро
процессорных систем работа в таком режиме является вполне
обычной. Когда микропроцессор работает в таком режиме, он
является системным контроллером. Причем он не прекратит вы
полнение программы до тех пор, пока питание не будет выклю
чено.
В следующих разделах этой главы рассмотрим, каким обра
зом должен быть подключен каждый и:сз четырех микропроцес
соров, чтобы он работал в указанном режиме.
3.1 Э.
Подготовка микропроцессора 8080
дnя работы в режиме системного контропnера
Для подготовки микропроцессора 8080 к работе в режиме сиь
темного контроллера необходимо вывод 13 (вход сигнала
HOLD) соединить с корпусом, т. е. обеспечить на нем уровень
напряжения, соответствующий логическому О. Это· исключит
возможность использования в системе канала прямого доступа
к памяти. Вход INT (вывод 14) также должен быть соединен
с корпусом. Тем самым микропроцессор 8080 будет защищен от
прерываний. Затем вход RDYIN генератора тактовых импуль
сов необходимо соединить с источником питания так, чтобы на
этом входе был уровень, соответствующий логическому значе
нию 1. Это дает возможность избежать наступления пауз и
ожиданий во время режима нормального функционирования
микропроцессора. В итоге описанные действия приведут к то
му, что микропроцессор будет работать с соблюдением сдеJiан
ных выше оговорок. Этого удалось достигнуть, соединив вы-
-
воды, на которые обычно подаются сигналы разрешения рас
смотренных функций, к выводам, на которых всегда поддержи
ваются уровни напряжений, обеспечивающие блокировку соот
ветствующих входов.
3.14 .
Установка начального состояния
микропроцессора 8080
После включения питания центральный процессор должен на
чинать выполнение программы каждый раз с команды, распо
ложенной в. ячейке с определенным адресом, а не в какой-либо
Генераторы тактовых импульсов и интерфеRс памяти
89
произвольной ячейке. Для этого нужно выполнить начальную
установку микропроцессора. Такая начальн.ая установка осу
ществляется при первом включении микропроцессора, а также
в любое время, когда потребуется вернуть микропроцессор к
началу выполнения системной программы, всегда с одной и той
же определенной ячейки памяти. Чтобы выполнить функции
начальной установки микропроцессора 8080, к входу RESIN
(вывод 2) генератора тактовых импульсов 8224 подключаются
Рис. 3.25. Схема отключения пита
ния микропроцессора 8080, ис
пользующего генератор тактовых
1N914
импульсов 8224.
Ключ
+5
R,=
8224
10 кОм
t-----+-- -. d2
RESIN
q
элементы, соединенные в соответствии со схемой, показанной
на рис. 3.25. После запуска микропроцессор 8080 начинает вы
полнять программу с команды, имеющей адрес 0000. Тем са
мым всегда можно принудительно нач!lть выполнение програм
мы с некоторой фиксированной начальной команды.
Из рис. 3.25 видно, что RС-цепочка обеспечит подачу сигна
ла «сброса». Когда подается напряжение V се, конденсатор на
ходится в разряженном состоянии. После приложения напря
жения конденсатор будет заряжаться до напряжения Vcc через
резистор R 1. Когда напряжеf{Ие достигнет некоторого опреде
ленного значения, выполнение команды «сброс» завершится
и система начнет выполнение программы с адреса 0000.
Ключ, показанный на рис. 3.25, позволяет выполнять «сброс»
системы в любое время. Нажатие ключа приводит к разрядке
конденсатора, и. микропроцессор будет находиться в исходном
состоянии до тех пор, пока напряжение на конденсаторе не
достигнет требуемого значения. Устройство 8224- генератор
тактовых импульсов - имеет на входе триггер Шмитта, который
управляет напряжением между конденсатором и резистором и
в то же самое время дает маленькую нагрузку RС-цепочке.
На рис. 3.26 изображена полная микропроцессорная система
8080 -с обозначениями всех выводов и указанием необходимых
межсоединений, которая позволит микропроцессору действо
вать как системному контроллеру в соответствии с описанны
ми выше предположениями.
Ао
2
8080
4
5
А,
А2
6
7
Аз
10
9
11
9.ОМГц
А4
As
+5
4.7 кОм
..
:,:
Ф1
Ав
:,;:
15
4
3
/
3
10
23
Ф2
А7
6
Ав
"'
ROYIN
84
REAOY
"'
10
:,:
10кOм
1
RESET
А9
u
19
12
.,,
5
А,о
с.
2
SYNC
"t
Клю
14
13
<
I1мкФ 7
1
А,2
А,з
4
5
13
6
7
14
HOLD
А,4
10
9
INT
A,s
,,
8228
~Ро
Оо 10
15
·13
9
17
16 во,
о,
8
12
11 ВО2
02
7
10
9 ВDз
Dз3
6
5 во.
04
4
19
18 BD5
"'
Os
:,:
5
21
20 806
"
Ов
3
6
8
7 ВО7.
о,
18
WR
17
3
DBIN
4
"'
21
"
HLDA
BMEMR l
:,:
2
.,,
24
"'
BMEMW t ~
26
с.
BJOR
"'
25
BJOW
;,.
27
"':,:
1
"
sтsтв
22
3
Строб состояния
из генератора
7
тактовых импульсов
Рис. 3.26. Схема использования микропроцессора 8080 в качестве контролле
ра системы.
Генераторы тактовых импульсов и интерфейс памяти
91
3.15.
Педrотовкв микропроцессора 8085 дnя рвботы
в режиме системноrо контроnnера
Рассмотрим теперь, каким образом микропроцессор 8085 под
.готавливается к работе в режиме системного контроллера. Для
этого соединим вход HOLD (вывод 39) с корпусом. Это защи
тит память от прямого доступа. Потом подадим на вход
READY (вывод 35) напряжение уровня, соответствующего ло
гической 1. Это предотвратит паузы во время нормального вы
полнения программы. Наконец, соединим выводы TRAP (вы
вод 6), RST 7.5 (вывод 7), RST 6.5 (вывод 8), RST 5.5 (вы
вод 9) и INTR (вывод 1О) с корпусом. Это исключит возмож
ность прерывания микропроцессора 8085 во время нормального
выполнения программы. Названные режимы работы микропро
цессора 8055 будут рассматриваться ниже при обсуждении спо
собов организации прерываний для различных микропроцессо
ров.
Для обеспечения начальной установки микропроцессора 8085
к входу «сброс» (вывод 36) подключаются элементы, образую
щие такую же схему, как и схема, подключаемая к входу
-«сброс» генератора тактовых импульсов 8224. Включенный та
ким способом микропроцессор будет работать как контроллер
системы, в котором не допус·кается режим прямого доступа в
память, запрещаются прерывания и состояния ожидания. Соот
ветствующая полная схема системы 8085, организованной по
рассмотренному способу, представлена на рис. 3.27.
3.16.
Подrотовка микропроцессора Z80 дnя работы
в режиме системноrо контроnn_ерв
Рассмотрим микропроцессор Z80 с точки зрения использования
его как системного ,контроллера. Чтобы исключить возмож
ность прямого доступа в память, соединим вывод 25, на который
подается сигнал BUSRQ, с источником питания и тем самым
обеспечим на этом входе уровень напряжения, соответствую
щий логической 1. Также обеспечим уровень, соответствующий
логической 1, на выводе 24, который предназначен для приема
входного сигнала WAIТ. Тем самым микропроцессор будет за
щищен от пауз во время нормального выполнения программы.
Наконец, на выводы 16 и 17, обозначенные через INT и NMI
соответственно, подадим уровень логической 1. Это предотвра
тит возможность наступления прерываний при работе микро
процессора.
3.17 .
Начаnьная установка микропроцессора Z80
Для установки начального состояния микропроцессора Z80 мо
жет быть использована схема, представленная на рис. 3.28.
Эта схема действует аналогично схеме начальной установки,
4,7
кОм
2,оМГц
+5
10кOм
SPST
/
i ~мкФ
Схема
откл/О'lения
питания
+5
'-------135
Тгар
RST 7.5 б
RST 6.5 7
- R-'S'-'T-5"-.5'---!
8
INTR
g
HOLD 10
39
8085
/0/М WR RD
343132
7404
7404
A,s 28
д,. 27
А,з 26
А,2 25
24
Att 23
А,о
Ag 22
Ав 21
ALE
74LS04 "'"1...J::
30
1
~
\п_ 2
AD, 1- " 19:__________,, __= - 1
ADs t-1'-"8'----------<0--+-'-' -,
AD51--" 17__ __ ____ _. , . _. .........,_ _ ~
AD• ._1~6'-------е-+-+-+-'"'--'
АDз f-. : . .:15'- -------<>-1-- -1---1- -l-. . :: : . .i
AD2 f-1'- 4:__ _
__,>--'1--1---1---1......;---'--4
AD-, t- ' -' 13:__-< ,- ..-jf---,i --1- --1-- -1- --I-- --I
ADo ,_1~2'--'>->- -'f---,'-'- -- -< -- --<--'-- -"'- -1
2
6
4
10
Запрос ввода
вывода =1
Запрос памяти = 1
С>
8D7
8D6
_
BD5
8D4
8D3
В02
во,
В00
"'
"
"
:3
передачи данных
о=-
7400 1 =->+ -
"':,:
:,:
:3
Рис. 3.27. Схема использования микропроцессора 8085 в качестве контролле
ра системы.
Клю.ч
+5
10 кОм
Триггер
ч·-·
На !)ХОД «Сброс»
микропроцессора
ZBO
Рис. 3.28. Схема отключения питания микропроцессора ZBO.
1МГц
е3
74LS36T
30
Вдо
31
ВА1
2
32
ВА2
о,, мк
33
ВА3
7404
34
ВА4
•35
ВА5
+5
о!
4,7 хОм
:=
36
As
ВА5
,§
37
А7
ВА7
38
А8
ВАа "'
А
"'
17
39
ВА9
"
40
А,о
ВАю u
А11
.,,
1
ВА11
~
WATT 24
•1
?
А1
ВА12
+5
3
А1
ВА13
,,.
4
ВА14
5
А1
BA1s
·• RESET
26
i
~
14 Do
BDo} "';
D
1.S
BD1
12
D2
BD2
D
BD3 =t
вD4
Z60
7D5
BD4 l,,j
9D6
В05 $
10 D7
:g~ s
1~
Рис. 3.29. Схема использования микропроцессора Z80 в качестве контрол-
лера системы.
•
94
Глава З
предназначенной для микропроцессоров 8080 и 8085. Как и в
случае указанных микропроцессоров,. Z80 после установки в
начальное состояние начинает выполнять программу с коман
ды, находящейся по адресу 0000. На рис. 3.29 представлена
полная схема микропроцессорной системы 280, спроектирован
ной для работы в качестве системного контроллера.
3.18.
Подrотовка м-нкропроцессора 6800 дпя работы
ц режиме снстемноrо кoн:rponnepa
Теперь сосредоточим внимание на некоторых особенностях схе
мы включения микропроцессора 6800 в качестве системного
контроллера .. На вход HALТ (вывод 2) подадим уровень, соот
ветствующий логическому значению 1. Это предотвратит воз
можность выполнения операции прямого доступа в память.
Обеспечим также уровень логической 1 на выводах 4 и 6, на
которые подаются входные сигналы IRQ и NMI. Благодаря это
му в микропроцессоре 6800 не будут возникать прерывания.
В микропроцессоре 6800 не могут возникать паузы во время
нормального выполнения программы. Это достигается благода
ря «растягиванию» сигналов генератора тактовых импульсов.
Более подробно рассмотрим этот вопрос в гл. 6.
Подадим также вторую фазу тактовых импульсов на вход
DBE (сигнал отпирания шины данных). Когда в последователь
ности «фаза 2» появляется уровень логической 1, шина данных
обеспечивает передачу данных в микропроцессорной системе.
3.19.
Начаn~.ная установка мнкропроцессора 6800
Схема начальной установки микропроцессора 280, рассмотрен
ная нами выше, может использоваться и для начальной уста
новки микропроцессора 6800. В этом cJryчae она выглядит, как
показано на рис. 3.30 . Напомним, что после выполнения началь
ной установки микропроцессор 6800 не начинает выполнение
программы с ячейки, имеющей адрес 0000.
После выполнения начальной установки микропроцессор по
дает на адресную шину адреса FFFE и FFFF. Содержи
мое ячейки с адресом FFFE представляет собой млад
шие восемь разрядов формируемого адреса. По адре
су FFF'F находятся восемь старших разрядов формируемого
адреса, которые рассматриваются микропроцессором как неко
торые данные. Полный 16-разрядный адрес получается из с.1ов,
содержащихся в указанных ячейках. Таким образом, ячейки
памяти FFFE и FFFF содержат фактический адрес, с которого
начинается выполнение программы посл~ начальной установки
микропроцессора 6800.
101(0М
Ключ
+5
На вход RESET
(вывод 40микро
процессора 6800)
Рис. 3.30. Схема отключения питания микропроцессора 6800 .
... ..
ф2(ТТL)
+5
ВА10
ВА11
ВА12
37
3
NMI
6
IRO
Усе
4 RESET 40
тsс
39
-:-
6800
VMA
5
9
10
11
12
13
14
15
16
17
16
19
20
22
23
24
25
33
32
31
30
29
28
27
26
А·
А1
А2
АЗ
д4
А5
ВАо
вд,
ВА2
_8А3
Вд4
ВА5
·1
"':,:
=
А6
А7
Ag
А9
А,а
А11
Вдв s
Вд7 ..
Вдg "':,:
Вд9 u
вд,
jВд11
•1
А12
А13
А14
А1
DQ
}
~
D1
о,!
D2
1 :,:
D3
2~
D4
3 i,i
4"'
5
5 !;!
Ов
D7
6s
7
пение
чи
х
"
=
i'J
""'
"'§'
;,- .
"'
!\
Рис. 3.31. Схема использования микропроцессора 6800 в качестве контрол
лера системы.
96
Глава 3
Эта особенность микропроцессора 6800 обыкновенно ис
пользуется для адресации в область старших адресов имеюще
г~ся в распоряжении адресного пространства ПЗУ (64К). Теперь
ясно, что в ПЗУ должен находиться адрес, который должен при
запуске микропроцессора разместиться на шине. данных. Рас
смотрим пример. Предположим, что в ячейке памяти с адресом
FFFE содержится код 63, а в ячейке памяти с адресом FFFF-
кoд 7F. Таким образом, когда микропроцессор устанавливается
в начальное состояние, программа восстановления системы на
чнет свое выполнение с адреса 7F63, тогда как другие микро
процессоры после «сброса» начинают работать по программе,
выбирая первую команду из ячейки с адресом 0000.
Полная структурная схема микропроцессора 6800, исполь
зуемого в качестве с'истемного контро.11лера, представлена на
рис. 3.31.
3.20.
Выводы
В этой главе были рассмотрены некоторые детали реализации
микропроцессорных систем с 3 шинами, построенных на микро
процессорах 6800, 8080, 8085 и 280. Были показаны способы
подключения ПЗУ и ОЗУ к микропроцессорам указанных ти
пов. Наконец, были представлены полные системные проекты
применения каждого из четырех типов микропроцессоров в ка
честве контроллеров микропроцессорных систем.
В оставшейся части книги будут рассмотрены· некоторые
другие особенности микропроцессорных систем и вопросы усо
вершенствования изученных нами типовых вариантов построения
систем. Однако первый шаг уже сделан. Важно понимать прин
цип по~троения типовых вариантов микропроцессорных систем,
прежде чем приниматься за изучение более сложных дополни
тельных схем и возможностей. Рассмотренное по существу яв
ляется «скелетом» системы. Однако не следует впадать в за
блуждение и считать такую систему бесполезной. В действи
тельности справедливо обратное.
Дело в том, что системы, построенные на основе таких ске
летов, используются повсеместно. Иногда забывают, что для
того чтобы оправдать применение микропроцессора в проекте
системы, нет необходимости использовать все его возможности.
Также иногда забывают, что используемые системы не нужда
ются в приукрашивании. В настоящее время микропроцессор
является очень дешевым устройством и в большинстве случаев
делается по совершенно простому схемному проекту. Нет необ
ходимости быть высококвалифицированным проектировщиком
систем или инженером-проектировщиком, чтобы проектировать
и эксплуатировать микропроцессорные системы:- Впервые при
ступая к проектированию микропроцессорной системы, испыты-
Генераторы такtовь~)( импу111,сов и интерфейс памяти
97
ваешь естественную тревогу. В·, следующих главах будут проде-
• монстрированы
методы дальнейшего развития исходной тРI
повой микропроцессорной системы. Эти методы могут быть
предложены лицам, которые работаю-~: в - режиме экономии и
которые не имеют тысяч долларов для расхода на разработку
оборудования. Рассматриваемые нами м~тоды будут. инт~ресны
для лиц, которые заняты- «кустарной» разработкой проекта мик
ропроцессорной системы, и для спецйалистов, работающих в
промышленности.
В дальнейшем мы предполагаем обсудить фазу проекти
рования ·небольшой системы и фактическое прохождение всех
этапов nроектирования систем микропроцессорного управлеt~ия.
Конечно, чтобы успешно решить поставленну..ю задачу,· необхо
димо иметь· ясное представление о том, как микропроцессор
связывается с другим оборудовани.ем системы. Эта глава со
-держала начальные сведения; каждая следующая глава, по ме
ре того как наши знания и понимание будут расти, будет рас
крывать дополнительные подробности. . .
Усвоив материал, содержащийся в этой главе, и рассмотрев
.
.
1
, детали, относящиеся к ча.стным системам, представленным в
• следующей главе, мы добьемся
твердого понимания основ.
Таким образом, в указанных главах будет представлена инфор
мация, которой ·необходимо овладеть, прежде чем изучать во
просы прак;гического использования микропроцессоров, действу
ющих в реальной обстановке. На протяжении этой книги для
• пояснения принципов организации микропроцессорных .систем
используются схемы устройств, наряду с которыми часто при
водятся и их полные структурные схемы. Мы нигде не пола
гаемся на воображение читателей. ·_ ·
7-814
Глава 4
ИНТЕРФЕЙС УСWОЙСТЗ ВВОДА-ВЫВОДА
В МИl{РОПРОЦЕССQРНЫХ СИСТЕМАХ
С З ШИНАМИ
.
.
В гл. 3 рассматривались аопросы реализации аппаратного обес
печения микропроцессорных систем с 3 шинами, базирующихся
на микропроцессорах 8080, 8085, 280 и 6800. В частности, там
были представлены обычные микропроцессорные системы с
ПЗУ и ОЗУ. Однако мы не касались вопросов применения в
системе устройств ввода-вывода.
.
В данной главе в рамках систем с 3 шинами рассматривает"/ 1
ся Иf:!терфейс некоторых типичных устройств ввода-вывода.
При изучении функционирования каждого из четырех микро
процессоров в качестве контроллеров системы будут пред- 1
ставлены существующие
аппаратные и· программные •
средства, соответствующие рассматриваемым типам микропр.о:
цессоров. И~ устройств ввода-вывода остановимся на двух сл-е
дующих: 1) клавишный пульт; 2) цифровой индикатор. Эти уст- 1
ройства ввода-вывода выбраны потому, что им присущ~ наиба.. /
лее типичные фуцкции и каждый, кто имеет дело с микропро-
цессорами, неизбежно воспользуется ими.
•
..
Другим существенным основанием для выбора этих устройств ,
ввода-вывода является то, что некоторые читатели, возможно,
за.хотят использовать излагаемые здесь идеи при конструирова
нии небольших микропроцессорных систем. В частности, при
конструировании микропроцессорной системы для конкретного
применения клавишный пульт и цифровой индикатор могут
быть включены в состав системы. В этом случае, даже если это·
первая попытка проектирования и пр~менения микропроцессо- •
ра в каЧ'естве контроллера, цифровой индикатор и простое на
жатие на клавиши обеспечат вам взаимодействие с системой.
Такое взаимодействие позволит выявить важные принципы,
которые окажутся полезными в ряде других применений миJ<р~'
процессорных систем. Материалы данной главы будем излагатt-
в следующей последовательности:
.-
1. Обсуждение основных принципов построения клавишного
пульта. •
•
,
_
2. Вопросы реализации 25,клавишноrо пульта и соответст1оr•·
ющего аппаратного обеспечения. (При необ1юдимости клаваа•
тура может быть расширена.}
•
Интерфейс 'устройств ввода-вывода
99
.
/
. 3 . . Обсуждение основных принципов построения цифрового
индикатора.
.
-
_
• 4. Вопросы реализации 6-разрядноrо цифрового индикатора •
• и соответствующего аппаратного обеспечения. (Число раз-рядов
индикатора может быть увеличено.)
.
5. Покажем, как клавишный пульт и цифровой индикатор
подключаются к микропроцессорной системе с трехшинной ар
хитек-rурой.
6. Рассмотрим программу, обеспечивающую работу клавиш
ного пульта и цифрового индикатора. Кроме фактически суще
ствующего •программного обеспечения для микропроцессоров
. 808 0, 8085, Z80 и .6800, бул:ут представлены схемы, соответству~
ющие изучаемым микропроцессорным системам.
4.1 .
Проrраммное обеспечение кпавиwноrо пуn~.та
Теперь обсудим принципы «программного обеспечения клавиш
ного. пульта». Понятие «программное обеспечение клавишного
пульта» используется потому, что выполнение действий, обус
л(iвленных н-ажатиями клавиши, и управление осуществляются
программными средствами. Этот тип клавишного пульта отли
чается от клавиши.ого пульта, реализованного щшаратно, ког
да цифровое логическое устройство управляет клавиатурой и
выполняет определенные аппаратные функции, соответствую
щие нажатой клавише.
Сначала в общих чертах обсудим функцию клавишного
устройства ввода. Часто клавишный пульт представляет
собой матрицу из однополюсных нажимных нефиксируемых ·
кнопок, которые в нормальном положении разомкнуты и •пере
ключаются мгновенно. Схематическое изображение ключа :га
кого rипа показано на рис. 4.1 . -Ключи располагаются в виде
матрицы, которая может иметь /IЮбой размер. Будем вести рас-
•смотрение на примере матрицы 5Х5, представленной на рис. 4.2 .
Очевидно, что каждый ключ однозначно определяется указани
ем номера строки и !l.9Mepa столбца, на пересечении- которых на
ходится -.выбранный ключ. Столбцам соответствуют обозначения
Са-С1с, а строкам- Ra-R4• н~который ключ, имеющий опреде
ленную позицию в пределах матрицы программно-управляемой
клавиатуры, не снабжается специальными аппаратными сред-
СТВ!J.МИ.
.
,
Б.лагодаря 'надлежащему программированию микропроцессо-
1,ра можно программно определять позицию нажатой кнопки и
потом выполнить раздел программы, однозначно соответствую
щий частной позиции кно11ки (ключа) в матрице клавиатуры.
Это означа~т, что функциональное назначение любой· кнопки
• можно изменить посредством простого изменения программного
обеспечения }{ИКропроцессора. Этот принцип иллюстрируется
'блок-схемой, показанной на рис. 4.3 .
7•
100
' Глава 4
Понимая общие принципы реализации проrраммир-уемой '
клавиатуры, мы получаем. в распоряжение. «строительный
блок», который пригоден для многих приложений микропроцес
сор_ных систем.
Рис. 4J. Схематическое изображение одцопqлюс•
ного цормальцо _разомкнутого ключа.
Рассмотрение_ принципов реализации клавишного пульт~
связано с решением следуrощих проблем:
1. Аппаратное обеспечение, требуемое для реализации кла
вишного пульта.
,2. Программное обеспечение для управления клавишным
пультом.
3. Программное обеспечение для определения замыкания
ключа.
4. Программное обеспечение для определения размыкания
ключа.
4.2 .
Аппаратные средства, необходимые
дпя реаnнзации кnавиwноrо пульта
Основным предметом нашего ра~смотрения будут аппаратные
средства, необходимые для реализации 5Х5-матрицы ключей
клавишного устройства ввода. Эти аппаратнJ,>Iе средства _показа
ны на схеме, представленной на рис. 4.4 . Для реализации дол
жны выбираться такие интегральные схемы, которые обеспечк-
вают минимальное общее число корпусов. Одн~ко в данной
книге мы не будем придерживаться такого критерия. Нам пред
ставляется более важным разобраться в основной идее, понять
которую будет легче в процессе рассмотрения уже существую
щих аппаратных средств. Одни и те же функции могут быть
реализованы различными аппаратными средствами: Некоторые
интегральные схемы, на которые ссылаются в учебниках, приоб
рести трудно. Интегральные схемы, используемые для проекти
рования в данной книге, в настоящее время широко распрост
ранены. Тем не менее постоянно разрабатываются новые инте
гральные схемы, обладающие новыми функциями. Поэтому
необходимо все время следить / за сообщениями в литератур~.
ч1:обы своевременно знать о появившихся интеrральнi;,1х схемсах.;
Их использование позвоJ1ит увеличить надежность микропро~
. цессорных
систем и приведет к уменьшению общего числа кар-- ;
пу-еов. Еще раз подчеркнем, что прежде всего надо понимать /
основные. принципы реализации, и, чтобы донести их до 1Iнтате
J1Я, разберем характерные приме12ы.
с,
с.
R4 C0
R~C1
R4C2
R4C3
R4 __
..._y_
_.у__у ___у
-
Рис. 4.2. Матрица 5Х_5 однополюсных нормально разомкнутых ключей.
Переход к секuин
n..роrраммы, со-',
ответствующей
этому кЛю-ч у
Переход к секuии
программы, соот
ветствуюшей
этому МЮЧУ
Переход к секuии
проrрЗ'ММЬlt со
ответствующей
этому ключу
r:Je'pexoд к секuин
программы, со от-•
иетствуюшей
этому ключу
(Эта схема должна быть
про.аолжена в соответствии
с размерностью матриuы
мавиатуры)
• Рис. 4.3. Фрагмент блок-схемы алгоритма определения «кqордина~ замкну
того ключа.
Ш
1
1
н
а
л
а
н
1
1
ы
х
в
о
,
в
о
.
в
о
,
1
в
о
,
в
о
,
1
в
о
,
:
в
о
,
В
О
0
u
,
.
.
.
.
.
.
.
В
А
,
~
-
:
.
7
4
L
:
;
2
u
в
д
.
•
2
_
6
в
д
,
~
В
А
4
1
С
1
7
4
L
S
3
2
В
А
3
1
3
2
1
с
3
в
д
,
1
2
С
х
е
м
а
/
1
0
В
А
1
в
ы
б
о
р
а
п
о
р
т
а
.
в
д
,
С
и
г
н
а
л
у
р
о
в
н
я
7
4
L
S
0
4
л
о
г
и
ч
е
с
к
о
г
о
o
.
J
1
В
Ю
R
I
C
2
.
К
о
д
в
ы
б
о
l
?
а
"
F
E
"
'
Ш
и
н
а
у
п
р
а
в
л
е
н
и
я
•
5
•
5
+
5
+
5
+
5
R
,
u
R
,
4
/
к
О
,
1
4
,
7
к
О
~
1
7
4
L
S
3
6
7
k
B
D
,
I
,
"
'
с
,
J
R
o
п
,
,
1
~
1
2
1
R
,
,
-
,
-
-
-
-
-
.
.
,
_
1
;
1
1
5
1
с
,
U
-
-
П
о
р
т
R
E
A
D
1
R
,
.
~
4
L
S
3
7
4
B
D
,
:
:
:
~
:
1
8
0
1
R
1
8
0
[
1
R
0
1
с
,
1
3
~
!
!
1
2
L
S
3
2
-
&
/
_
П
о
р
т
W
R
I
T
E
1
R
,
1
R
,
·
-
,
У
с
т
р
о
й
с
т
в
о
в
в
о
д
а
с
к
л
а
в
и
а
т
у
р
ы
,
Н
о
м
е
р
п
о
р
т
а
р
а
в
е
н
"
F
E
"
Р
и
с
.
4
.
4
,
С
х
е
м
а
с
в
я
з
и
м
а
т
р
и
ц
ы
к
л
ю
ч
е
й
5
Х
5
(
ф
р
а
г
м
е
н
т
)
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
н
о
й
с
и
с
т
е
м
ы
.
\
R
0
C
"
R
1
C
4
R
'
,
c
.
R
4
C
4
Интерфейс усtройств ваода-вывода
. Ссылаясь
на рис. 4-А, рассмотрим функцию каждого компо
нента системы ввода-вывода. Сначала оqратим внимание на -
матрицу ключей. Ключи располагаются в матрице следующим,
образом. Один вывод каждого ключа соединен с одной из вер
тикалыiых линий С0-С4, другой вывод соединен с о.в.ной из го- ••
ризонтальных линий R0-R4 . Горизонта.11ьные •.тшнии •R0 -R4 яв
ляются входными линиями матрицы ключей клавишного пуль--~
та, Вертикальные линии являются выходными линиями матри-
цы ключей. В каждый момент времени только одна из горизон.:..
тальных линий Ro-R4 может иметь уровень логического О, т. е;.
когда на линии Ro, например, установлен уровень логическо~
го О, то на линиях R1, R2, Rз и R.i, должен быть уровень логи~
ческой 1. Таким взаимно исключающим способом выполняетсЯi
установка уровня, соответствующего логическому О, для каж
дой горизонтальной линии. Понятие «вз~:1имно исключающий.
способ» означает,. что в .11юбой конкретный момент врем~ни
только одна горизонтальная линия может иметь уровень логи-
ческого О.
•
В то время как единственная горизонтальная линия имеет
уровень логического О, вертикальные выходные линии матрицы
клавишного пульта проверяются микропроцеGсорной системой.
Если при этом обнаруживается замкнутый ключ, то соответст
вующая ему вертикальная линия получает уровень логического
О. Вертикальная выходная линия будет иметь уровень логиче
ского О тогда и только тогда, когда замкнутый ключ соединяет
ее с.входной линией, на которой будет установлен уровень логи
ческого О. Чтобы подробнее рассмотреть этот вопрос, допустим,
что в данный момент замкнут ключ, имеющий на схеме обозна
чение R3C2 . Такое обозначение показывает, что соответствую
щий ключ в положении «замкнуто» соединяет входную линию 3
и выходную линию 2. Во время «просмотра» клавиатуры с по
мощью программных средств системы могут иметь место сле
дующие события. Под термином «просмотр» мы понимаем, что
система поочередно переводит каждую входную линию в со
стояние логического О и анализирует состояние выходов мат-
рицы.
.
Линия Ro устанавливается в состояние логического О. Все
другие входные .линии при этом имеют уровень логической 1.
Пока на горизонтальной линии Ro поддерживается уровень ло
гического О, выходные линии анаJшзируются с помощью про
граммного обеспечения системы. Ниже будет разъяснено, ка~
горизонтальные линии устанавливаются в состояние Jюгическо-
, го О ц каким образом с помощью программного обеспечения про
. веряются
выходные линии. Если ключ RзС2 замкнут и на :вход
: ной лИIJИИ Ro установлен уровень логического О, на всех выход
:_ных линиях будет уровень логической 1. Это объясняется тем,
, ~то на вертикальных линиях уровень напряжения
доведен до
Гnава 4
+s ·в через согласующие резисторы PR1-PR5. Поскольку линия
Ro не соедцнена с помощью к-лtоча ни с одной вертикальной ли
\щей, ни на одной выходнqй линии не может быть уровня на-
. пряже ния,
соответствующего логическому О. •
_
Ацалогично система рудет реагировать на установку уровня
логического О на входных линиях ·Ro, R1, R2 и R4. Од.нако, когда
на горизонтальной л-инии Rз будет установлен уровещ, логиче
ского О, произойдет следующее. На выходной линии С2 также
установится_ уровень логического О. Это объясняется н_аличием •
электрического тракта через ключ R3C2. Он образован верти
•кальной линией С 2, замкнутым ключом и горизонтальной лини
ей R3. После того как система обнаруживает уровень логиче
ского О на какой-нибудь вертикадьной .11инии, она опр.еделяет
ключ, замыкание которого обусловило это событие. .
Система определяет «координаты» замкнутого ключа путем
. «электрического»
запоминания номера горизонтальной линии,
установленной в состояние логического О, и посредством логи
ческого определения номера вертикальной линии, имеющей уро
вень JJОгического О. Ниже в этой маве будут рассмотрены су
ществующие программные средства, необходимые для выполне
ния описанных действий.
4.3.
Сиrнаnы rориэонтаnьных пиний
Теперь рассмотрим, как на входных линиях по способу· взаим
ного исключения устанавливаются уровни .логического 2- Для
того чтобы на входных линиях установить уровень лог.ическо-.
го- О, к клавишному устройству ввода подключается· восьмираз
рядный фиксатор 74LS374, имеющий на рис. 4.4 обозначение_
IC5 . Сигналы на вход этого -фиксатора поступают с шины дан
ных. Соответствующие входы обозначены на схеме через BD0-
BD4: Между линиями шины данных и входными линиям.И мат
рицы клавишного пульта установлено следующее соответствие:
BDo-Ro, BD1-R1, BD2-:-R2, ВDз-Rз, BD4-R4. Микропро
цессор формирует слово, логические значения разрядов которо
го определят уровни сигналов на входах клавишного пульта, и
записывает образованное слово через шину данных в фиксатор
74LS374.
Запись прои.зводится, когда система . выполняет Gперацию
вывода. Напомним, что при этом она производит следующие
• действия:
•
1. Адрес устройства вывода подается на адресную шину.
2. Выводимые данные подают_ся на шину данных. •
3. По шине управлеция подается сигнал BIOW.
Расс~отрим, используя схему, представленную ца рис. 4А,
как аппаратно реализуется каждое из трех указанных действи:й. i
Сначала адрес устройства вывода устанавливается равным ·
Интерфейс ycтpoikrв ваода-аы~од•
100
• «FE»~· Схе ма
дешифрирования адреса показана на рис. 4.5, ко•
т0рыи является фрагме!iтом рис. 4.4 . Из ptlc. 4 .5 видно, что схе
ма дешифратора адреса реализуется в виде простого комбина
ционного логического блока, Ьбеспечивающеrо дешифрирование
8-рсtзрядного кода, поступающего с шины адреса. Ком.б1μ1nдf,i~ .
ная схема конструируется для дешифрирования кода: f1Ji,~lt1» ".
(FE); На выходе схемы 74LS32, показанной на рис. 4J5;'ypoвetfь·
ед,
ед.
2
ед,
4
Вд,
вд,-----__;1.;..з◄.__:_:1с~,
12
Вд2 ___...;1О--1
Вд,---.;.;;..~-
74LS04
IC2
'·F"
"Е"
Сигнал выбора порта.
Уровень логического О -
активный. Код выбора
порта "FE"
Рис. 4.5 . Схема· дешифрирования кода выбора порта «FE» (фрагмент схемы,
•
.
.
представленной на рис. 4.4).
логического О может быть только тогда, когда все восемь раз
рядов кода на шине адреса совпадают с соответствующими раз
рядами кода FE. Вывод 3 схемы IC3 называется линией выбора
_!I~ На этой линии появляется уровень Jiогического О каждый
раз, как только логичес~ая схема дешифрирования кода выбора
порта обнаружuвает правильную комбинацию значений-двоич
ных разрядов на ·восьми младших ЛИНИЯХ Ш}ШЫ адреса. }ja
этом вопросе стоит сосредоточить внимание, так 1<ак .он иногда
не. рассматривается в начальных курсах по микропроцесСОQНЫм
с.~.мам. Дело в том, что линия выбора порта может быть ак
тивоо даже тогда, когда система. не связана с устройством вы-
вода;
.
в· подтве,рждеI:Iие сказанного рассмотрим следующий пример.
Допустим, система читала данные из ячейки памяти с адресом
FE.. Чтобы а:ктийизировать линию выбора порта «FE», ,щина
адреса должна содержать правильную логическую комбинацию:
По .этой• причине сббытия в микропроцессорной систеце долж
ны «квалифицироваться»· шиной управления. Если же мя .ква~
ллфикации событий шина управления не используется, iro с!3Яё
зat:ьcSI с выбранными устройствами в определенный момент не
будет возможности. Этот факт важно учитывать, когда рассмат:-
106.
Гnё!!ва 4
риваются логические сигналы в системах, управл.яемых микро
процессором. Сигнал на линии выбора порта может появиться
тогда, когда система связана с другими устройствами. Такая
ситуация может показаться .непонятной, особенно если щ1блю
дение ведется с помощью осциллографа и на его экране обна-·
руживается; что линия выбора порта активизирована, хотя си
стема, казалось бы, к,связи с устройством вывода не готовится.
После дешифрирования кода, поступившего по шине адреса.
а
Ацрсс д0-д7;f ~
~~--
', ,tJ,анные
п:одаютс11 на входы
фиксатора 74LS374
6 ____,~-------
в
Сигнал управления BIOW
(активный уровень- низкий~
Рис. 4.6 . Временная д_иаграмма
сигналов, испо.ль::~уемых при запи
си данных в порт «FE».
уровень логического О устанавливается на линии ~ыбора порта
и на выводе 13 схемы ИЛИ, обозначенной на рис. 4.4 через
]С 3 . Данные по шине данных поступают на входы 3, 4, _7, 8, 13
8-разрядного фиксатора 74LS374. Наконец, по шине управления
подается сигнал BIOW. Это приводит к установлению на выво,
де 11 схемы IC3 уровня логического О. Затем сигнал BIOW при
нимает логическое значение 1. На этом этапе данные, имеющие
ся на шине данных, запоминаются в 8-разрядном фиксаторе
]С 5 типа 74LS374. Соответствующая временная диаграмма
представлена на рис. 4.6 .
Итак:, рассмотрены все фактические события, обусловлеJ!нЫе
различными логическими значениями сигналов, устацавливае
мых микропроцессорной системой на входных линиях клавиш
ного пульта. Кроме того, они аналогичны тем событиям, кото
рые происходят в микропроцессорной системе при обычной5аа
писи данных, и совершаются независимо· от микропроцессора,
используемого в качеств.е системного контроллера. Форма пред
ставления событий может быть различной, но последователь
ность их наступления должна быть неизменной. Здесь мы не
будем учитывать особенности конкретных микропроцессоров,
-а рассмотрим события, имеющие отношение к микропроцессор
ным _системам с 3 шинами. Такой подход позволит расширить
наши общие представления о принципах пе>строения микропро
цессорных систем с 3 шинами. ОчевиДiю, что можно спроекти-
Интерфейс устрой~тв ввоАа-JSывода
107
ровать ЦП, подходящий для работы в системах с 3 iпинами, Иi:•
пользование которого облегчит проектирование устройств вво
да-вывода.
А.4.
Расnознаванне снrнаnов на выходах
кnавнwноrо nynыa
Теперь •обсудим, каким образом микропроцессор анализирует
состояние выходных линий клавишного пульта, показанных на
рис. 4.4 . Из рис. 4.4 видно, что код выбора порта FE исполь
зуется в качестве кода выбора при чтении вводимых данных.
Он же применялся н для выбора порта записи выходных дан"
ных. Таким образом, мы используем этот код как единый
код выбора входного и выходного порта. Это вполне допустимо,
так как событие, связанное с чтением вводимых данных, никог
да не наступает одновременно с записью выводимых данных.
Из этого следует, что аппаратные средства для формирова:ния
сигнала выбора порта могут. быть использованы для двух раз
личных целей, а именно для формирования сигнала выбора пор-.
та ввода и сигнала выбора порта вывода. При этом сокращает•
ся объем аппаратных средGтв системы.
,
Основная цдея осуществления опера,ции ввода данных с кла
еишного пульта состоит в том, что после анализа состояния вы
ходных линий клавишного пульта выполняется операция чтения
данных с системного устройства ввода. Система будет выпол
нять. чтение данных, а данные, вводимые в микропроцессор, бу
дут определяться уровнями напряжения на выходных линиях
клавишного пульта.
Напомним, что операция чтения даннь1х в системе с 3 шцна
ми выполняется в следующей последовательности:
1. Адрес выбора устройства ввода поступает на. адресную
шину.
.
2. Шина данных· подготавливается к выполнению операции
ввода. (Это означает, что микропроцессор должен перевести
входы данных в режим ввода, а не в режим вьrвода.)
3. Шина управления посылает сигнал BIOR.
В рассматриваемом примере адрес порта ввода равен FE.
Этот адрес дешифрируется точно таким же способом, как и
рассмотренный выше способ дешифрирования адреса при вы-,
полнении операции вывода. Это так, поскольку для деuшфри
рования как кода выбора порта ввода, так и кода выбора пор~
та вывода применяется одно и то же оборудование. Когда обна
ружцвается код выбора порта, на выводе 5 схемы IC:t рис. 4.4
появляется уровень логич:еского О.. Теперь по шине управления
нодается •сигнал BIOR. Когда сигнал· ВIOR имеет логичесk:Ое
значение О (рабочее состояние), на выводе 6 схемы IСз т·акже:
108
будет уровень логического О. Уровень логического О установит
ся и на выводах 1, 15 буфера с тремя состояниями ·74LS367,
имеющего на схеме обозначение IC4. Сигнал уровня догическо
го О отпирает буфер 74LS367, подключая его выходы к шине
данных: Логические значения сигналов 1:1а выходах. буфера
74LS367 определяются логическими состояниями выходных ли
ний клавишного пульта (рис. 4.7). Микропроцессор будет вво
дить данные, поступающие на шину данных из буфер;:~ 74LS367.
Эти данные определяются логическими состояниями выходных
/
~
• К шине\
данных
системJ,1 -
ВО0
з
2
во,
5
4
во,
1
6
во,
9
10
во,
11
12
~~
1, 15
Сигнал выбора f
порта READ. -' - -- \
Г
Активный уровень L---1
-
низкий
\
/
Со
с,
с,
с,
с,
Выходные сиrμалы клавматуры
подаются на шинv панны":
1
Выходные
сигналы
клавиатуры
Рис. 4.7 ..Схема, обеспечивающая считывание даииых с выходов клавиатуры
(фрагмент схемы, представленной на рис.. 4.4).
_
•
линий матрицы клавишного пульта. Так данные передаются от
устройства ввода к микропроцессору. Теперь на основе получен
ных данных микропроцессор может «принимать_ решения».
4.5. ,
Выводы
Мы рассмотрели подключение схем, обеспечивающих работу
клавишного пульта, к микропроцессорной системе с 3 шинами,
стараясь акцентировать внимание на общих представлениях.
Также были представлены современные схемы, с помощью ко
торых м9гут быть практически реализованы изложенные - идеи
и методы. Если основные схемы обеспечения ввода-вывода по
нятны и -если ясна идея связи с микропроцессорной сист~моji с
3 шинами, то примененйе изученных методов при цроект~рова
нии других схем ввода и выщща окажется простой _ задачей.
Ниже в этой главе обсуждаются методы програмМ1Iого управ
ления портом ввuда и. вывода.
Интерфейс устройств ввода-аыаода •
109
4.6.
Цифрово;i индикатор
Будем рассматривать индикатор, имеющиц поле для отображе
ния 6 шестнадцатеричных цифр. Примером такого индикатора
может служить устройство P/N 5082-7340 фирмы Hewlett Pac-
kard, выполненное на интегральных схемах. Этот индикатор
содержит в себе необходимые схемы дешифрирования. В ин
дикаторе имеется фиксатор, что позвоJ1яет JIОдключить его не
посредственно к шине данных микропроцессорной ·системы. Бо
лее общие методы фиксации данных в выходном порте систе
мы мы разберем, не используя упомянутый индикатор. Струк
турная с-хема подключения индикатора показана на рис. 4.8.
Ссылаясь на· рисунок, разберем принцип действия этой схемы.
Выходной индикатор, имеющий на схеме обозначения DP1-DP6,
получает входные сигналы от 8-разрядных фиксаторов типа
74LS374, обозначенных на схеме через IC1-IC3 . Входы фик~
саторов ·подключаются к ;rшниям BD0 -BD7 . системной шины
данных. flорты вывода, реализованные в виде 8-разрядных фик
саторов, обозначенные на схеме IC1, IC 2 и IC3, имеют коды вы
бора порта F21б, Fl15 и F016 соответственно. ~огда на адресных
линиях ВА4-ВА7 появляетtя код 1111, на выходе элемента
7420, т. е. на выводе 6, устанавливается уровень логического О.
Такой же уровень, очевидно, установи1·ся и на входе 1 схемы
74LS32 (IC4). Если при этом на адресной линии ВА3 будет
уровень логического О, этот сигнал откроет схему 74LS42. Если
схема 74LS_42 открыта, то на выходах 1, 2 и 3 появятся сигналы,
значения· которых определены двоичными состояниями ад
ресных линий ЦА0-ВА2~ Логические з~ачения сигналов на вы
ходах схемы 74LS42 (IC5) показаны на рис. 4.9. На этом _ри
сунке -также приведены соответствующие коды выбора порта,
которые будут формироваться на выходах схемы .IC 5. Кроме
того, из рис. :4.9 видно, что когда по адресным линиям поступа
ет код FO, на в_ыходе 1 схемы IC5 появляется уровень логиче
ского О. Очевидно, что и на входе 12 схемы IC4 установится уро
вень логического О. Когда по системной шине управ.чения бу-
дет подан сигнал ВIOW, выход 11 схемы JC4 74LS32 п~рейдет
в состояние логического О. При переходе вывода 11 от состоя~
ция логического О к состоянию логичесrюй 1 данные, имеющие
ся на шине данных, записываются в фиксатор 74LS374 (IC 3 ).
Аналогично может быть описано функционирование 8-раз
рядных фиксаторов IC 1 и IC 2. Запись в 8-разрядный фиксатор
1С 1 производится при появлении на адресных линиях ~ода F2,
а в фиксатор IC2 - при появлении кода Fl. Микропроцессорная
система может записывать данные в 8-разрядные-- фиксаторы
одновременно по-8 разрядов. Это означает, что две· отображае
мые на индикаторе цифры могут быть записаны параллельно.
В функции программного .обеспечения системы входит регист-
/
.
n
c
e
и
1
щ
и
к
а
т
ь
р
м
+
5
Н
Р
5
0
8
2
-
7
3
4
0
+
5
+
5
+
5
+
5
+
5
I
I
1
!
[
[
1
6
.
5
4
1
1
7
6
5
4
О
Р
2
3
2
1
в
г
I
с
1
1
1
1
1
ь
6
5
4
1
7
6
5
4
О
Р
3
О
Р
4
2
1
В
3
2
1
8
•
I
C
2
8
1
4
1
-
к
о
д
1
1
I
6
5
4
О
Р
5
8
т
I
с
,
7
6
1
9
i
6
1
5
1
2
в
6
5
2
1
9
1
6
1
5
1
2
8
6
5
1
6
1
5
'
1
2
8
'
6
5
7
4
L
S
3
7
4
7
4
L
S
З
7
4
7
4
L
S
3
7
4
1
8
1
J
1
4
·
1
3
9
7
4
1
7
1
4
1
3
9
7
4
1
7
1
4
1
3
9
7
4
в
о
,
в
о
,
в
о
,
в
о
,
1
1
в
о
,
в
о
,
в
о
,
в
о
,
1
1
в
о
,
в
о
,
В
0
5
В
О
4
1
1
6
в
1
1
I
C
4
/
,
c
_
j
•
·
f
2
'
'
~
-
е
,
•
L
:
,
3
2
9
1
0
"
F
O
"
·
·
-
:
,
1
,
7
4
L
S
4
2
I
r
c
,
1
2
1
3
-
1
4
1
5
1
<
1
2
0
1
1
с
,
t
В
О
7
В
О
,
в
о
,
В
0
4
В
0
3
В
0
2
В
О
1
В
0
0
B
I
O
W
С
х
е
м
а
в
ы
х
о
1
1
н
о
г
о
•
и
н
д
и
к
а
т
о
р
а
.
В
А
/
B
A
l
,
В
А
5
В
А
4
В
А
з
В
А
,
В
А
,
I
В
А
о
П
о
р
т
ы
в
ы
в
о
д
а
'
'
F
O
"
,
"
F
l
"
,
"
F
2
"
Р
и
с
.
4
.
8
.
•
С
х
е
м
а
и
н
:
r
е
р
ф
е
й
с
а
т
и
п
и
ч
н
о
г
о
6
-
р
а
з
р
я
д
н
о
г
о
и
н
д
н
к
а
т
о
р
а
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
н
о
й
с
и
с
т
е
м
ы
.
Интерфейс устройств вводёr-выаода
111
• рация тракта, по которому должна обновляться или записы..
ваться цифра. Ниже в этоц главе будут ~ассмотрены вопросы
программного управления·цифровым индикатором.
Выходы устройства 74LS42
вывод 1 вывод 2 вывоn З Коды адреса
о
1
ro,.
о
1
f) IG
о
r2 16
Рис. 4.9. Логические значения сигналов на выводах схемы
74LS42, показанной на рис. 4.8, соответствующие различным
кодам адреса.
4.7 .
Проrраммное уnравnение кnавиwным nуn1атом
В оставшейся части этой главы рассмотрим программное обес
печение для управления работой клавишного пульта. Из клавиш
ного пульта будет поступать информация о замыкании ключа.
которая однозначно соответствует позиции • замкнутого ключа
и должна быть зарегистрирована. Обсудим используемые на
практике экономичные методы разработки и отладки програм
много обеспечения. Наконец, рассмотрим программное обеспе~
чение, необходимое для функционирования системы, базирую
щейся на одном из четырех типов микропроцессоров, представ
ленных в этой книге, а именно 8080, 8085, Z80 и 6800.
Системы, основанные на микропроцессорах 8080 и 8085, мо
гут иметь идентичное программное обеспечение. Оно же может
использоваться и для систем, основанных на микропроцессоре,
Z80. Однако мы не приведем здесь программ, напис_анных с •
использованием мнемоник микропроцессора Z80. Бол~ее важно
уметь понимать суть взаимодействия рассматриваемых про
граммных и аппаратных средств микропроцессорных систем
управления. Программные средства будем разрабатывать не
большими чае.тями, соответствующими отдельным функциям
управления. Потом эти части объединим в функциональную
программу программнаго обеспечения. По сравнению с попыт
кой представить задачи в виде одной функции этот подход поз
воляет легче решить общую задачу проектирования програм
мных средств. Причем программное обеспечение в этом случае
удобнее отлаживать.
4.8.
Проrраммный метод формирования сиrнаnов
на входах матрицы, кnuиwнoro nуnьта
Рассмотрим. программные средства, необходимые для управле
ния аппаратными средствами, выполняющими установку по
способу взаимного ясключения на входных линиях_ клавишного
пульта уровня,· соответствующего логическому О. Напомним,
что только .одна входная линия клавишного пульта в о/боЦ
112
момент времени может находиться в состоянии логического О.
Сначала рассмотрим блок-схему, определяющую поря.цок вы
полнения указанных действий. Затем представим программное
обеспечение, реализующее эту блок-схему, для микропроцес-
соров 8080, 8085, Z80 и 6800.
•
•
Отметим еще раз, что микропроцессорц 8080, 8085 и Z80
могут выполюпь программы, разработанные для \\ШКропроцес
сора 8080. Поэтому. будем представлять программное обеспе
чение только в мнемониках микропроцессоров 8080 и 6800. Мик
ропроцессор Z80 может выполнять программы, разработанные
для микропроцессора 8080, однако набор команд микропроцес.;
сора Z80 шйре, чем .у микропроцессора 8080. Микропроцессор
Z80 имеет свой собственныii набор мнемоник. Читателю долж.
но быть понятно, что структура программного обеспечения для
разных микропроцесt;оров может быть различной. Поэrому, ис
пользуя микропроцессоры в качестве систем.ных контроллеров,
следует обращаться к руководствам по их программному обес
печению. Руководства содержат наборы мнемоник конкретных
микропроцессоров. Однако общая структура программного обес
печения микропроцессоров подобна структуре программного
обеспечения каждого отдельно взятого микропроцессора.
На рис. 4.10 показана блок-схема алгоритма генерации вход
ных сигналов для клавишного пульта. Отметим, что формирова
ние входных сигналов ос,уществляется с помощью подп·рограм
мы. Начальное значение слова S 1 устанавливается при инициа
лизации микропроцессорной системы. Ниже в этой главе_будет
точно определено, что подразумевается nод термином ·«инициа
лизация» микропроцессорной системы. Сейча,с же достаточно
знать, что начальное значение слова S1 должно быть записано
в память перед тем, как микропроцессор начнет работать по
программе, блок-схема которой представлена на рис. 4.10. Это
требование легко объясняется тем, что, судя по блок-схеме, про
грамма должна приним ,1ть решение, зависящее от значения сло
ва ·s 1. Значение этого слова должно быть устаноIJлено после
включения питания, иначе оно буд.ет иметь некотор~ произ
вольное значение, обус.1овленное случайным состоянием па
мяти. Случайное значение S 1 приведет к тому, что · решение,
принимаемое программой пос.1е анализа этого слова, окажется
ошибочным.
Программа, блок-схема которой дана. на рис. 4.10, сначала
выбирает слово из памяти. Затем производится проверка на ра
венство значения этого слова коду 101в- Если факт равенства
устанавливается, то это означает, -что последняя входная л·иния
уже имела уровень логического О и следующей линией, на ко
торой должен устанавливаться уровень логического· О, является
линия R0 . Если· текущее значение слова S1 не равно 101{;, то.
программа просто сдвигает содержимое слов~ на один разряд
Интерфейс. устройств вsодо•вывод111 '
Шаг 1-
Шаг 2
Шаг 2В
Шаг3 '
Шаг 4
Шаr 5
Шаr 6
• Начало
Запись данных
об а~:rивной
торизонталь•
ной линии
клав11атуры
в ячеr,ку S1
Сдвиг данных
в S1на _1
разряд вле110.
0 - ПОЗШ!ИЯ Do
0Зап.wсь
значен11й
данных D
память
l l 11Rcpп1poвa-
1111е RO\\1
Вывод RQW
в порт "FE"
Да
s,= 00000001
ROW =: S1
Шаr
113
2А
Рис. 4.10. Б-лок-схема программы гецерации входных сигналов матрицы кла-·
вишного пульта.
вл~в·о. ГJр·и выполнении этого сдвига в первой позиции слова
должно появиться значение О. Подчеркиваем это, так как раз
личные ми_кроrtроцессоры выполняют операцию сдвига слоsа
различными сп.особами. Некоторые микропроцессоры, могут в·
первый разряд сдвинутого слова помес·rить 1. Чтобы точно оп-·
ределить, ка.к выпол!lяе~я сдвиг влево,_ необходимо обратйтJ>~si
к руководству по\ программному обеспечению • используемого
микропроцессора.
•
8-814
114
Глава 4
Если. анализируемое слово оказывается равным 1015, ·ТО со
ГJ1асно блок-схеме программы (см. рис. 4.10) будет уста1ювле
но новое значение слова, равное Ol 15. После этого выполнение
программы продолжае.тся с точки В, указанной на блок-сх~~е.
• На этом шаге программа записывает новое слово в память. По-
ОOOООIО0
Активная/ R2
rоризонталь
н.~я ЛIIHIIЯ
Инвертированнь1е
данные
D1
111
1О11
Запись данных в п9рт "F.E"
Рис. 4.11 . Этот рисунок поясняет действия, выполняемые в шагах 3-5 блок
схемы, показанной на рис. 4.10. Слово состояний входных линий матр1щы
записывается в память. Затем оно инве_ртируется и записывается в порт
вывода. Активной линии соответствует логическое значение О.
мещенное в память слово будет анализироваться при следую
щем обращении к этой п,рограмме.
После записи нового значения слова в память слово, опре
деляющее значения сигналов на горизонтальных линиях мат
рицы· клавишного пульта, инвертируется. Это действие заклю
чается в установке значения 1 во всех разрядах, за исключени
ем разряда, соответствующего входной линии: подлежащей ак
тивизации. Разряд, определяющий активизируемую линию, при
нимает значение О. Описанные действия иллюстрируются рис.
4.11 . В конце концов, программа выведет сфu;,мированное слово
в определенный порт вывода. .
,
Напомним, что на р~с. 4.4 порт вывода, связанный со вход
ными линиями клавишного пульта,. адресовался кодом FE. На
. рис. 4.12 представлен текст программы для микропроцессора
8080, соответствующий блок-схеме, приведенной на рис. 4.10.
Следует учитывать, что эта программа представляет собой один
из возможных вариантов реализации блок-схемы, представлен
ной на рис. 4.10. Совершенно ясно, что существует много раз
личных с_пособов программной реализации данной блок-схемы.
Это аналогично большому разнообр.азию методов схемной реа- 1
лизащш каких-либо функций.
1•
Какой бы вариант реализации программы ни был избран,
программа всегда должна быть хорошо документирована. Ког-
Интерфейс устройств ввода-вывода
llS
да наступает время отладки программы или программное обес
печение кому-либо передается, хорошая ·документация будет
бесценной. В некоторых случаях стремление получить хорошую
Э11 ООЕВ
:Э12 ООЕВ
:.J1.3 ООЕВ
314 ООЕВ
315 ООЕВ
316 ООЕВ
:Э17 ООЕВ
318 ООЕВ
319 ООЕВ
:Э20 ООЕВ
321 ООЕВ
:Э22 ООЕВ
:Э23 ООЕВ
:Э24 ООЕВ
325 ООЕВ
:Э-26 ООЕВ
***~*•••***•*****•************•*************************•
..
* ПРОГРАММА WВОДА АНТИВНОГО НАБОРА НА ПУЛЬТ
*
* ИМЯ ЭТО~! ПРОГРАММЬI-ОRОW
...
*
ЭТО РИС,4,12
.. ..
**********~**J*•****i***~*********J******~* ~******** ~ ~**•
*
* РИС,4,12-ПОДПРОГРАМll!А К РИС,4,10 В МНЕМОНИКЕ 8080
•·
•**~*****•******~******** ~*****************•*************
:Э27 ООЕВ 3А 04 10 OHOW LDA KROW
328 ООЕЕ
*
3 29 ООЕЕ
****** (ШАГ 2)
:Э30 ООЕЕ
*
:Э31 OOEF) FE 10
332 ooFo'C2 F~ 00
333 00F3
334 OOJi'3
335 OQF3
33 6 ooF'J :эЕ 01
337 OOF'5' С3 F9 00
..
CPI 1ОН
JNZ OROW1
****** (ШАГ 2А)
*
•
МVI А.1,О1Н
J.Щ> S:rJ
:Э38 {)()Ji'8
*
339 OQF6
******(ШАГ 28)
:Э4О оо:1!'8
"
:Э 41 ooF8 07
OROWI 1/LC
:Э42 001''9
343 00F9
:Э44 OQF9
:Э45 001''9 32 04
:Э46 ,poFC
:э47 ooFc
:э4в ooFc
349 оо:ь'с 2F
:э5о ooFD
:э5t oo:F'D
:)52 o·QFD
:}53 OOFD DЭ .FE
:Э54 OQFF
355 OOFF
356 ooFF
:Э57 ooFF С9
358 0100
1 Э59 010()
*
***"** (UIAГ 3)
*
10 sт:э
STA KROW
*
****** (ШАГ 4)
*
СМА.
*
****** (ШАГ 5)
*
ОUТ ОFЕН
*
*"****(ШАГ 6)
*
ПOBTOPlNd ВЫЗОВ АКТИВНОГО НАБОРА
СКАНИРОВАНИЕ НАБОРА ЗАКОНЧЕНО???
~ели НЕТ, то ШАГ 2В
ПЕРЕМЕСТИТЬ АКТИВlNЙ НАБО1;1
ИДТИ НА ШАГ 3
СДВИНУТЬ ДАНNoЕ ,ВЛВВо I о В D0
СОХРАНИТЬ АКТИВНllЙ НАБОР
ИНВЕРТИРОВАТЬ сщово.НАБОРА
ВЫВЕСТИ: АКТИВНЫЙ НАБОР В ПОРТ FE
Рис. 4.12 .. Программа на языке ассемблера микропроцессора 808Q, соответ
ствующая блок-схеме, представленной на рис. 4.10.
документацию сrимулирует исщ>Льзование простых приемов
программирования и оправдывает прямолинейность в способах
программной Rеализации блок-схем.
•
На рис. 4.~3 приведена программа, соответствующая блок
схеме, показа ой на рис. 4.10; данная программа предназна
чена для микр процессора 6800. В микропроцессоре 6800 при-
8•.
'"
-
LF41) Т=ОООО) IS ON ·сюооzо USING 00009 BLКS R=1410
'0001
-0002
0003
0004
PAGJ::
F412
..
TUE ост
02:27:04.13
NАМ 1''412
- Q005 00001
0006 00002
-0001 ·ооооэ
0008 00004
·0009
00005
*
ЭТА ПРОГРАМ14А-ВЕРСИЯ РИС.4.12 ДЛЯ 6800
00 1О 0000 6 ooou
0011 00007
0012 00008
,оо Т 3 00009
•001 4 00010 0000 81 10
0015 00011 0002 26 05
0016 00012
0017 00013
\·001 B_QQO 14
0019 00015 0004 86 01
·0 02U ООО 1б 0006 71': ОООА
0021 00017
- 0022 00018
- 0023 00019
0024 .00020 0009 48
- 0025 00021
- 0026 00022
0027 00023
*
ORG soo
*
******(ШАГ 2)
*
СМР А #S10
БNJ:: ST2B ..
*
**«*** (ШАГ 2А) -
*
*
LDA А #S01
JМР $Т3
****** (ШАГ 2В)
*
ST2B ASL А
*
0028 00024 ОООА В7 1000 -ST)
-0 029 00025.
*
STA А КROW
-0030
00026 •
0031 00027
- 00 32 00028 000D 43
003) 00029
-оон 00030
0035 00031
0036 00032 ОООЕ 01 FE
ООЗ7 00033
0038 00034
0039 00035
0040 00036 0010 39
- 0041 00037
****** (ШАГ 4)
*
СОМ А
*
"**"**(ШАГ 5)
*
STA А #SOQFt
*
****** (ШАГ 6)
*
RST
*
*
СКАНИРОВАНИЕ НАБОРА ЗАКОНЧЕНО??
ЕСЛИ (ШТ, ТО ШАГ 2В ,
•
ПЕРЕМЕСТИТЬ АКТИВШЙ НАБОР
ИДТИ НА ШАГ 3
СДВИНУТЬ ВЛЕВО I О В D0
ИНВЕРТИРОВАТЬ СЛОВО НАБОРА
ВЫВЕСТИ' АКТИВ. НАБОР В ПОРТ F.E
WЙТИ ИЗ ПОДПРОГРААШЫ
- 0 0(2 00038
0043 00039
0044 00040
-0 045 00041
"***** KQНl!JЦ этой ПРОГРАММЫ
*
•
*
РАЗМЕСТИТЬ ПЕРЕМЕННЫ,; В ПАМЯТИ
*
0046 00042
- 0047 00043
{)048 00044
0049 00045
1ООО KROW iQU s1000
*
- 0050
_1 RAGE 2 1''41 2
0051
-0052
0053 ,
0054 KROW 1000 00043 0002_4
0055 ST2B 0009 00020 00011
0056 ST3 оооА 00024 0001 б
END
ПРЕДЛОЖЕНИЕ END АССЕ:ЛВЛЕРА
TUE ОСТ 02,_1979 02:27:04.13
Рис. 4.13. Программа на языке ассемблера микропроцессора 6800, соответ
стиующая блох-схеме, представленной на рис. 4.10.
Интерфейс устроiitств iiвода-вь1вода
117
меняется способ ооращещ~:я k у~тройствам ввода-вывода, ана
Jiогичный способу обращения ·к· памяти. Микропроцессор 6800
не имеет команды типа OUT для записи данных во внешние
устройства, которые условно считаются ячейками памяти.
4.9 .
Onpoc выходных пиний кnниwноrо пуn1ата
с помощ1а~о проrраммных средств
.-
Теперь рассмотрим метод программного управления аппарат
~ыми средствами с целью точного определения активной выход
ной линии среди линий С0, С1, С2, С3, С4. Блок-схема алгоритма
Шаг 1
Шаг 2
Шаг з
Шаг 4
EC'IJ, активные
колонки
Шаг 5
Шаг·е
Начало
Установка
флажка
.колонокв".О.
Ввод данных
из порта "FE"
Установка
значений
разрядов
D5,D6, D7 = 1
Нет
Инвертировани
данных
Фi1ажок
колонок=
данные
Активных
ко.qонок иет
Да
Возврат
Шаг
Рис. 4.14 . Блок-схема программы определения активных выходов матрицы
клавиатуры.
118-
Глава 4
определения активной выходной линии показана на_ рис. 4.14 .
Сначала программно «флажку выходов» присваивается нуле
вое значение. Этот_ флажок будет использоваться вызывающей
программой для определения наличия активных выходных ли-
• 278 OODB
279 OODB
200 ооDВ
281 OODB
282 OODB
28) OODB
28. ООDВ
0
285 ООDВ
286 OODB AF
287 OODC )2 01
2в0 ooDF
289 ooDF·
290 OODF
291 OODF DB FE
292 ООЕ1
29) ООЕ1
29• ООЕ1
.295 ООЕ1 Fб Ео
296 ООЕЗ
- -297 ООЕ)
298 ООЕ)
299 ООЕ) }'Е :F'F
)00 ООЕ5 СВ
)01 ООЕб
)02 ООЕб
)О) ООЕб
зо• ООЕб 2F
)05 ООЕ7
)06 ООЕ7
)07 ООЕ7
)08 ОоЕ7 )2 01
)09 ООЕА С9
)10 ООЕВ
*
*
*
ЭТА ПОДПРОГРАММА-РИС,.,15
*******************************************~*************
*
1
****** (ШАГ 1)
*
СОLМ
10
XRA А
STA _CFLAG
10
*
******(ШАГ 2)
*
IN оFЕН
*
******(ШАГ))
*
ORI ОЕОН
CPI· ОFЕН
RZ
*
**Н** (ШАГ 5)
*
СМА
*
******(ШАГ б)
*
STA. CFLAG
, RET
*
УСТАНОВИТЬ ФJI.UOK СТОJIБЦА=О
ВХ:ОдныЕ_ДАНWЕ ИЗ ПОРТА FE
УСТАНОВИТЬ ВИ'Вi Ц5, Dб, D7= 1
ШАГ (•А)
ИНВЕРТИРОВАТЬ ДAНIIIE
УСТАНОВИТЬ ФJIA:IO.I( СТОJIВЦА
ВЫЙТИ ИЗ ЭТОЙ ПOДIIPOГPAlllli
:-
Рис. 4.15. Программа на языке ассемблера микропроцессора 8080 . соответ
ствующая блок-схеме, представленной на рис. 4.14.
ний. Затем вводятся данные из порта ввода клавиатуры. На
третьем шаге в три старших разряда введенного слова записы
ваются значения 1. Последнее действие выполняется потому,
что входной порт, из которого были прочитаны данные, соеди
нен только. с пятью младшими разрядами шины данных. Что
бы неопределенность данных в старших трех разрядах введен•
ного слова не повлияла на выполнение следующих шагов про
граммы, целесообразно «маскировать» указанные разряды.
.
На четвертом шаге данные, полученные ·из порта ввода кла
вишного пульта, анализируются. Если во всех разрядах обца• _
руживаются единицы, т. е. код FF, то среди выходных линий'
U'416 т=ооооэ. IS ON CRQ0020 USING OOJ09 BLКS R=Ц10
- 0001
i)Q02
·ООО)
0004
0005 00001
,0006 00002
PAGE
TUE ост 02,1979 _01:59:27.45
NАМ F4.15
ооот 0000)
0008 00004
0009 00005
0010 00006
* ЭТО Ш:РСИЯ РИС.4.15 ДЛЯ 6800
001 1 0000 7 0000
0012 00006
*
*
*
JRG 00
УСТАНОВИТЬ НАЧ.АДРЕС этой пror. \
001) 00009
* УСТАНОВИТЬ ПОЛЕ ПЕРЕ~ННЫХ
0014 00010
0015 00011
0016 00012
, 0017 0001'
,0 018 оооц
,0 019 00015
•0020 0001 6
0021 00017
1001 CJ<LAG EQU S1001
*
* НАЧАЛО IIPOГP.AAIW
*
*
*
(ШАГ 1)
*
t>022 00018 0000 86 00 СОLМ LDA А #SQQ
STA А СОLМ
002) 00019 0002 97 00
0024 00020
0025 00021
0026 00022
0027 0002) 0004 96 FE
0028 00024
0029 00025
00)0 00026
0031 00027 0006 8А ЕО
00)2 00028
00)) -00029
оон 000)0
00)5 000)1
0036 000)2
00)7 0003)
00)8 00034
0039 000)5
0040 000)6
0008 81 ]<'].'
ОООА 27 01
ооос 39
0041 оооэ7 oooD 43
0042 00038
0043 00039
оон 00040
0045 00041 ОООЕ В7 1001
0046 00042 0011 39
0047 0004)
*
(ШАГ 2)
*
LDA А SOOJ'E
..
******(ШАГ 3)
*
ОНА А #SJ;;Q
..
******(ШАГ 4)
*
Cll4P А #SQQ}F
BEQ N1"XT
RТS
..
NEXT COil А
*
****** (ШАГ 6)
"
*
SТА А CFLAG
RТS
УСТАНОВИТЬ ФЛАЖОК СТОЛБЦА
ВХОДНЬШ ДАНJШ ИЗ ПОРТА F.&
УСТАНОВИТЬ БИТЫ D5 1 D6 1 D7=1
БСЛИ НОЛЬ I ТО Illi.'PEXOД
!:UИ.ТИ ИЗ ЭТО!'l ПОДПРОГ. ЕСJ!И НЕ О
ИНВЕРТИРОЕАТЬ ДАН!1⁄4lЕ
УСТАНОвwrь ФЛАЖОК СТОЛБЦА
ВЫУ,ТИ ИЗ ПОДПРОГР,...ШЫ
00<"3 00044
0049 00045
коm:ц ПОДПРОГРАММЫ
.Do5o 00046
*
0051 00047
0052 1 PAGE 2 :J!·4 TUE
005)
0054
Оо55
•
0056 CFLAG 1001 00011 00041
005-7 COIJI 0000 00018 00019
0058 NEXT, oooD (){)Q)7 00032
iND
ост
ПРЕД}!ОЖЕН,tЕ tND АССЕМБЛЕРА
02,1979 01:59:2?.4 ~
Рис. 4.16. Программа иа языке ассемблера микропроцессора 6800, соответ- •
ствующая блок-схеме, представленной на рис. 4.14.
120
'Глава 4
клавиатуры нет актцвиой (она должна находиться в состояиик
лопrческого О). Это условие будет выrrолцяться в тех случаях,
когда активизируемые входные линии ие соединены с какой-ли
бо выходной линией матрицы клавиатуры. 1:сли условие вы- •
полняется, то происходит выход из подпрограммы, а флажок
выходов еохраняет нулевые значения своих разрядов. э,ю озна-
чает, что активщ,rх выходов нет.
•
Если обнаруживается наличие активной выходной линии, то,
данные, полученные из порта ввода, • инвертируются. Теперь.
. флажок
выходов приобретает значение, равное значению слова,,.
полученного после выполнения инвертирования иа 5-м шаге, ала
горитма. Наконец, происходит возвращение к вызвавUiей про
грамме. Согласно рассмотренной блок-схеме написаны програм
мы для микропроцессора 8080 (рис. 4.15) и' для микропроцес
сора 6800 (рис. 4.16).
4.10.
Вычнсnенне весового значення кnюча
Каждому ключу в матрице клавиатуры ставится в 'Соответствие
число из диапазона 0-N; так, первому ключу, обозначенному
через R0Cg, соответствует число О, а последнему ключу R4C4 -
число N- На рис. 4.17 показаны веса, соответствующие ключам
матрицы клавиатуры. Функцию ключа на этой стадии опреде
лять ие будем. Вес, приданный каждому ключу, позволяет _вы
числить на . основании номера строки и номера столбца мат~
рицы клавиатуры, какой ключ был замкнут. На рис. 4.18 -нред
ставлеиа блок-схема алгоритма вычисления веса определенного,
замкнутого ключа. Рассматривая, блок-.схему, будем подразу
мевать, что информация о номере активного ст9лбца хранится
в памяти по адресу, обозначенному нами «флажок выходов»,· а
информация о номере строки матрицы, иа пересечении которой
с активным столбцом находится замкнутый ключ, находится в.
памяти по адресу, обозначенному как «входное слово».
Ссылаясь на блок-схему, подробно рассмотрим, как дейст
:sует эта программа. Сначала из памяти выбирается значение
«флажка выходов», содержащего иифе>рмацию о номере иско:
мого столбца. «Флажок выходов» может иметь одио из СJrеду
ющих пяти двоичных значений:
00000001 (0-й СТОJiбец); -'
00000010 (1-й столбец);·
00000100 (2-й столбец);
00001000 (3-й столбец);
-
00010000 (4-й столбец).
Затем, как в,идно из рис. 4.18, счетчик. Т1 принимает значение О.·.
Потрм счетчик Т 1 станет равным значению О, 1, 2, 3 или 4, со
'ответствующему номеру активного выхода клавиатуры. Для
выполнения этого программа будет сдвигать «флажок состоя-
Интерфейс устройств ввода-вывода
121
• ний» каждый раз {Ia один разряд вправ'о. Пос.ле первого сдвига
в nозиции D1 появится зиачеиие О (рис. А:.19). Затем сдвину
тое слово проверяется иа равенство нулю. Если все разряды
слова -равны О, то активных выходов иет. В этом случае зиа
чеиие счетчика Т 1 равно О.
Если зиачеиие сдвинутого слова данных при проверке иа
шаге 4 (рис. 4.18) окажется ие равным О, то зиачеиие счетчика
со
С1
С2Сэс4
1\х
х
х
х
х
о
1
2
з
4
R,
х
х
х
х
х
5
6/7
8
9
Рис. 4.17 . Десятичные значения
~х
·х
х
х
х
весов, соответствующие позициям
в матрице 5Х5 к.11авишноrо пуль-
10
11
12-1:З
14
та.
Rз· х
х
х
х
х
15
16
17
18
19
R4
х
х
х
х
х
20
21
22
2:З
24
Т 1 увеличивается на 1. Сдвиги и проверка слова «флажок выхо
дов», сопровождаемые увеличением зиачеиия счетчика иа 1,
продолжаются до тех пор, пока сдвщ·аемое слово данных ие ста
нет равным О. На этой стадии значение счетчика Т 1 времеиио
· записывается
в память.
•
Теперь, согласно блок-схеме, изображеиiюй иа рцс. 4.18,
подобные же действия выполняются иад значением «входного
_слова». В данном случае используется счетчик Т2.
Наконец, после того как в память по адресам Т2 и Т1 запи
саны соответственно десятичные значения номера строки и но
мера столбца, вес замкнутого ключ_а. вычисляется по формуле:
Вес ключа= (5 Х номер столбца) + Номер строки.
Вычисленный вес одцозначно определяет, какой ключ был замк
нут. Теперь может .быть выпоJiнен переход к программной сек
ции, которая соответствует конкретной функции ключа.
Однако, прежде чем выцqлнить указанный перехо~ с:ледует _
убедиться в том, что ключ, которому соответствует вычисленное
значение веса· ключа матрицы клавиатуры, действительно был
замкнут. А .также до тех пор, пока ключ не будет разомкнут,
I
5
Начало
Выборка Флажка
колонок нз памяти
2
Очистить
счетчик .т,
з
Сдвиг флажка
колонок на
Сдвиr 0-+Dт
1 разряд вправо
Нет
6
Запись значения Т 1
7
Выборка нз памяти
слова данных об
активностц rорнзон
тал~ной линии
8
Очистка
счетчика Т2
9
Сдвиг на I разряд
Нет
вправо слова данных о ....... D
7
об активности гори
зонтальных линий
11
Рис. 4.18. Блок-схема
программы вычисления
__ ___._ _ __ _ _ д есятичного
значения ве•
12
Запись веса ключа
в память
13
Возврат
са нажатой клавиши.
Интерфейс устройств -ввода~вывода
123
никаких действий выполнять нельзя. В рас·сматриваемой систе
ме -используются следующие критерии определения факта дей
ствительного замыкания и факта действительного размыкания
ключа:
•
Ключ считается действительно замкнутым, если микропро
цессорная система вычислит один и тот же вес ключа 50 раз
подряд.
•
Ключ считается действительно разомкнутым, если микропро
цессорная система обнаружит его разомкнутым в течение
D1
Do
оооо
ооо
После сдвига вправо на 1 раз
ряд в позиции D7 появляется
значение О
-оОООО1Оо-
Рис. 4.19. Сдвиг слова данных вправо на один разряд. В позиции D7 появ
ляется логическое значение О.
50 последовательных просмотров входной горизонтальной ли
нии матрицы клавиатуры.
Отметим, что выбор числа последовательных подтверждений
факта нахождения ключа в определенном состоянии является
субъективным. Благодаря последовате.11ы1ым подтверждениям
устраняется влияние эффекта механической вибрации клавиши,
существующего в_ клавишных устройствах. Интервал времени, в
течение которого ключ находится в неопределенном состоянии,
может быть различным для различных клавиатур.
4.11.
Проrраммные средства учета-эффекта
вибрации кnавиатуры
Теперь рассмотрим программное обеспечение, используемое дщr
учета эффекта вибрации клавиш. Разберем блок-схему, отра
жающую последовательность происходящих в системе событий.
Потом представим конкретную программу, необходимую для
реализации этой блок-схемы. В задаче можно выделить две
части. Первая заключается в разработке программы, обеспечи
вающей 50-кратное последовательное подтверждение факта об
наружения одного ключа в замкнутом состоянии. Вторая часть
_задачи состоит в установлении того, чтсi в течение 50-кратного
последовательного сканирования входных линий матрицы кла
виатуры не обнаруживается активной выходной линии клавиа
.туры. Эти частные задачи соответствуют вопросам определения
фактов действительного нажатия и освобождения определен
ной клавиши.
124
Глава4
• На рис. 4.20 представлена блок-схема, определяющая после•
довательность дейсТВf!Й, ·выполняемых сйстемой при ввод~ ин
формации о нажатии одной клавиши. Отметйм, что эта про•
грамма использует рассмотренную выше подпрограмму, блок
схема которой дана на рис. 4.10; эта подпрограмма использу-
Активной
колонки
нет
2
Начало
Вызов под
программы,
показанной
на РИС.4.10
Вызов под
программы
определения
веса ключа
(см.рис.418)
Вы зов под
программы
определения
веса ключа
(см. рис. 4.18)
Рис. 4.20. Блок-схема програм
мы ввода информации в мик
ропроцессорную систему о на-
жатии одной клавиши.
ется для определения номера активизируемой входной линии
матрицы клавиатуры. Кроме того, в данной программе исполь-:
зуется подпрограмма обнаружения активной выходной_ линии
клавиатуры. Если клавиша не нажата, то «флажок выход~в•
имеет значение О. В этом случае -управление передается
; (рис. 4.20) подпрограмме активизации входных линий, которая
установит на следующей входной линии уровень логического О.
Этот цик.11 выполняется системой до тех пор, пока пользовате_ль
не нажмет на клавишном пульте какую-либо клавишу.
• Если на шаге 3 (рис. 4.20) обнаруживается значение «флаж
ка: выходов», отличное от нуля, то данная программа вызовет
подпрограмму вычисления веса ключа, принимающего значения
9
Иктерфейс устройав ваода-вь1аода
Начало
1 Выборка нз памяти
значения переменно
КТIМЕ
Разные ключи
\
Нет
Д-а
8
Да
3
КСОМР = KWGT
4
5
KROW = 00000001,
KTI.ME = KTIME+1
Нет
Да
11
6
Переход к
программе, .
представле иной
11ар11с.4.2()
Переход к программе
определения факта
освобождения ключа
Р·нс. 4.21. Блок-схема программы определения 50 последовательных под
тверждений нажатия определенной клавиши.
в диапазоне от О до 24. Программа записывает это число в па
мять по адресу, t>бозначенному как K-WGT.
Итак, допустим, система один раз обнаружила активный вы
ход клавиатуры. ·Теперь должна быть выполнена 50-кратная
проверка активности одиой и той же выходной лянии клавиа.
туры, определяемой замыканием одного жлюча. Блок-схема со
ответствующего алгоритма показана на рис. 4.21 . На данной
126
Глава 4
блок-схеме счетчи.к KTIME используется для регистрации чис
ла последовательных поступлений в систему сигналов, соответ
ствующих замыканию одного и того же ключа, и для проверки
достижения этого числа заданному количеству подтверждений.
Если счетчик КТIМЕ при проверке на шаге 2 (см. рис. 4.21)
равен О, то значит, что от определенного ключа в систему посту
пил первый сигнал. Так как сигнал поступил в первый раз,,необ
ходимо запомнить соответствующее весовое значение ключа. -Это
делается посредством присваивания переменной КСОМР весово
го значения ключа, сигнал от которого поступил в систему. Ве
совое значение этого ключа всегда запоминается в памяти по
1
адресу KWGT. После присваивания переменной КСОМР на 3-м
шаге нового значения устанавливается значение счетчика
КТIМЕ равным 1 и происходит переход к секции программы,
обеспечивающей прием других сигналов от клавиатуры. Прежде
чем перейти к этой секции программы, система восстанавлива
ет значение счетчика активных входных линий клавиатуры
KROW. Устанавливаемое начальное значение определяет, что
теперь .уровень логического О должен подаваться на первую
горизонтальную линию матрицы клавиатуры. Это действие вы
полняется на 5-м шаге рассматриваемого алгоритма. Когда ин
формация о замыкании ключа вводится в систему во второй раз,
значение счетчика КТIМЕ не будет равно О. Поэтому после ша
га 2 выполнится шаг 7; На 7-м шаге сравниваются значения пе
ременных KWGT и КСОМР. Если сравниваемые значения не
равны, то выполняется, согласно блок-схеме, переход к шагу 8.
На 8-м шаге счетчику КТIМЕ присваивается значение О, и си
стема будет снова пытаться получить 50 последовательных под
тверждений факта нажатия определенной клавиши. Если зна
чения переменных KWGT и КСОМР равны, то после выполне
ния шага 7 будет выполняться шаг 9. На шаге 9 значение счет
чика КТIМЕ увеличивается на 1. Тем самым учитывается. еще
одно последовательное поступление информации о замыкании
одного и того же ключа. Потом система проверяет значение
счетчика КТIМЕ. Эта проверка выполняется на 10-м шаге
алгоритма. На 10-м шаге фактически проверяется, было ли
50 раз подряд зафиксирован9 одно и то же значение веса кл10ча.
Если значение счетчика КТIМЕ не равно 50, то система
переходит к выполнению шага 5, назначение ~оторого было
описано выше. Затем система снова возвращается к програм
мной секции, обеспечивающей ввод информации о состояниях
выходных линий клавишного пульта.
Если на шаге 10 значение счетчика КТIМЕ равно 50, то си
стема выполняет следующие действия. Сначала отмечается, что
было зафиксировано действительное нажатие клавиши. Соот
ветствующее весовое значение ключа запоминается в двух ячей
ках памяти с адресами KWGT и КСОМР. Система использует
• Интерфейс устройств ввода-вь1вода
127
ячейки KWGT для сохранения веса действительно замкнутого
ключа.
После установления факта действительного нажатия кла~и
ши система перейдет к программной секции, которая обеспечит
определение факта отжатия клавиши по принципу 50sкратного
подтверждения. До тех пор пока ключ остается в замкнутом со
стоянии, функция, рпределяемая им, выполняться н.е должна.
Отметим, что микро_процессорная система должна обладать та
ким быстродействием, что при оценке общей производительно
сти системы временем, которое тратится на подтверждение на
хождения клавиши в том или ином состоянии, можно пренеб
речь. А время выполнения функции соответствующей клавиши
должно быть много, меньше, чем время, которое эта клавиша
находится в нажатом состоянии.
Если при полном сканировании входных линий матрицы
клавиатуры не обнаруживается ни одной активной выходной
линии, то фиксируется отсутствие нажатой клавиши. Блок-схема
для реализации этой функции показана на рис. 4.22 . Сначала
переменной KROW присваивается такое значение, которое
обеспечит сканирование входных линий клавиатуры, начиная с.
первой линии. Затем счетчику КТIМЕ присваивается значение О.
В этой программной секции счетчик КТIМЕ используется для
подсчета количества полных сканирований клавиатуры, во вре
мя которых не обнаруживалось замкнутого ключа. Теперь си
стема вызывает подпрограмму с именем ROW (шаг 3 на блок
схеме). Эта подпрограмма готовит и выдает данные, опредеJiя
ющие значения уровней на входных линиях клавиатуры. После
этого система обращается к подпрограмме COL.
Подпрограмма COL проверяет состояние выходных линий
клавиатуры. Если активных выходных линий нет, то подпро
грамма COL присваивает «флажку выходов» значение О. Если
же активные выходные линии обнаруживаются, то управление
передается в начальную точку программы, что показано на
блок-схеме стрелкой, идущей от шага 5 к шагу 1.
Если а!{тивных выходных линий не обнаружено, то «флажок
выхо_дов» имеет значение О и система перейдет после шага 5 к
шагу 9. На 9-м шаге значение счетчика NROW - увеличивается
на 1. Счетчик NROW используется для регистрации количества
последовательных выполнений подпрограммы COL, во время
которых система не .обнаруживает активных выходных лиl'lий.
Счетчик NROW_ фактически указывает, какая из горизонталь
ных линий матрицы в· настоящее время активизирована. Когда
значение NROW равно 5, пятая по счету горизонтальная линия
матрицы была активизирована. Однако активных выходных ли
ний система не обнаружила.
В этом случае система, выполняя программу, представлен
ную блок-схемой на рис. 4.22, перейдет от шага 10 к ш·агу б.
2
з
4
Начало·
KROW =00000001
-
NROW= О,
КТ/МЕ "'О
Вызов подпрограммы
ROW
Вызов подпрограммы
COL
Нет
Да
Переход к последующему
ряду
9
NROW =NROW+1
Нет
6
KTIME = КТIМ-Е + 1
6а
NROW "'О
Нет
Возврат
Рис. 4.22. Блок-схема программы определения факта освобождения клави• •
ши клавиатуры. •
Интерфейс устройств азода-вь1вода
129
На шаге 6 счетчик l(ТIME увеличивается на 1. Этот счетчик ре
гистрирует количество полных сканирова1tий матрицы клавиату
ры, в течение которых замыканий ключа не было обнаружено.
Как только значение счетчика KTIME станет равным 50,
завершится выполнение полной программы, обеспечивающей
ввод и обработку информации в связи с нажатием одной кла
виши. Видно, что· при этом в системе происходит много собы-
Рис. 4.23. Блок-схема ооновнGй
программы, вызывающей под
программу ввода значения
ключа.
~
(. Начало
Основная
лрограмма
Вызов программ,
лредставленных
на рщ. 4.10, 4.14,
4.18, 4.20, 4.22
Переход к программе,
соответствующей
значению KWGT
~
тий. Когда система переходит от программы KREL, предназна
ченной для определения факта освобождения клавиши, к ос
новной программе, выполняется программная проверка значе
ния введенного веса ключа и указывается точка входа в соот
ветствующую системную программу. Эта системная программа
используется при реализации функции, определяемой нажа
той клавишей.
На рис. 4.23 дана общая блок-схема основной программы, в
которой используется подпрограмма KEYIN. Возвращение из
подпрограммы KEYIN к основной программе осуществляется
только после установления ею факта нажатия и последующего
освобождения одной клавиши. То, что клавиша была действи
тельно нажата, проверяется 50 раз подряд, ее освобождение
констатируется также после 50-кратного подтверждения. Поэто
му подпрограмма KEYIN не возвращает управление до тех
пор, пока после нажатия клавиши не наступит ее действитель
ное освобождение.
130
Глава 4
'
Затем основная программа, основываяс:о на значении пере-
менной KWGT, установленном· подпрограмм-ой KEYIN, опреде
ляет адрес перехода к программной секции, выполнение кото
рой реализует функцию замкнутого ключа. - Мы видим, что,
принципы программного управления клавиатурой обеспечивают
универсальность ее применения. Функции клавиш легко изме
няются посредством изменения программного обеспечения.
В нашей системе каждой клавише было приписано соответст
вующее значение веса К:WGТ, для отображения которого на,
индикаторе используется два младших разряда. Это значит, что
при нажатии клавиши, имеющей в матрице ключей обозначе
ние R4C4, на индикаторе появятся цифры 000024, соответствую
щие весу нажатой клавиши. С помощью этой программы мож
но убедиться· в правильности работы подпрограммы KEYIN.
После этого следует назначить клавишам фактические функ
ции.
4.12 .
Иннцнаnнэацня nроrраммы
Перед тем как начать обсуждение программы выполнения об•
щих системных функций, разберем вопрос инициализации си
стемного программного обеспечения. Обычно эта программная
секция выполняется только при включении питания системы
или когда оператор нажмет кнопку начальной установки си
стемы. Установка начального состояния микропроцессорных си
стем рассмотрена в гл. 2.
В секции инициализации программы определяются началь
ные значения переменных, которые в дальнейшем потребуютсw
при выполнении программы. Например, устанавливается на
чальное значение указателя стека и маска прерываний. Мы еще
не обсуждали вопросы обработки прерываний. Этому посвяще
на гл. 6.
Для нашей программы необходима начальная установка зна-
чений следующих переменных:
1. Указатель стека.
2. KROW=0000000l.
3. NROW=0.
4. КТIМЕ=О.
5. COLFG=0 (флажок выходов,)'.
6. Индикатор= FF0000.
•
Выполнение пункта 6 обеспечит вывод на индикатор заранее из·
вестного значения.
Программа для выполнения всех функций· системы приведе
на на рис. 4.24 . На этом рисунке представлена программа для
микропроцессора 8080, а на рис. 4.25 даиа программа для мик
ропроцессора 6800.
1 0000
2 0000
,
0000
4 0000
5 0000
6 0000
7 0000
В 0000
9 0000
10 0000
11 ::юоо
12000031FF13
1:} OOOJ AF
14 0004 F'В
15 0005 DЗ Fo
16 0007 DЭ F1
17 0009 DЭ F2
18 ооов :,2 00 10
19ОООЕJ20110
200011J20210
210014J2OJ10
22 0017 JC
230018JZ0410
: ПРОГРАММА ДЛЯ ВВОДА ДАННЫХ с КJ!АВИАТУFi,1. и ЗАПИСИ НА ;:щеп.
:***** ПГОГРАММИСТ:д~;LИМ J\QФФРОН В-28-79
***"*"'"*"*'*"••
*
O:ZG 00
УСТАНОВИТЬ НАЧ, АДРЕС
: СНАЧАЛА МЬi ДОЛЖНЫ ИНИl..;,ИАJ!ИЗИРОВАТЬ !3СЕ m:Р'ЕМЕН!-ЬlЕ
LXI
ХЧА
1'.:I
оuт
оuт
оuт
STA
STA
STA
SТА
IlЩ
STA
Sl', 1 )F1''Н
А
о}'он
0У1н
OF'2H
КТIМЕ
Ш'LAG
К\VGHT
КС01ЛР
А
К,{0'1{
ИН'11.U1АЛИЗИРОВАТЬ УКАЗАТ!,;JJЬ СТЕКА
НАЧ.ЗНАЧ, ФЛАЖНОВ,ОБНУЛ, АККУМУЛЯТОРА
ВОЗМОЖНЫ. ПР~РЬlВАНИЯ
шв~,;сти ноль НА .1щcruш,i
УСТА!ЮВИТЬ ДИСПЛЕli=оооооо
КТIМЕ=О
CFLAG=u
КWGHT=O
КСОМl'=О
АКi<УМУЛЯТОР= 1
24 001В
*
кю,v=ооооооо 1
25 ОО1В
"'·
26 001В
* ТЕПЕFЬ УСТАНОВИМ АДРЕСА ПЕРЕМ!!.'Н11,1.Х
27 ОО1В
*
28 001в
:ктrмь: EQU
29 001В
CJ''JJAG EQU
ЗО001В
,,•,
КWGHT _i;QU
J1ОО1В
КСОМР :eQU
:J2 001В
КJ10W ЩU
:JЭ 001 В
N!-IOW EQU
:J4 001В
*
35 001В
*
1ОООН
КТIМЕ+1
Cl•LAG+1
КWGHT+1
Kl\JMP+1
K'!uW+1
:Jб 0018
*******
ДAJIEI,; НАЧИНАЬ:ТСЯ ПРОГРАММА****"**""**" .. **" *"*****
37 001В
*
:ЭВ ОО1В
*
НАЧАЛО РИСУНКА 4,20
:J9 001В
_..
40 001В CD ЕВ 00 SIOW
41ОО1ЕCDDB00
CALL ORaW
CALL СОLМ
LDA Cr'LAG
CPI ООН
JZ SROW
CALL XEYW
:ВЫВЕСТИ АКТИВНУЮ CТPQt{Y
:ВЫЗВАТЬ ПОДПРОГ, ОБР, СТОЛБЦА
НВОБХОДИМ:0 ПРОm:РИТЬ ФЛАЖОrt СТОЛБЦА
ПРОВЕРИТЬ СТОЛБЕЦ НА АКТИВНОСТЬ
СТОЛБЕЦ НЕ АКТИВЕН,ПРОI1⁄4РИТЬ ЦИКЛ
СТОЛБЕЦ АКТИВЕН,l<АКОl'J ИМЕН!Ю???
420021ЗА0110
43 0024 FE 00
440026СА1В00
450029CDВ100
46 ОО2С
47 002С
4В ОО2С
.9 ОО2С
50 ОО2С
51 002С
52 002С
5J ОО2С
54 002С
55ОО2СЭА0010
56 002F
57 002F
5В OQ2F
59 002F
'60 Оо2.1!' FE 00'
*
*
Ю)НJЩ РИСУНrtА 4. 20
·НАЧАЛО РИСУНКА 4 . 2 1
*
*******'...
И!,\ЕЕМ АКТИВНУЮ КЛАВИШУ **""Н**"~**""*'**'""""*
*
""***""* (ШАГ 1)
*
LDA XTIME
ПОВТОРШ~ IJ,l:30B КТП4Е из ПАWlТИ
...
"""*""'*(ШАГ .2)
KTIМE=Q??
Рис. 4.24. Программа ввода .информации с клавиатуры и вывода ее на ин
дикатор.
610031СА5В00
62 оон
JZ KCL01
6) 00)4
64 00)4
65 00)4
66 оон
670034ЗА0210
68 оон 41''
•69ооз8ЗАаз10
.7000JBВ9
71ОО)ССА4600
72 00JF'
73 OO)F
74 оозF
75 00JF AF
760040)20010
77 0043 С) 66-ОО
78 0046
79 0046
80 0046
810046зл0010
82 0049 JC
83004АJ20010
84 004D
85 004D
.86
004D
87 004D F,; З2
88 004J-' С2 66 00
89 0052 CD 61'' 00
900055CDА700
910058С)!В00
92 ОО5В
93 005В
94 0058
RE ПЕРЮИ РА-0
*.
******(ШАГ 7}
*
LDA КWGHT
моv С,А
LDA КСОШ'
СМР с
JZ KCLQ2
..
******(ll!AГ 8)
,.
ХНА А
STA KTIME
JiliP KCLOJ
*
******(ШАГ 9)
*
LDA КТIМЕ:
INR А
STA KTIME
*
******(ШАГ 10)
*
CPI 50
JNZ KCL(}J
CALL K0J1N
CAI,L КОUТ
JMP SR0W
*
**** .. *(ШАГ З)
*
95 ОО5В ЗА 02 to KCL01
96ОО5Е)2аз10
LDA КWGHT
ИА ксоМР
97 0061
98 0061
99 0061
100 0061 JE 01
101 006) )2 00 10
102 0066
103 0066
104 0066
*
MVI _А101
SТА .КТIМЕ
*"**** (WАГ 5)
*
105 0066 JE 01
КСLОЗ MVI
STA
А01
кfюw
106 0068 J2 04 10
107 006В
108 ОО6В
109 ОО6В
110 ОО6В С) 1В 00
111 006Е
112 ОО6Е
*
****'*(ШАГ 6)
*
JМF sвow
*
*
ДА I ЭТО ПЕРШЙ РАЗ
КАКАЯ ЦИФРА ВЫЛА НАВРАНА???
РЕГИСТР С=КWGНТ
РЕГИСТР А=КСОМР
KCOMi'=КWGHT?Тl'
дл,они РАВНЬI ! 11
ани НЕ РАВНЫ
ПЕРЕЗАПИСАТЬ КТIМЕ
:ИДТИ НА ПЕРЕЗАГРУЗКУ АКТИВ.НАВОРЛ
Ji!ЫЗВАТЬ KTiщbl ,тз ПАМЯТИ
KTIМE=KTIМill+1
КТI.МН:=КТIМd+-1'
KTIME=50???
ЕЩЕ НЕ50
.
ПРОВЕРИТЬ ГОТОВНОСТ1'ПУЛЪТА•
ВЫДАТЬ НА ПУЛЬТ
НАЗ'АД К НАЧАЛУ
ХСОМР=КWGН!J!-.
УСТАНОВИТЬ КТIМЕ=t
УСТАНОВИТЬ АКТИВ.НАВОР=ОООО0001
:ИДТИ К IfAЧAJJY ПРОГР.Alv!l,l,l •
11:з оо6Е
............... *** ............ ., ...................... *......» ..........,* ..........****......11- .. 111'*1'-
°tЦ ОО6Е
*
115 ОО6Е
НАЧАЛО ПРОГР .АМW
116 ОО6Е
*
117 ОО6Е
.... .... ..... . . ,. .... ..... .... ..... .... ..... . ******».. ** ~»***~**** .. *** .... ** ... . * .
118 оо6Е
*
119 оо6Е
*
120 00§.Е
..
121 ОО6Е
122 ОО6Е
123 ОО6Е
124 ОО6Е
1 25 ОО6Е
126 ОО6Е
* ПРОГРАШlА подготовки шrлътл
*
.
*****************************************,*'****************
*
127 ОО6Е ЗЕ 01
128 0070 )2 04 10
129 0073 ЗD
130 0074 )2 05 10
1)1 0077
1)2 0077
13) 0077
134 0077 З2 оо 10
****"*СШАГ 1)
*
КОРN
*
MVI А,01
SТА КROW
DCR А
STA NR0W
******(ШАГ 2)
*
STA КТIМЕ
1)5 007А
*
136 007А
*"****<ШАГ 3)
1)7 ОО7А
*
138 007А CD ЕВ 00 K0PN1 CALL 0R0W
1)9 007D
*
140 007D
******(ШАГ 4)
141 007D
*
142 007D CD DB 00
14) 0080
144 0080
145 0080
146 0080 ЗА 01 10
147 008) FE 00
148 0085 02 6Е 00
149 Q088
1 50 0088
151 0088
152 0088 )А 05 10
153 008g зс
154 ОО8С )2 05 10
155 0081!'
156 008F
157 0081''
158 oo8F FE о5
159 0091 С2 7А 00
160 0094
161 0094
162 0094
163 0094 ЗА 00 10
1640097JC.
165 0098 )2 00 10
166 009В 47
167 0090
1бВ О09С
169 ОО9С
170 О09С AF
171 009D )2 05 10
172 ООАО
17) ООАО
IH ООАО
175 ООАо JE )2
176 ООА2 В8
177 ООА) С2 7А 00
178 ООАб
179 ООА6
180 ооАб
CALL СОLМ
*
****"* (ШАГ 5)
*
*
LDA C}'LAG
CPI 00
JNZ K0PN
****** (ШАГ 9)
*
*
LDA NR0W
INR А
STA NRQV{
******(ШАГ 10)
*
*
СР]: 05
JNZ K0PN.1
****"*(ШАГ б)
*
*
LDA КТIМЕ
INR А
STA КТIМЕ
Моv в,А
******(ШАГ 6А)
*
XRA А
STA NR0W
*
*****"(ШАГ 7)
*
*
МVI А1 50
СМР. В
JNZ K0PN1
******(ШдГ 8)
*
KROW=ooooooo1
NRoW=oooooooa
KTIME=Q
ВЫВЕСТИ НАБОР
ВВЕСТИ ДАНШЕ СТОЛБЦА.
ВВЕСТИ CFLAG
CFLAG=o??
ПУЛЬТ ЕЩЕ НЕ СВОБОДЕН
ВВЕСТИ АКТИВНЫЙ НАВОР
ЗАПИСАТЬ АКТИВНЫЙ НАБОР
СКАНИРОВАНИЕ НЕ ЗАКОНЧЕНО~
РЕГИСТР Б=КТIМЕ
ЗНАЧЕНИЕ НАВОРА=О
КТIМЕ=5О???
НЕТ 1 СКАНИРОВАНИЕ ЕЩЕ РАЗ.
181 ООА6 С9
182 ООА7
18) ООА7
184 ООА7
185 ООА7
186 ООА7
187 ООА7
188 ООА7
189 ООА7
190 ООА7
191 ООА7
*
11ЕТ
ШХОД ИЗ ПОДПРОГРАМW ПОДГОТОВКИ
..
***********************************************************
*
*
ПОДПРОГРАIША КОUТ
*
: ЭТА ПОДIIРОГРАWА lf!ВЕДЕТ ДАННЫЕ С ПУЛЬТА НА ДИСПЛЕЙ
***********************************************************
*
192 ООА7 )А 02 10 КОUТ
19) ООАА D) FQ
LDA
оuт
оuт
оuт
RET
КWGHT
оFон
QF1H
О1''2Н
ДАНЩЕ С ПУЛЬТА В АККУМУЛЯТОРЕ
194 ОоАС D) FI
195 ООАЕ D) F2
196 ООВО С9
197 ООВ1
198 00В1
*
************************************************************
199 ООВ1
*
200 QOBI
201 ООВ1
ПОДПРОГРАММА КЕУW
*
202 ООВ1
•
ЭТА ПОДПРОГРАJ4Ш. УСТАЮВИТ ЗНАЧЕНИЕ НАЖАТОЙ !(ЛАВИJПИ
20) ООВ1
*
204 00В1 ,,
205 00В1
206 ООВ1
*
•***** БЛОК-СХЕl,(А ЭТОЙ ПРОГРАММЫ НА РИС.4.18
207 00В1
208 0001
*
******(ШАГ 1)
*
209 00В1
210 00В1
211 ООВ2
212 00В5
21) ООВ5
АУ
КЕУW ХВА А
ОБНУЛИТЬ ФЛАЖКИ И АККУМУЛЯТОР
ПРИНЯТЬ ФЛАЖОК СТОЛБЦА ИЗ ПАМЯТИ
)А0110
214 ООВ5
215 00В5 Об 00
216 00В7
217 00В7
218 ООВ7
219 00В7 1F
220 ООВS FE 00
221 ООВА
222 ООВА
22) ООВА
224 ООВА СА С1 00
225 OOBD
226 OOBD
227 ООБD
228 OOBD 04
229 ООВЕ СЗ В7 00
2)0 ООС1
2)1 ООС1
2)2 ООС1
LDA CFLAG
*
******<ШАГ 2)
*
:М:VI В100
*
****** (ШАГ ) )
*
КEYWt RAR
CPI 00
*
******(ШАГ 4)
*
JZ КЕУW2
*
****** (ШАГ 5)
*
INR В
JМР КEYWI
*
******(ШАГ 7)
*
КЕУW2 XRA
2ЗЗ ООС1 AF
2)4 ООС2 )А 04
2)5 ООС5
10
LDA
А
кюw
2)6 ООС5
237 оос5
2)8 ООС5 0Е 00
2)9 ООС7
240 ООС7
*
******(ШАГ 8)
*
.МVI С100
*
******(ШАГ 9)
ОБНУЛИТЬ СЧЕТЧИК
СДВИНУТЬ ВПРАВО НА 1 ВИТ 10 В D7
FЕГИСТР В=о,1 ,2,э,4 (ШАГ 6)
УБЕJ;ичить ЗНАЧ.СЧЕТ, и идти ш ПОВТОР
ОБНУЛИТЬ ФЛАЖКИ
IЗЬIЗВАТЬ АКТИВНЫЙ НАВОР
ОВШ'JIИТЬ СЧЕ'ХЧИК Т2
24t 0007
242 0007 1F
2 4З 0008 Jl'E 00
244 ООСА
245 ООСА
246 ООСА
247 ООСА СА DI 00
248 OOCD •
249 OOCD
2~0 OOCD
251 OOCD ОС
252 ООСЕ CJ С7 00
25З OOD1
254 OOD1
2~5 OOD1
256 OOD1 AF
257 OOD2 78
258 OOD) 17
259 оощ 17
2 60 OOD5 8()
261 OOD6 81
262 OOD7
26J OOD7
2 64 OOD7
265 OOD7 )2 02 10
266 OODA
267 OODA
268 OODA
269 OODA
270 OODB
271 OODB
272 OODB
27) OODB
274- OODB
275 OODB
276 OODB
277 OODB
278 OODB
279 OODB
280 ооDв
281 OODB
282 OODB
28) OODB
284 OODB
285 OODB
286 OODB AF
•287ObDCЗ20110
288 ooDF
289 OODP
290 OOD}'
291 OODF' DB FE
292 ООЕ1
293 ООЕ1
294 ООЕ1
295 ООЕ1 Fб ЕО
296 оо~з
297 OOEJ
298 OOEJ
299 ООЕ) FE 11' .i:~
)00 ООЕ5 СВ
*
КЕУWЗ RAR
CPI 00
*
******(ШАГ 10)
*
JZ КЕУW4
*
******(ШАГ 14)
*
INR с
JМР Ю:YWJ
*
******(ШАГ 11)
*
КЕУW4 XRA А
моv л,в
:RAL
]Щ,
ADD В·
ADD о
*
**Н**(ШАГ 12)
*
STA КWGНТ
*
******(ШАГ 1))
*
RET
*
СДВИГ ВRРАВО НА 1 БИТ ,о В D7
ЕСЛИ О I ТО :ВЫПОЛНЕНО
УВЕЛИЧИТЬ ЗНАЧЕНИЕ СЧЕТЧИКА,
ИДТИ НА ПОВТОР
ОБНУЛИТЬ ФЛАЖКИ
АЮ<УМУЛНТОР=СЧЕИЧИК СТОЛБЦОВ (TI)
В*2
В*4
В*5
(В*5)+с=О-24
ВЪlЙТИ ИЗ ЭТОЙ ПОДПРОГРАШЯ
******************************************************"***
*
*
ПОДПРОГРАММА СОLМ
*
* ЭТА ПОДПРОГРАММА ОПРЕДЕЛИТ АКТИВШЙ СТОЛБЕЦ,
* ЕСЛИ ОН СУЩЕСТВУЕ':С
*
********************·**************************************
*
*
ЭТА ПоДПРоГРАММА-РИС.4 .1 5
*
**********************************************************
*
******(ШАГ 1)
*
CQLM XRA А
STA CFLAG
УСТАНОВИТЬ ФЛАЖОК СТОJIБЦА=()
*
·******(ШАГ 2)
*
IN оF1'Н
ВХОДНЫЕ ДАННЫЕ ИЗ ПОРТА FE-
*
******(ШАГ J)
*
ORI О}'ОН
*
******(ШАГ 4)
*
CPI OJl'EЯ
RZ
ШАГ (4А)
,0 1 ООЕб
ЗО2 ООЕб
ЭОЗ ООЕб
ЗО4 ооЕб 2F
ЗО5 ООЕ7
ЭОб ООЕ7
ЗО7 00}!;7
ЗОВ ООЕ7 З2 01 10
ЗО9 00.ЕА С9
*
******(ШАГ 5)
*
СМ:А
*
******(ШАГ б)
*
STA C:Ь'LAG
ЛЕТ
310 ООЕВ
*
ИНВЕРТИРОВАТЬ ДАНН!:il.Е
УСТАНОВИТЬ ФЛАЖОК СТОЛБЦА
JШИТИ ИЗ ЭТОЙ ПОДПРОГРАММЬl
З 11 ООЕВ
************************·***********************************•
З12 ООЕВ
*
З 1J ООЕВ
* ПОДПРОГРАММА ВЫВОДА .АКТИВНОГО НАБОР А НА ПУЛЬТ
ЭЦ ООЕВ
*
З 15 ООЕВ
* ИМЯ :ЭТОЙ ПОДПРОГР.АМW-ОRJW
З16 ООЕВ
*
З 17 ООЕВ
* ЭТО РИС,4.12
З18 ООЕВ
*
З19 ООЕВ
**************"""**********"*******************************
З20 ООЕВ
************************************************"**********
З21 ООЕВ
*
)22 ООЕВ
* РИС,4,12-ПОДПРQГР.АММА К РИС,4,10 В МНЕМОНИКЕ 8080
)2) ООЕВ
*
З24- ООЕВ
*********·*******************·********************************
325 ооЕе
*
З2б ОоЕВ
*
327 ООЕВ ЭА 04 10 0ROW LDA KHOW
)28 ОоЕЕ
*
З29 ООЕЕ
******(ШАГ 2)
ЭЭО ООЕЕ
*
)J1 ООЕЕ FE 10
зз2 ooFo с2 Fз оо
ЗЭЗ OQF)
зн ооFэ
ЗЭ5 OOF)
ЗЭб 001<'3 ЭЕ 01
ЭЭ1 ooF5 С) F9 00
*
CPI tон
JNZ 0ROW1
****** (ШАГ 2А)
*
мvr А,О1Н
JJЛP ST)
эзв ooFs
*
ЗЗ9 OOF8
****** (ШАГ 2В)
НО OQF8
*
Ht ooFs 07
OIOW1 m,c
З42 OOF9
*
Э 43 ooF9
****** (ШАГ З)
34-4 OOF9
*
З45 00F9 )2 04 10 SТЗ
STA KH0W
З46 ooFC
*
З47 ooFC
******(ШАГ 4)
34s ooFc
*
)49 QOFC 2F
СМА
з5о ooFD
)51 OQ}'D
З52 ooFD
З5Э ooFD D) FE
354 ooFF
)55 ooFF
)56 ooFF
)57 ool!'F С9
З58 0100
З59 0100
Збо 0100
З6t 0100
Э62 0100
о .SRRORS
*
******(ШАГ .5)
*
•
ОUТ ОFЕН
*
****** (ШАГ 6)
*
RET
*
END
:22 ~У.МВОL."
ПOBTOPIJ,l~ вызов АКТИВНого·НАБоРА
СКАНИРОвАНИЕ: НАБОРА ЗАНОНЧЕНО???
ЕСЛ11 НЕТ, ТО _ШАГ 2В
IТh"'РЕМЕСТИ'l'Ъ АКТИВННЙ НАБОР
ИДТИ НА ШАГ Э
СДВИНУТЬ ДAHIJ,IE ВЛЕВО,о В DO
СОХРАНИТЬ АКТИВНЫЙ. НАБОР
ИНВЕРТИРОВА,;'Ъ СЛОВО НАБОРА
ШВЕСТИ .АКТИВНЫЙ НАБОР В ПОРЖ FE
IХРЕДЛОЖЕНИЕ END АсСЕМВJ!ЕрА
LF426
0001
ООО 2
ООО)
0004-
000 5
0006
0007
0008
0009
0010
0011
0012
001)
оон.
0015
0016
0017
0018
0019
0020
00 21
00 22
00 23
00 24-
00 25
00 26
00 27
00 28
00 29
0030
0031
00 32
ООЗJ
со )4-
00 35
оо 36
0037
0038
0039
004-0
004-1
004-2
ООО
ООЦ
004-5
0046
0047
0048
0049
00 50
00 51
00 52·
00 53
00 54-
00 55
00 56
00 5"(
00 58
Т=ООО') IS ON • CR00020 USING ООО 71, BLKS R:;:1410
} t PAGE 1 Ji'425 WED ОСТ ОЗ,1979 11:22:42.58
00001
0000 2
0000'3
00004-
*************************************••*****~*****
*
* ПРОГРАММА ВВОДА С КЛАВИАТУРJl И ЗАПИСИ НА m:cп.iIEЯ
* ДЛЯ 6800
.
•
********** ПРОГРАММИСТ ДЖW,( КОФФJ.>ОН **************
0000 5
00006
*
.
.
0000 7
0000 8
00009 FCOO
ООО 10
*
*
NAM F425
ORG .SFCOO
УСТАНОВИТЬ НАЧАЛЬНЫЙ АДРЕО
В ПАМЯТИ
00001
ООО 12
00013
ООО 14
* ВО-ПЕРВЫХ ИНИЦИАЛизИРУЕМ ВСЕ ПЕРI::ЫЕННШ:
*
FCOO 8Е 1З FF ВEGIN LDS -#S 1 З FF ИНИЦИАЛИЗАЦИЯ УКАЗАТЕЛЯ СТЕКА
FC03 86 00
LDA А -#SOO
НАЧ. ЗНАЧЕЮIЯ ФЛАЖКОВ,
ООО15FOO5О1 Ю
00016, FC07 О 1 F1
ООО17 FC09О1 F2
ООО 18 FCOB ВТ ЮОО
ООО19 FCOE В7 100t
ООО 20. FClt В7 100 2
ООО 21 FC14 В7 ЮС)
ООО22FCI7 4-С
00023 FC18 Е7 1004
ООО 24-
*
)
STA А 11sro
STA А 11SF1
STA А #SF2
.:,ТА А КТIМЕ
STA А CFLAG
STA А ПGНТ
STA А КСО.МР
INC А
STA А КROW
О БНУJ!ЕНИЕ Аl{.l{.У/ОЛЯТОРА
ВЫВЕСТИ НОЛЬ НА ДИСПЛЕЙ
УСТАНОВИТЬ т:сnлsй в ноль
КТПIЕ=О
CFLAG=O
KWGHT=O
КСОМР=О
J,ККУМУЛЯТОР = 1
KRO W=OOOOOOO 1
ООО 25
*
ооо 26
* '!ЕГЕРЬ УСТАНАВЛИВАЕlL АДРЕСА ПЕРЕNo!IНШ
ООО 27
*
ООО 28
1000 КТIМ& EQU
ООО 29
100 i CFLAG EQU
ООО JO
100.2 KWGHT EQU
ООО 31
\00 3 КС')МР EQU
ООО J2
100 4- КROW EQU
ООО JJ
100 5 NROW EQU
ооон
...
000)5
*
S\000
КТП.!Е+t
CFLAG+1
KWGHT+t
КСОМР+1
KROW+1
00036
***** ТЕПЕРЬ-СТАРТ ПРОГРАШШ **********************
ООО З7
*
ООО J8
*
ООО J9
*
ООО 4-0 FC IВ BD FCF2 SROW
00041 FCIE BD FCDF
0004-2 FC2t lJ6 1001
ООО 4-З FC24 81 00
ОООН FC26 27 F)
FC28 BD FCAD
*
*
*
*...
НАЧАЛО IOIC~-4, 20
JSR ORoW
ВЫВЕСТИ АКТИВНЫЙ НАВОР
JSR СОШ
ВЫЗВАТЬ ПОДПРОГРАМ!U СОLИ
LDA А CFLAG НЕОВХОЩП.0 IJp,()J3iPИTЬ ФЛАЖОК
С~Р А 11S00
ВЕQ SROW
JSR КЕУW
К~НЕЦ рис.4. 20
НАЧАЛО рис·,4 . 21
СТОЛБЦА
ПРОВЕРИТЬ АКТИВНl)СТЬ СТОЛБЦА
НЕ АКТИВН3.li СТОJIВSЦ ,ПОВl'ОРИ'IЪ
ЦИ·КЛ
11ктивны11 стоJiв1щ 1клкоа и:.вш~оt
ООО 4-5
00046
0004-7
0004-8
ООО 4-9
ООО 50
00051
ООО 52
ООО 53
ООО 5~
***** ПУЛЬТ /IRТИВЕН
"·
*********************••···
'*
.
..
******(ШГ 1)
*
Рис. 4.25. Программа иа языке ассемблера микропроцессора 6800, П}JеJU183И8-
ченная J.JIЯ авод.а 11Иформацки с хпавиатуры II аwаод.а ее иа ивuкатор.
Q059 t PAGE 2 F425 WED ОСТ. ОЗ,1979
'0060
11:22:42.58
'0 061
0062
00 бЗ 00055 Fс2в Вб 1000
0064 00056
0065 00057
0066 00058
0067 00059 .
00 68 ООО 60 FC2E -81 -0()
0069 00061 Fсзо 21 25
' 0 070 00062
' 0 071 00063
0072 00064
0073 00065
оон 00066
• 0075 ООО 67 :l!'C:J2 Ffi 1002
0076 00068 FC35 В6 100)
0011 ооо 69 :l!'CJ8 11
0078 00070 FC39 27 08
0079 00071
• 0080 00072
10081 00073
· 0082 00014 Fсэв 86 оо
008) 00075 FC)D В7 1000
0084 00076 :l!'C40 ТЕ FC62
0085 00077
008 6 00078
0087 00079
LDA А КТП4Е
*
*
******(ШАГ 2)
*
C!ilP А #S00
БЕQ KCLOI
*
*** НЕ ПЕРWЙ РАЗ
****** (ШАГ 7)
*
*
LDA В КWGНТ
LDA А KCO/IIP
СВА
BEQ KCLC>2
****** (ШАГ 8)
*
*
LDA А #S00
STA А КТIМЕ
JМР KCLC>3
****** (ШАГ 9)
*
0088 00080 FC43 В6 1000 KCL02 LDA А КТIМЕ
0089 00081 FC,16 40
INC А
0090 00082 FC47 Б7 1000
STA А "KTIME
0091 00083
0092 00084
009) 00085
0094 00086 FC4A 81 )2
0095 00081 Fc4c 26 ц
0096 00088 F:ЩЕ BD FC6A
0097 00089 FC51 BD :F'CA3
0098 00090 FC5 4 7Е :F'С1Б
0099 00091
0100 00092
0101 00093
*
******(ШАГ 10)
*
*
СМР А #50
BNE KCL03
JSR К,JPN
JSR КОUТ
JМР SROW
0102 00094 FC57 Бб 1002 KCL01 LDA А кwант
010) 00095 :l!'C5A Б7 1003
STA А KCuMP
0104 00096
0105 00097
0106 00098
0107 00099 FC5D 86 01
0108 00100 FC5F В7 1000
*
LDA А #S01
ST А А КТI.IIE
0109 00101
*
0110 00102
*"'****(ШАГ 5)
0111 00103
*
. 0112 00104 FC62 86 01 KCI.()3 LDA А #SQ1
0113 00105 FC64 В7 1004
STA А КROW
01 ц 00106
*
0115 00107
******(ШАГ 6)
ПЕРЕЗАГРУЗИТЬ КТIМЕ ИЗ ПАМЯТ~
KTI}(E:;:QTT
ДА,зто ПЕРШЙ РАЗ
КАКАЯ ЦИФРА ВЫЛА НАВРАНА???
РЕГИСТР А=КСОМР
СРАВНИТЬ ДВЕ ВЕЛИЧИШ
ДА 1 ОНИ Plill!li
ОНИ НЕ PAВ!J,I
ПЕРЕЗАПИСАТЬ КТIМЕ
ИДТИ НА ПЕРЕЗАГРУЗКУ АКТ.НАБОР.&
ВЫЗВАТЬ КТIМЕ ИЗ ПАМЯТИ
ктrМЕ=КТIМЕ+ 1
КТIМЕ=КТIМЕ+ 1
КТIМЕ=50??
ЕЩЕ: НЕ 50
ПРОВЕРИТЬ ГОТОВ!ЮСТЬ ПУЛЬТА
ВЩАТЬ НА ПУЛЬТ
НАЗАД I< НАЧАЛУ
KCullll·=К:WGHT
УСТАНОВИТЬ КТIМЕ=1
УСТАНОВИТЬ АКТ.НАВ.=00000001
0116 00108
*
0117 00109 FC67 7Е :l!'C1B
JМР SROW
ИДТИ НА НАЧАЛО ПРОГРАWШ
0118 1 PAGE 3 F425 WD ОСТ 03 1 1979 11:22:42,58
0119
0120
0121
01·22 00110
012J 00111
0124 00112
0125 0011J
0126 00114
0127 00115
0128 00116
0129 00117
0130 00118
01)1 00119
01J2 00120
01JJ 00121
0134 00122
0135 00123
0136 00124
01)7 00125
0138 00126
0139 00127
0140 00128
0141 00129
0142 00130
0143 00131
0144 00132
РСбА 86
}'С6С В7
}"C6F 4А
}'С70 В7
01
1004
1005
0145 001J3 F'С7З В7 1000
0146 00134
0147 00135
0148 00136
0149 00137 :Е'С76 BD FC}2
0150 00138
0151 00139
0152 00140
0153 00141 Fc79 BD FCDF
0154 00142
0155 00143
0156 00144
0157 00145
о158 00146
0159 00147
016000148
0161 00149
01 62 00150
0163 00151
01 64 00152
0165 00153
01 66 00154
016700155
016800156
}'С7С В& 1001
}"С7}" 81 00
}СВ1 26 Е7
}"С83 В6 1005
}СВ6 4С
1''С8 7 В7 1005
0169 00157 FCBA Bi 05
0170 00158 FCBC 26 Е8
0171 00159
0172 00160
01 73 00161
0174 00162
0175 00163
0176 00164
FC8E В6 1000
FC91 4С
F'C92 В7 1000
*
*
*** ** * * **** **·** * * ** *** * * *** ** ************ **** ****** .
*
** .... * НАЧАЛО ПРОГРАММЫ *************'*****************
*
..........* .. .****************************************** ~
*
*
РИСУНОК 4. 22
ПОДПРОГРАММА ПОДГОТОВКИ ПУЛЬТА
.... *** **** * .. ****************************************•
*
•***** (ШАГ 1)
..
KOPN LDA А #S01
STA А КROW
DEC А
S1'A А NROW
STA А ктrм,,;
*
******(ШАГ 3)
*
KOPNl JSR OROW
.
**''"(ШАГ 4)
х
Jc,H СОLМ
•
***'**(ЫАГ 5)
..
LDA А C~'LAG
C!ilP А -#00
J3NE KOPN
**** .. "(ШАГ 9)
*
LDA А NROW
INC А
STA А NFcOW
•** .. **(ШАГ 10)
*
СМ!:' А #05
BN.I ,;
KOPN1
*
******(ШАГ 6)
*
LDA А КТIМБ
INC А
Ш'А А KTIМi
KROY,= 00000 001
NROW=oooooooo
KTI!.li:=O
ВЬiВiСТИ НАБОР
вш,;сти ДАНШЕ СТОЛБЦА
ВВЕСТИ спм;
CF'LAG=O??
ПУЛЬТ Е!Щi: НЕ СВОБОДЕН
ВВЕСТИ АКТИВНЫJl НАБОР
ЗАПИСАТЬ АКТ.ИВНЫ~i НАБОР
СКАНИРОВАНИЕ Ю: ЗАКОНЧЕНО
0177 1 PAG,,;
4 F425 WED ОСТ 03 1 197, 11:22:42,58
0178
0179
1()180
' 0181 00165 FC95 F6 1000
•0182 00166
0183 00167
{)184 001 68
0185 00169 FC98 86 00
,0186 00170 FC9A В7 1005
• 0187 00171
()188 00172
0189 0017)
0190 00174 FC9D 86 32
0191 00175 Fc9F 11
0192 00176 FCAO 26 D4
019) 00177
0194 00178
0195 00179
0196 00180 FCA.2 Э9 •
LDA В КТIМЕ
*
******(ШАГ бА)
*
*
LDA А #00
STA А NROW
****** (ШАГ 7)
*
*
LDA А #50
СВА
BNE KOPN1
****** (ШАГ 8)
*
RTS
0197 00181
*
0198 00182
*
РЕГИЩ'Р В=Кf!МЕ
ЗНАЧЕНИЕ НАВОРА=О
КТIМЕ=50??
НЕТ 1 СКАНИРОВАНИЕ ЕЩЕ РАЗ
вы.ход из ПРоrРАМNo подrотовкн
0199 0018)
****""*"*"*"************""***************************
0200 00184
*
0201 00185
1:
*
DОДПРОГРАММА КОUТ
0202 00186
*
0203 00187
* ЭТА ПОДПРОГРАММА ВЫ.ВОДИТ ДАННЬIЕ С ПУЛЬТА НА ДИСII.Л:Е:Й"
{)204 00188 •
*
0205 00189
*******"***"" *****~ ** .. . .. *• "*** "*** *""**"********""**
0206 00190
*
1
0207 00191 FСАЭ Б6 1002 КОUТ
0208 00192 FCA6 01 FO
0209 00193 FCA8 01 F1
0210 00194 FCAA 01 FZ
0211 00195 :Е'САС :,9
*
LDA А КWGHT
STA А #SFO
STA А #SF1
STA А #SF'2
RTS
ДАНШЕ С ПУЛЬТА В Ан.КУМУЛЯТОРi
0212 00196
021) 00197
0214 00198
*** ** **** Jt-lJE-** ** ** IJE-*JHt· *** Jt- *****·}НЕ·***•*********•*** **.1f
*
::)215 00199
*
ПОДПРОГРАМЫА КЕУW
*
021 6 00200
021 7 00201
* ЭТА ПОДПРОГРАММА УСТАНОВИТ ЗНАЧЕНИЕ КЛАВИШИ
0218 00202
0219 0020)
*
********К**•******•*•*********************•********
*
0220 00204
0221 00205
0222 00206
"***" влон-схr:МА этой ПОДПРОГРАММЫ НА РИС,4,18
*
022, 00207
0224 00208
0225 00209 FCAD 86 00 КЕУW LDA А #00
0226 00210 FCAF В6 1001
LDA А CFLAG
0227 00211
0228 00212
0229 00213
02)0 00214 FCB2 С6 00
02)1 00215
*
02)2 00216
**Н*"(ШАГ Э)
02ЭJ 00217
*
02)4 00218 FСВ4 47
КЕУW1 ASR А
*****" (ШАГ 1)
*
*
******(ШАГ 2)
*
LDA В #00
НУЛЕВiЕ ФЛАЖКИ И АЮ<УМУЛЯТО~
ПРИНЯТЬ ФЛАЖОК СТ, ИЗ ПАМЯТИ
ОБНУЛИТЬ СЧЕfЧИК
СДВИНУТЬ ВПРАВО НА 1 ВИТ 1
ОВD7
02)5 0021!1 :Е'СВ5 81 00
СМР А #00
·а2)6 1 ВА.GЕ 5 F425 WED ОСТ 0) 1 1979 11:22:42.58
0231
02)8
f()2J9
·- ( )240 00220 1<'СВ7 J1
- 0241 00221
()242 00222
{)24J 0022)
Q244 00224 l'СВ8 27 05
0245 00225
0246 00226 FСВА JJ
• 0247 00227
0248 00228
0249 00229 1''СВВ 5С
0250 оо,эо ~-:свс 7Е }'СВ4-
0251 002) 1
0252 002)2
025) 02JJ
PSH в
"******(ШАГ
*
4}
BiQ liliYW2
*
PUL в
_.,.,.,.,.*(ШАГ 5)
*
INC в
JJ.!J:'
IШYWI
*
******(ШАГ 7)
*
0254 002)4 FCBF 86 00 КЕУW2 LDA А #00
0255 002)5 Fcc1 В6 1004-
LDA А KROW
0256 002)6
*
0257 002)7
*<Н**(ШАГ 8)
0258 002)8
*
0259 002J9 J!'CC4, Сб 00
0260 00240
0261 00241
0262 00242
:026J 0024) FССб 47
0264 00244 FCC7 81 00
0265 00245 1''СС9 J7
0266 00246
0267 00247
:0268 00248
0269 00249 FCCA 27 05
0270 00250
0271 00251 1-ССС JJ
0272 00252
0273 0025J
0274 00254 FCCD 5С
0275 00255 1'"ССЕ 7:Ь: }'СС6
Ю276 00256
- 0277 00257
0278 00258
0279 00259 FCD1 JJ
{)280 00260 J,'CD2 J2
:0281 00261 FCDJ J7
.Q282 00262 FCD4 J6
028) 0026J FCD5 48
Q284 00264 FCD6 48
,0285 002 65 FCD7 JJ
0286 00266 FCD8 1В
0287 00267 FCD9 JJ
- 0288 002 68 FCDA 1В
0289 002 69
•
0290 00270
0291 00271
0292 00272 FCDB В7 1002
LDA В 4/0Q
KEYWJ ASR А
СМР А #00
PSH В
*
*"""**(ШАГ 10)
*
BEQ КЕУW4-
*
PUL li
•"" •(ШАГ 14)
'
INC в
JMl- '
КJ::YWJ
"
"*''*'*(ШАГ 11)
*
КJ::YW4 PUL в
PUL А
PSH в
PSH А
ASL А
ASL А.
PUL в
АВА
PUL 11
АВА
*
***""" (IIAГ 12)
*
S.TA А КWСJНТ
*
*"*11** (ШАГ 1))
B:R~G=011,21J14(ШAГ 6)
УВЕЛИЧИТЬ ЗНАЧ,СЧ, И ИДТИ: Я1
ПОВТОР
ОБНУЛИТЬ ФЛАЖКИ
ВЬI.ЗВАТЬ АКТИВНЫЙ НАБОР
ОБНУЛИТJ. СЧЕТЧИН Т2
СДВИГ ВПРАВО НА 1 ВИТ10 В DT
ЕСЛИ О I ТО ВЫПОЛНЕНО
УВ,;JIИЧИТЬ ЗНАЧЕНИЕ СЧЕТЧИКА
ИДТИ НА ПОВТОР
РЕГИСТР В=Т2
АККУМУЛНТОР=СЧЕТЧИК СТОЛВЦОВ/rI/
Т1*2
Т1*4-
Т1* 5
(TI*5)+Т2
029) 0027J
- «)294 00274-
0295 1 FAGi 6 1'42? WE) ОСТ 0J,1979 11:22:Н,58
~296
0299 00275
0300 00276 FCDE 39
0301 00277
0302 00278
030) 00279
0)04 ()Q280
0)05 00281
OJ06 00282
0)07 0028)
0)08 00284
0)09 00285
0)10 00286
0)11 00287
0)12 00288
0)1) 00289
О) 14 00290
0315 00291
0)16 00292
0)17 0029) FCDF 86 00
0)18 00294 FCE1 В7 1001
ОЭ 19 00295
0)20 00296
0)21 00297
0)22 00298 FCE4 86 FE
0)23 002 99
0)24 00)00
0325 00)01
0)26 00)02 FCE6 8А ЕО
0)27 00)03
0)28 00)04
0)29 00)05
03)0 00)06 1"СЕ8 81 FF
03)1 00)07 FCEA 26 01
0))2 ОUЗО8 FCEC 39
03)) 00)09
О)Н 00)10
0335 00)11
0))6 00312 FCED 43
0)37 00) 1)
0))8 00)14
03)9 00315
0340 00316 FCEE В7 1001
0341 00)17 FCF1 )9
0)42 00)18
034) 00)19
0)44 00)20
0345 00)21
0346 00)22
0)47 00)2)
0)48 00324
0349 00)25
0350 00326
0351 00327
0352 00328
0)53 00329
0354 1
0355
0)~6
0357
03~8 003)0
FAGE 7
*
RTS
*
а~йти из этой ПОдпРОГРАIОll
***************************************************
*
*
*
ПОДПРОГРАJОIА COIJ(
* ЭТА ПОДПРОГРАММА ОПРЕДЕЛИТ АКТИВНЬIЙ СТОЛБЕЦ,
* ЕСЛИ ОН ЕСТЬ•
*
***************************************************
*
*
*
***************************************************
*
****** (ШАГ 1)
*
СОLМ
*
LDA А 41ОО
STA А CFLAG
*****"(ШАГ 2)
*
.
LDA А #SJo'E
*
**'"*' (ШАГ J}
"
ОНА А ,и,SЕО
"
**..,.""(ШАГ 4)
*
*
см:р А ,и,SFF
BNE N!!iXT
RТS
******(ШАГ 5)
*
NEXT СОМ А
•
******(ШАГ 6)
*
STA А CFLAG
RTS
*
УСТАНОВИТЬ ФЛАЖОК СТОЛБЦА=()
ВВЕСТИ ДАН!НЕ ИЗ ПОРТА FE
УСТАНОВИТЬ БИТЫ D5 1 D6,D7=1
ШАГ ( 4А)
ИНВЕРТИРОВАТЬ ДАIП!ЫЕ
УСТАЮВИТЬ ФЛАЖОК СТОЛБЦА
ШЙ ТИ ИЗ ПОДПРОГР АЫ111l
***********************"************************~
*
* ПОДПРОГРА!JW.1 В.ВОДА АКТИВНОГО НАБОРА НА ПУЛЬТ
*
* ИМЯ ЭТОЙ ПОДПРОГРАММЫ OROW
*
*
*
************************************************•
************************************************•
'11-
WED ост 03,1979 11:22:42,58
*
ВЕРСИЯ РИС.4.10 ДЛЯ 680()
юз 59 00:и:1
·ОЗ 60 00332
0)61 00333
0362 00334
"
**•*****....'*•***•***.« ***** * ~ ** *** ** * * *** *** ********--••
*
"
0363 ООЗJ 5 FCF2 В6 1004 OROIV LDA А КЮW
!ШЗВАТЬ АКТИВ!liЙ НАБОР
0)64 00336
*
OJ65 00337
0)66 00))8
0367 00))9 FCF5 81 10
03 68 00340 1''CF7 2 6 05
0369 00)41
0)70 00)42
0371 0034)
0372 00344 FC}'9 86 01
• 0 3 73 003 45 FC]'B 7Е F'C}'J;"
,0 374 00)46
0375 00)47
0376 00)48
·0 377 00349 Jo'C}'E 48
0)78 00)50
0379 OOJ51
0380 00) 52
*
ШАГ ·2
СМР А ,и,s10
БNЕ СЖОW1
*
ШАГ 2А
*
LDA А ,и,SQt
JШ' STJ
*
*
ШАГ 2В
"
OR0'11 ASL А
"
*ШАГЗ
*
0)81 00)53 }'CFF В7 1004 ST)
STA А KROW
.О)В2 00)54
"
03В) 00)55
0)84 00)56
0)85 00357 FDQ2 43
0386 00)5В
- 0)87 00)59
OJBB 00)60
OJB9 00)61 FDQ) 01 FE
0)90 00)62
0)91 00)6)
0)92 00364
0393 00)65 FDQ5 39
*
Ш·АГ 4
*
СОМ А
*
ШАГ 5
STA А ,и,SF}'
*
*
ШАГ 6
RTS
СltАНИРОВАНИЕ НАБОРА ЗАКОНЧЕНО
ЕСЛИ НЕТ I ТО 11АГ 2В
ПЕРЕIIЕСТИТЬ АКТИВWЙ НАБОР
ИДТИ НА ШАГ З
СДВИНУТЬ ДАШШЕ ВЛЕВО 1 0 В DO
СОХРАНИТЬ АКТ.НАБОР В IШ4ЯТИ
ИНВЕРТИРОВАТЬ СЛОВО НАБОР А
ВЬ!ВЕСТИ АКТИВ!ШЙ НАБОР В ПОРТFЕ
0394 00) 66
OJ95 00)67
0)96 0036В
УСТАНОВИЫ ВЕКТОР ПОВТОРЮГО СТАРТА
0)97 00369 FFFE
0)98 00)70 FFFE Fcoo
0)99 00)71
*
*
ORG
t'DB
SJ,И'I!'
BEGIN
****~************************************** .. ******
0400 00)72
0401 OOJ7J
0402 00)74
040) 00)75
,()404OOJ76
END
ПРЕДЛОЖЕНИЕ ЕВР ACCEIIБJIEPA
0405 1 PAGE В 1''425 WED ОСТ ОЗ, 1979 11: 22:42,58
0406
ЩО7
'040В
0409 BEGIN Fcoo 0001) 00)70
0410 CFLAG 1001 00029 00316 00294 OO'Z10 00145 0004'Z 000)0 00019
0411 СОLМ FCDJ<' 0029) 00141 00041
{)412 KCL01 FC57 00094 00061
·0413 KCL02 FC4) 00080 00070
0414 KCL03 FC62 00104 00087 00076
0415 КСОМF 1ООЗ 00031 00095 00068 0003Z 00021
Щ 16 КЕУW FCAD 00209 00045
0417 КЕУW1 FСВ4 00218 002)0
0418 КEYWZ FCВF 002)4 00224
144
Глава 4
0419 KEYWJ Fссб 0024) 00255
0420 КЕУW4 J,'CD1 ·00259 00249
0421 K0PN FСбА 00126 00147 00088
0422 K0PN1 FC76 00137 00176 00158
042) КОUТ F'CAJ 00191 00089
0424 KROW~ 1004 00032 00)53 00335 00235 00127 ooto5 000JJ 0002
0044~65 КТIМЕ 1000 00028 00165 00164 00162 00IJJ 00100 00082 00006 00075 ООО"'"
00029 00018
~~
0427 K~GHT 1002 0OOJQ 00272 00191 00094 00067 00031 00020
04 28 NExr }'CED 00312 0030 7
0429 NR0W 1005 000JJ 00170 0015J 00151 0012!}
0430 0RO\V PCF2 00JJ5 001 J7 00040
0431 0I!Q\V1 }CJ,'E 00)49 ООНО
04)2 SR0VI Fс1в 00040 00109 00090 00044,
04JJ STJ FCFF ООJ5Э 00)~5
4.13.
Выводы
В этой главе рассмотрены принципы ввода данных с клавиш
ного пульта и вывода информации на цифровой индика1'ор.
Рассмотренная нами микропроцессорная система не ориентиро
валась на выполнение какой-либо практической задачи. Одна
ко если принципы работы системы понятны, то к средствам
проектирования добавилось еще одно, которое можно использо
вать при проектировании небольших микропроцессорных си
стем. В гл. 8 будет показано, как применять рассмотренные
здесь принципы проектирования для решения практической за-.
дачи- автоматического программирования ППЗУ. При этом
будут использоваться клавишный пульт и индикатор, рассмот
ренные в данной главе. Конечно, придется добавить· как- про
граммные, так и аппаратные средства. Однако общие принципы
организации функционирования клавишного пульта и индикато
ра будут непосредственно применяться при проектировании,
В гл. 5 нам предстоит рассмотреть методы отладки небольших
микропроцессорных систем и методы поиска неисправностей в
отказавшем оборудовании. Прежде чем переходить к изучению
материала следующей главы, следует хорошо разобраться в
вопросах, изложенных в данной главе.
Глава 5
ПРИМЕНЕНИЕ МЕТОДА ТЕСТИРОВАНИЯ
СТАТИЧЕСКИМИ СИГНАЛАМИ ДЛЯ ОТЛАДКИ
АППАРАТНЫХ СРЕДСТВ
МИКРОПРОЦЕССОРНЫХ СИСТЕМ
В настоящей главе рассматривается метод отладки аппаратных
средств микропроцессорных систем. Этот метод может с одина
ковым успехом применяться и для отладки опытных образцов
только что сконструированных систем, и для систем, которые
были в эксплуатации, но по каким-либо причинам утратили ра
ботоспособность.
Метод, используемый для отладки аппаратных средств, но
сит название «тестирование статическими сигналами». Этот ме- ·
тод разработан автором. Идея его впервые была изложена в
книге Understaпding and TrouЫeshooting the Microprocessor,
Prentice Hall, 1980. Рассмотрим, как используется метод тести
рования статическими сигналами для поиска неисправностей в
аппаратных средствах микропроцессорных систем.
5.1 .
Идея метода тестирования
статическими сиrнаnами
В первых четыре?( главах книги рассматривались различные во
просы построения •микропроцессорных систем. В гл. 4 факти
чески вьщолнялось проектирование системного программног0:
обеспечения для систем, работающих под управлением микро
процессора._. Основываясь на материалах указанных глав, точно·
укажем состав технических средств микропроцессорных систем.
В микропроцессорные системы входит восемь следующих ос-
новных элементов:
1. Микропроцессор.
2. Адресная шина.
3. Двунаправленная шина данных.
4. Шина управления с логическими схемами и буферами~
5. ПЗУ.
6. ОЗУ~
7. Устройства ввода.
8. Устройства вывода.
Отметим, Ч'l"О элементы 2-8 работают под управпеивеи
микропроцессора. Действительно, микропроцессор генерирует'
уnравляющие ••rналы, которые используются для управ.11еи~ц
ра-боrо~ ЦЗУ, QЭУ и, усtрой~тв ввода-вывода. Буферн шин.
11-814
146
Глава 5
лишь временно сохраняют двоичную информацию, появляющую
·-СЯ на выходах микропроцессора. Все это является основанием
к применению такого мощного средства отладки аппаратных
-средств, как метод тестирования статическими сигналами.
Теперь рассмотрим характеристики основных блоков аппа
ратных средств. Все эти блоки имеют статическую природу, т. е.
,они не требуют периодического обновления в них информации
с помощью специального механизма. Системные ОЗУ, которые
предполагается использовать, являются статическими, а не ди
намическими. Во многих небольших микропроцессорных систе
м ах применяются статические ОЗУ.
Приведем здесь два положения, касающиеся аппаратных
средств, которые полезно знать:
1. Все периферийные аппаратные средства, такие, как ПЗУ,
ОЗУ и устройства ввода-вывода, управляются микропроцессо
ром.
2. Природа всех управляемых блоков аппаратных средств
статическая.
Рассмотрим, какую роль играют эти два положения при от
ладке аппаратных средств с помощью устройства тестирования
статическими сигналами. В качестве примера разберем поря
док выполнения операции чтения данных из ПЗУ. Чтобы про
читать данные из ПЗУ, микропроце<::сор должен выполнить сле
дующие четыре действия:
1. Подать адрес на адресную шину.
2. Подготовить шину данных к приему данных.
3. Подать сигнал ЧТЕНИЕ и сигнал выбора кристалла.
4. Снять сигнал ЧТЕНИЕ и сигнал выбора кристалла.
Проведем подробный анализ каждого из перечисленных дей-
·ствий. В ходе анализа постараемся выявить, насколько оправ
дано использование тестирования статическими сигналами.
Выше указывалось, что, выполняя операцию чтения данных
из ПЗУ, микропроцессор должен подать на адресную шину оп
ределенный адрес. Как используется этот адрес? Он служит и
для выбора модуля ПЗУ, и для указания ячейки в выбранном
модуле, в которой содержится нужное 8-р азрядное слово дан
ных. Как же выполняют аппаратные средства указанf!ЫЙ про
цесс выборки? Некоторые адресные линии подключены к де
шифратору адреса, который обеспечивает формирование сиг
нала выбора памяти. Другие адресные линии непосредственно
связаны с линиями ввода адреса памяти ПЗУ.
Напомним, что выбор кристалла памяти в системе и выбор
адреса ячейки в кристалле осуществляются дешифраторами,
выполненными в виде комбинационных логических схем. На ад
ресные линии можно подать некоторый адрес и оставить его
неизменным в течение продолжительного периода времени. При
этом дешифратор адреса будет всегда вырабатывать один 11
Применение метода тестирования статическими сигналами 147
тот же выходной сигнал. По существу дешифрирование адреса
представляет собой не зависящую от времени функцию. Сигна
лы управления, используемые для подготовки шины данных ~
приему данных, применяются и для подачи сигнала чтения из
памяти. И в этом случае сигналы шины управления образовы
ваются с помощью дешифрирования определенных выходных.
сигналов микропроцессора. Здесь сигналы управления образо•
вываются аналогично тому, как формируются сигналы выбора,
памяти, которые получались посредством дешифрирования ко
дов, поступающих по определенным адресным линиям. Сигналы
шины управления формируются путем дешифрирования опреде
ленных сигналов управления, вырабатываемых микропроцессо•
ром. Существенно, что сигналы управления на выходах микро"
процессора можно сохранять в определенном состоянии в тече
ние длительного промежутка времени, а сигналы шины управ
ления при этом будут оставаться неизменно правильными.
Снятие сигнала ЧТЕНИЕ и сигнала выбора памяти-четвер
тое основное действие, которым завершается операция чтения
данных из ПЗУ. При выполнении его, так же щак и при выпол
нении 3-го действия, шина данных используется для передачи
сигналов управления, генерируемых микропроцессором~
Из проведенного анализа следует, что микропроцессор дей
ствительно является контроллером системы, который способен
очень быстро выполнять статические операции. Поскольку каж
дая статическая операция протекает очень быстро, мы обычно.
забываем о статической природе систем, управляемых микро
процессором. Благодаря статическому характеру систем для от
ладки аппаратных. средств можно использовать очень эффектив
ный метод - тестирование статическими сигналами.
5.2 .
Аппаратные средства устройства
тестнровання статнческнмн снrнаnамн
В общем виде наши рассуждения подчинены схеме, выражае
мой следующими словами: «Если мы сделаем это в систем.е, то
произойдет следующее ... » Если мы подадим адреса и сигналы
управления на определенные схемы системы, то мь1 сможем
выполнить отладку системы. Рассмотрим подробно, какие ап
паратные средства требуются для образования сигналов, не
обходимых ,в;ля выполнения тестирования. Рассматриваемы~
здесь тип ввода сигналов подобен способу, который применяет
ся при отладке аналоговых схем.
5.3.
ААРеснwе nиннм
Сначала обсу.D.RИ, каким образом могут быть использованы ад
,~сные лин11J1 • с'Истеме. Если удалить микропроцессор из с:к...
стемы, то можr~:о подключить JСабель к разъему, предназна1Jенио,..
10•
Микропроuес:сор отключается,
н подключается
штепсельный .разъем к~~еля л
,с,оо",м .ео>оро~"~
Тестируемая
система
Это устройство заменяет
микропроцессор
Устройство тестирования
статнческими сигналами
Рис. 5.1 . Схема подключения устройства тестирования статическими сиrвапа•
ltи к проверяемой микропроцессорной систе,ме.
+5
1:!] = r,7к0м
.. .,.
о
,._
N
C\J
cf
ф
;:'
ф
а:
cr:
сЕ
cr:
cr:
Рнс. 5.2 . Схема включения адресных тумблеров устройства тестирования ста•
тическими сигналами.
•
Применение метода тестирования статическими сигналами •149
м у для подключения микропроцессора (рис. 5.1). Тогда к друго
м у концу этого кабеля можно подключить· группу тумблеров.
Каждый тумблер будет соответствовать определенной линии ад
реса микропроцессора. На рис. 5.2 представлена схема подклю
•1сния тумблеров ко всем адресным линиям.
S.4 .
Сиrнаnы управления
)Lля имитации сигналов управления микропроцессора можно
воспользоваться группой тумблеров, подобных тумблерам ад
ресных линий. Таких тумблеров в группе должно быть ровно
Hs
1С2
SW7
06
Ю/М
R•
1С1
sw6
Об
SYNC/ALE
Рис. 5.3. Схема генерации
сиrиалов управления.
Аз
iC1
sw"
06
WR
R2
1С2
06
DBIN/RO
R1
4
столько, сколько используется выходов микропроцессора дпя
подачи сигналов управления. Все особенности данного вопроса
будут раскры:гы при проектировании устройства тестирования
150
Глава 5
статическими сигналами, предназначенного для микропроцес
соров 8080 и 8085. Схема генерации сигналов управления пред
ставлена на рис. 5.3.
5.5 .
.
Линии wины данных
Задача формирования сигналов устройством тестирования ста
тическими сигналами для шины данных отличается от задачи
формирования сигналов для адресной шины и шины управле
ния. Отличие обусловлено тем, что шина данных является дву
направленной, а не однонаправленной. Таким образом, необхо
димо иметь схему для генерации данных, подаваемых на шину
данных, и, кроме того, следует предусмотреть дополнительную
схему, обеспечивающую управление размещением данных на
шине данных, которое осуществляется другим источником. Эти
две различные функции точно соответствуют тем, которые при
сущи микропроцессору при взаимодействии с шиной данных.
В различных микропроцессорах для определения режима
использования шины данных - ввод данных или вывод дан
ных- применяются различные линии. Например, микропроцес
сорная система 8080 работает в режиме чтения данных, когда
сигнал DBIN имеет логическое значение 1. В системе 8085 уста
навливается режим чтения, когда сигнал RD принимает логиче
ское значение О. Таким образом, для различных типов микро
процессорных систем необходимо по-разному реализовывать
аппаратные средства тестирования статическими сигна;11ами. На
рис. 5.4 приведены схемы, соответствующие различным режи
мам использования шины данных. На рис. 5.5 изображена схе
ма аппаратной реализации функций двунаправленной шины дан
ных в устройстве тестирования статическ:ими сигналами. Пояс
ним принцип действия этой схемы. Когда сигнал управления бу
дет иметь логическое значение О, данные, определяемые поло
жениями тумблеров и индицируемые светоизлучающими диода
ми, будут поданы на шину данных. В этом режиме устройство
тестирования или микропроцессор выводят данные на шину дан
ных микропроцессорной системы. Если на вход сигнала управ
ления подается уровень логической 1, то данные, индицируе
мые светоизлучающими диодами, поступа~рт на шину данных
от какого-либо блока системы. В этом режиме устройство тести
рования, имитирующее микропроцессор, вводит данные. Такой
режим аналогичен рабочему режиму, в котором микропроцессор
запрашивает данные из памяти или от устройств ввода-вывода.
На рис. 5.6 представлена схема устройства тестирования стати
ческими сигналами, предназначенного для проверки микропро
цессорных систем 8080_ и 8085. Она являет собой реальный
пример аппаратуры, которая действительно необходима для
реализации тестирования статическими свгяаламв.
Микропроцессор
или
устройство
тестирования
а
Микропроцессор
или
Буфер данных
Система
____ данные,
поступающие
в систему
устройство
Буфер данных
Система
тестирования
ь
Рис. 5.4 . Схема потоков данных, входящих в устройство тестирования и вы
ходящих из него. Эта схема ничем не отличается от схемы потоков данных
в си_стеме, работающей под управлением микропроцессо~,а,
\:i~
8
•
Rз2
7
•
~ 6~--{"e'r-
• --i---, "' -.
15
{•]
D,, j
"'- .
14
l•r
r~;•/{
,+_,,_
:J
{•}
---
1
6
7
10
9
2
3
14
ICi
13
1 :'JJbl
4
5
1?
11
•1
Do
1, 15
«Заперто))
SWз
1, 15
[линия сигнала упрuлення
2
rc,
3
о,
12 LS367 11
Do
t,7
R;o Rз~-4 в=~70 Ом
6
~
6
5
rc,
8
07
9
8
9
2
Ds
~3
12
13
3
4
3
Dз
IC7
10
_1с,
07
11
L04
11
5
6
5
9
8
9
о..,
+$
Рис. 5.5 . Схема реализации двунаправленных буферов данных в устройстве
тестироваи11я.
3
6
\
3
7
\
3
8
\
3
9
/
4
0
!
1
1
3
5
1
3
4
\
3
3
!
3
2
1
3
1
\
3
0
!
2
.
:
1
,
~
1
~
1
;
;
1
~
,
~
,
1
'
!
1
:
с
,
E
r
l
!
[
'
"
l
=
t
:
i
=
t
:
i
=
t
:
i
=
i
:
i
r
a
:
J
\
J
'
I
J
I
J
\
i
'
l
c
i
'
\
l
1
~
r
n
Р
и
с
.
5
.
6
.
С
х
а
м
а
у
с
т
р
о
й
с
r
в
а
r
е
с
т
и
р
о
в
а
1
щ
я
8
0
8
5
,
2
8
\
2
7
\
2
6
\
2
5
\
2
4
\
2
3
l
2
2
\
2
1
.
f
\
J
I
J
'
\
J
'
\
.
I
\
1
1
:
1
«
П
р
и
м
е
ч
а
н
и
я
:
J
,
В
с
е
р
е
з
и
с
т
о
р
ы
и
м
е
ю
т
м
о
щ
н
о
с
т
ь
0
,
2
5
В
т
,
5
"
7
о
2
,
[
!
)
Р
е
з
и
с
т
о
р
ы
R
1
-
R
3
2
и
м
е
ю
т
с
о
п
р
о
т
и
в
л
е
н
и
е
4
,
7
к
О
м
3
,
Р
е
з
и
с
т
о
р
ы
R
3
3
-
R
4
0
и
м
е
ю
т
с
о
п
р
о
т
и
в
л
е
н
и
е
2
7
0
О
м
+
s
в
с
т
а
т
и
ч
е
с
к
и
м
и
с
и
г
н
а
J
i
а
м
и
,
п
р
е
д
н
а
з
н
а
ч
е
и
н
о
r
о
д
.
п
я
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
о
в
8
0
8
0
и
8
0
8
5
.
Г!рименение метода тестирования статическими сигналами 153
5.6.
Применение устройства тестирования
ста,тическими сиrнаnами
На рис. 5.7 показана схема подключения устройства тестирова•
ния статическими сигналами к микропроцессору Z80. Устройст
во тестирования будет использоваться для контроля и отладки
аппаратных средств системы, описанной в гл. 4. Схема этой си
етемы изображена на рис. 5.8а-5.8в. Используя устройство
тестирования статическими сигналами, пробник, осциллограф
или вольтметр, можно систематически и эффективно проверять
работоспособность каждой секции аппаратных средств систе
мы. Представляемые здесь методы использовались на практи
ке в промышленности и оказались эффективными.
Рассматриваемые методы отладки являются основополагаю
щими. Они весьма полезны для начинающих, так как экономич
ны и просты.
5.7 .
Выбор точки начаnа контроnя
Независимо от типа используемого микропроцессора система
всегда предъявляет определенные требования к источнику пита
ния. Поэтому контроль системы целесообразно начать именно
с источника питания. Чтобы убедиться, что все уровни напря
жений питания находятся в допустимых пределах, следует из
мерить их с помощью вольтметра. Удостоверившись в том, что
питающие напряжения отвечают требованиям, следует присту
пить к проверке генератора тактовых импульсов. Если в систе
ме использованы системные генераторы тактовых импульсов, то,
чтобы определить, удовлетворяют ли их характеристики специ
фикациям, следует воспользоваться осциллографом. Специфика
ции определяют верхние и нижние границы для всех временных
и амплитудных характеристик генераторов тактовых импульсов.
Удостоверившись, что все временнь1е и амплитудные характери
стики генератора тактовых импульсов удовлетворяют специфи
кациям, можно продолжить контроль. При выполнении очеред
ных шагов контроля всегда должна существовать уверенность,
что на соответствующие входы микропроцессора подаются но
минальные напряжения питания и правильные последователь
ности синхронизирующих импульсов.
Следующий шаг в микропроцессорах разного типа может
выполняться по-разному. Рассмотрим особенности его выполне
ния для микропроцессора Z80. После детального обсуждения
принципов и порядка контроля этого микропроцессора будет не
трудно приспособиться к особенностям других микропроцессо
ров. Рассмотрим, как будет функционировать контролируемая
система. Мы знаем, что микропроцессор будет работать как си
стемный контроллер, т. е. он будет непрерывно выполнять про"
М
и
к
р
о
п
р
о
ц
е
с
с
о
р
Z
8
0
2
9
5
4
3
2
1
4
0
3
9
3
8
3
7
3
6
3
5
3
4
3
3
3
2
3
1
3
0
1
3
1
0
9
7
8
1
2
1
5
1
4
2
1
2
2
2
0
1
9
1
1
~
!
Q
J
·
1
•
\
,
l
.
\
u
J
u
.
ц
К
L
1
,
~
1
1
~
I
\
~
~
W
2
W
1
A
i
~
•
1
•
1
•
1
•
1
•
1
•
\
А
в
A
;
I
.
1
•
1
•
1
•
I
A
2
\
A
1
l
д
o
:
0
1
1
•
1
•
1
•
1
•
1
°
2
1
°
,
\
D
o
=
-
1
=
«
З
а
п
е
р
т
о
»
=
-
Р
и
с
.
5
.
7
.
С
х
е
м
а
п
о
д
к
J
i
ю
ч
е
и
и
я
у
с
т
р
о
й
с
т
в
а
т
е
с
т
и
р
о
в
а
н
и
я
к
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
у
Z
8
0
.
+
5
4
,
7
к
О
м
2
9
·
~
~
2
4
N
T
1
6
-
1
7
J
J
_
V
J
;
В
.
•
2
5
+
?
Z
8
0
+
5
1
4
,
7
к
О
м
-
-
:
-
J
я
е
s
Г
т
S
2
6
1
'
+
2
0
~
I
0
R
D
2
1
А
О
2
2
W
R
1
9
M
R
E
Q
ф
б
7
4
0
4
7
4
0
4
7
4
L
S
3
6
7
Ш
и
н
а
д
а
н
н
ы
х
о
-
1
1
-
-
-
-
-
А
L
S
1
2
5
J
C
7
В
с
е
О
З
У
-
2
1
1
9
В
с
е
П
З
У
-
2
7
0
8
•
l
З
Y
l
2
7
0
8
0
4
0
0
-
0
?
F
'
I
C
1
r
1
4
0
0
-
1
7
F
F
.
В
А
0
"
'
1
4
B
D
o
B
A
-
;
j
6
5
>
,
1
3
B
D
;
'
"
'
в
о
·
7
0
1
2
8
D
2
4
1
1
3
2
i
-
'
-
-
t
-
-
'
-
-
-
1
1
\
1
6
1
5
I
C
2
0
,
0
0
-
1
7
F
F
B
M
E
M
R
S
E
L
;
B
M
E
M
W
Р
и
с
.
5
.
8
а
.
Ф
у
и
к
ц
и
о
и
а
J
i
ь
и
а
я
с
х
е
м
а
Ц
П
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
н
о
й
с
и
с
т
е
м
ы
Z
8
0
.
г
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
,
i
+
5
1
+
5
-
1
-
5
+
5
+
5
1
1
1
1
R
,
R
,
R
s
1
1
1
,
,
4
,
7
к
О
м
4
,
7
к
O
м
4
1
7
к
O
м
1
1
1
Ш
и
н
а
д
а
н
н
ы
х
1
1
1
1
7
4
L
S
3
6
7
1
1
в
о
,
B
D
4
3
2
с
,
1
/
1
B
D
6
В
D
з
5
4
С
з
R
0
C
4
.
J
B
D
5
1
1
1
B
D
4
1
1
1
B
D
3
1
1
B
D
2
1
1
/
R
1
C
0
j
/
R
,
C
,
I
I
R
,
C
;
1
/
R
1
C
3
j
/
R
1
C
4
1
B
D
1
,
1
r
c
,
1
R
1
B
D
0
В
!
О
~
6
1
,
1
5
-
&
-
.
.
п
о
р
т
R
Е
А
D
В
А
7
•
!
С
з
R
,
1
/
R
2
C
0
1
/
R
2
C
,
1
/
R
2
C
2
1
/
R
2
C
3
1
/
R
2
C
4
2
В
А
6
-
4
I
C
4
-
с
-
В
А
5
5
1
7
4
L
S
3
7
4
1
1
В
А
4
1
7
4
L
S
3
2
B
D
4
R
,
R
з
С
,
1
1
1
3
1
2
R
3
1
B
D
3
9
R
з
1
3
2
.
.
.
_
_
_
-
8
1
6
R
,
1
В
А
3
1
2
7
1
В
А
2
5
R
,
1
1
0
1
В
А
1
2
R
o
R
,
R
4
C
4
j
В
А
0
К
о
д
в
ы
б
о
р
а
1
п
о
р
т
а
"
F
E
"
1
1
1
1
1
с
,
k
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
·
-
-
-
-
-
-
d
7
4
L
S
0
4
(
а
к
т
и
в
н
о
е
К
л
а
в
и
а
т
у
р
а
у
с
т
-
в
а
В
/
I
!
•
•
•
•
I
C
2
С
О
С
Т
О
I
I
Н
И
е
.
:
,
.
.
.
_
0
)
1
1
Н
о
м
е
р
п
о
р
т
а
"
F
E
;
"
8
I
O
R
1⁄2
/
'
П
о
р
т
W
R
I
T
E
1
Н
Н
J
V
V
I
З
I
O
W
'
\
.
.
Ш
и
н
а
у
п
р
а
в
л
е
н
и
я
1
Р
и
с
.
5
.
8
б
.
Ф
у
н
к
ц
и
о
н
а
л
ь
н
а
я
с
х
е
м
а
и
н
т
е
р
ф
е
й
с
а
к
л
а
в
и
ш
н
о
г
о
у
с
т
р
о
й
с
т
в
а
в
в
о
д
а
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
н
о
й
с
н
с
т
е
м
Ь
J
~
-
-
-
-
'
4
5
+
5
+
5
+
l
i
+
5
+
6
7
'
1
с
,
1
с
,
1
с
;
1
9
1
6
1
5
1
2
в
6
5
2
1
9
1
6
1
5
1
2
8
6
5
2
1
9
1
6
1
5
1
2
в
6
5
2
7
4
L
S
3
7
4
7
4
L
S
3
7
4
7
4
L
S
3
7
4
1
8
1
7
1
4
1
3
9
7
1
1
о
.
о
C
,
N
Q
Q
.
,
.
,
"
'
.
,
.
,
1
В
1
7
1
4
1
3
g
7
4
3
1
1
с
,
м
Q
N
Q
Q
o
.
,
.
,
.
,
.
,
1
8
1
7
1
4
1
3
9
7
4
3
.
-
1
1
-
l
a
r
l
~
l
f
i
]
·
1
1
1
J
;
1
M
i
f
i
J
N
J
g
-
J
f
i
]
Q
0
l
0
ф
l
0
I
P
~
m
с
а
m
m
6
8
1
1
"
F
A
"
'
'
f
'
'
'
"
F
O
"
;
с
,
1
Q
1
2
I
C
5
t
!
P
1
B
D
6
в
D
,
B
D
~
~
D
3
В
Р
,
В
0
1
B
D
o
~
1
8
А
1
В
А
6
В
д
,
В
д
,
В
д
3
В
д
2
в
д
1
М
0
P
f
l
g
,
q
.
~
~
-
Ф
r
ю
щ
и
о
t
1
а
щ
,
и
а
я
с
х
е
м
!
!
и
н
т
е
р
ф
е
й
с
а
в
ь
щ
щ
н
о
r
9
щ
щ
и
к
а
т
о
р
а
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
н
Q
й
с
н
с
т
~
1
,
щ
.
Гла11а 5
грамму без прерываний или перехода в состояние ожидания.
!(роме того, в состав системы не входят устройства, работающие
.в режиме прямого доступа к памяти. Входы микропроцессора,
соответствующие перечисленным режимам, заблокированы, т. е.
.они
находятся в нерабочем состоянии, однако на этих входах
необходимо проверить уровни напряжений. Напомним, что на
:выводы 24, 16, 17 и 25 микропроцессора Z80 должен подавать
·СЯ уровень, соответствующий логическому значению 1.
Когда ключ сброса системы, т. е. установки системы в на
чальное состояние, включен, на входе «сброс» - в микропро
цессоре Z80 ему соответствует вывод 26 - должен быть уровень
.логического О. Необходимо убедиться, что при переключении
;ключа сброса системы на входе «сброс» устанавливается как
,состояние логического О, так и состояние логической 1. В нор
:м альном режиме работы микропроцессора, когда он работает
по программе, на входе «сброс» (вывод 26) должно быть со
,стояние логической 1.
У различных микропроцессоров имеется разное число выхо•
дов сигналов управления и по-разному определены логические
состояния на этих выходах. Необходимо хорошо знать назначе
,ние выводов и логические значения сигналов управления, вы
рабатываемых каждым микропроцессором.
Итак, мы установили, что в системе созданы все условия
.для нормальной работы микропроцессора. Теперь микропро
•цессор можно удалить из системы. Но удалять из системы ло
гические блоки без предварительного выключения питания-нель
зя. Если питание не выключено, интегральные схемы могут быть -
,повреждены. В этом случае поиск неисправностей или процесс
,отладки вряд ли завершится успешно.
После удаления микропроцессора на его место в соответст
,вии со схемой; показанной на рис. 5.1, подключается устройство
·тестирования.
Теперь, когда устройство тестирования статическими сигна
лами подключено к системе, можно приступить к проверке си
•стемы. Ниже рассмотрим методику пошагового тестирования ап
паратных средств микропроцессорных систем.
5.8.
Проверка .адресноR wины
Проверяя адресную ·шину, нужно убедиться, что вс~ адресные
линии соединяются с теми точками системы, с которыми долж
ны быть соединены. Далее проверим правильность работы де
шифрирующих схем, т. е. убедимся в том, что при дешифриро-
1Вании не возникает ошибок ни из-за возможных дефектов в ап
паратных средствах, ни из-за оплошностей при проектировании
.системы. Адресная информация поступает в систему с выходов
!Микропроцессора, •к ,которым подключается шина адреса. Сле-
Применение метода тестирования статическими сигналами 159'
дующая процедура является основной для контроля шины адре
са. Размеры этой процедуры и ее трудоемк.ость велики. Но она
будет проверять всю адресную шину. Причем время выполне
ния этой процедуры уменьшится после приобретения определен
ных навыков;
Процедура:
1. Установить с помощью адресных тумблеров устройства
тестирования статическими сигналами состояние логического 01
на всех адресных линиях.
-
2. Установить тумблер адресной линии Ао иа устройстве те
стирования в состояние логической 1. Тем самым будет установ
лено состояние логической 1 на выводе No 30 панели микропро
цессора Z80.
3. Проверить состояние вывода 13 схемы 74LS367, обозна
ченной на рис. 5.8а через IC 1• Эта схема является буфером ад
реса. На указанном выходе должно быть состояние логиче
ской 1.
4. После обнаружения на 13-м выводе схемы 74LS367 со
стояния логической 1 следует установить адресный тумблер Ао
в состояние логического О и снова проверить состояние выво
да 13, на котором сейчас должен быть уровень логического О.
Успешное выполнение указанных проверок позволяет убедиться
в правильности реакции вывода 13 на изменения логического•
состояния адресного тумблера Ао.
5. Если вывод 13 схемы IC 1 правильно реагирует на измене
ния логического состояния адресного тумблера А0, то можно•
заключить, что схема 74LS367 работает исправно и что соеди
нение микропроцессора с системой выполнено правильно. Те
перь можно переходить прямо к шагу 7.
6. Если на выходе схемы IC1 74LS367 в ответ на изменение·
положения адресного тумблера А0 не устанавливается ожидае
мое логическое состояние, то нельзя уверенно сказать, дефект
на ли схема IC 1 74LS376 или ее выход перегружен. Вспомним,.
что сигналы по шине адреса параллельно идут к нескольким·
точкам системы. Любая из этих точек может обусловить пере
грузку рассматриваемого нами выхода схемы IC1.
6а. Если при тестировании на выходе схемы IC 1 обнаружи
ваются неправильные логические состояния, то следует прове
рить правильнос.ть изменения логических уровней на входе (вы-
вод 14) схемы IC1 при изменениях логических состояний на вы-
воде 30 микропроцессора.
6б. Если на входе схемы IC 1 (вывод 1;4) зафиксированы пра
вильные логические состояния, а на выходе (вывод 13) - оши-
бочные, т. е. не соответствующие логическим состояниям выво
да 30, то для определения причины неисправности можно исполь--
100
.Глава 5
зовать стандартные методы поиска неисправностей в цифровых
-ехемах 1 >.
7. Допустим, что на выводе 13 схемы IC1 при тестировании
были зафиксированы ожидаемые логические состояния. Далее
следует выполнить проверки, аналогичные описанным выше во
-всех точках системы, соединенных с этим выходом. Таким об..
разом мы убедимся, что выход буфера адреса ВАо корректно
связан со всеми определенными точками системы.
7а. В микропроцессорной системе Z8O, снова применяя
устройство тестирования статическими сигналами, тепереь нуж
но проверить правильность подачи сигнала на адресные входы
ВА0 всех ПЗУ и ОЗУ системы. Переключая тумблер А0 на
устройстве тестирования, следует убедиться, что на адресном
входе ВА0 ГIЗУо (вывод 8, IC14), ПЗУ 1 (вывод 8, IC1s), ОЗУ
(вывод 5, IC11, IC 18, IC1 9 и IC20) устанавливаются логические
.еостояния, соответствующие положениям тумблера А0.
7б. На этом шаге будем проверять адресные входы устройств
ввода-вывода. Адресный вход ВА0 клавишного пульта свя
зан с выводом 1 схемы IC 2 (см. рис. 5.8б). Убедимся, что этот
адресный вход будет реагировать корректно на изменения вы
ходного сигнала устройства тестирования статическими сигна•
лами. Адресный вход ВА0 индикатора связан с выводом 15 схе•
мы IC 5 (см. рис. 5.8в). И снова убеждаемся в том, что логиче
екие состояния в контролируемой точке правильно изменяются
11ри изменениях сигнала на выходе устройства тестирования.
8. Шаги 2-7 следует повторить для всех выходов а;1:1.ресных
линий микропроцессора Z8O.
Теперь, по-видимому, стало ясно, что при использовании
устройства тестирования статическими сигналами для отладки
еложных микропроцессорных систем могут быть применены
стандартные методы поиска неисправностей в цифровых схемах.
Мы не обогатили искусство поиска неисправностей новыми прие•
мами, а лишь рассмотрели новые приложения старых методов.
9. Приступим к проверке линий выбора памяти. Сигналы вы
-бора памяти формируются схемой 74LS42, имеющей на рис. 5,8а
обозначение IC 11. Входами этой схемы являются адресные ли
нии ВА10, ВА11, ВА12 и ВА1з- На выходах схемы 74LS42 обра"
зуются сигналы выбора памяти ПЗУ и ОЗУ. В системе Z8O ис"
пользуются ПЗУ объемом в 2К, однако допускается расширение
ПЗУ до 4К. Кроме того, используется ОЗУ объемом в 2К. Объ-
ем ОЗУ можно довести до ЗК. Схема распределения памяти по"
,казана на рис. 5.9. Используя схему распределения памяти,
·можно легко определить правильность выбора памяти.
1) Coffron J. W ., Getting ·Staтted in Ш_gita] TrouЫeshooting, Reston Pub-
1lishing Со., Reston, V А, 1979.
Применение метода тестироеани,~ стетическими сигнаnамн - 161
10. Установить с помощью адресных к.цючей А10-:--А1а КОАЫ,
показанные на -рис. 5.9, и проверить состояния выходов 1, 2, 3,
4, 5, 6, 7 схемы 74LS42. Эта проверка осуществляется с целью
определения правильнGсти реакции выходов на изменения кодов
Диапазон адресов
0000-0ЗFF
0400-07FF
0800-0BFF
OCOO-0FFF
1000-lЗFF
l400-17FF
l800-1IBFF
Функция
ПЗУ0
ПЗУ1
ПЗУ2 Не использована
ПЗУ3 Не использована
ОЗУ1
ОЗУ2
ОЗУз Не использована
Рис. 5.9 . Схема распределения памяти тестируемой микропроцессориой си
стемы.
адреса. В правильности логических состояний выходов схемы
IC!t можно убедиться с помощью таблицы соответствия входных
и выходных сигналов, представленной на рис. 5.1 О.
Выход схемы IC11
ВА1з
ВА12
ВА11
ВА1е
1234567
о111111
о
о
о
о
1оl
1111
о
о
о
1
1
о1111
о
о
о
о
1
1о111
о
о
о
1
1
1
о11
о
1
1
о
111
1о1
о
1
1
111
1
о
о
о
Рис. 5.1 О. Логические состояния выходов системы IC11, соответствующие ло
tическим состояниям выходов ВАн,, ВА11, ВА12 и ВА1з буфера адреса.
l la. Выходы дешифратора выбора блока памяти связаны в
системе с различными точками. Например, выход 1, на котором
образуется сигнал выбора ПЗУО, связан с выводом 1 схемы
1Ci6, - Необходимо убедиться, что лоrическое состояние выво
да 1 схемы IC 16 совпадает с логическим состоянием вывода 1
схемы IC11.
116. Проверить все линии выбора блоков памяти и их оконеч
ные _точки на правильность соединения и функционирования.
12. После завершения шага 11 можно сделать вывод о пра-
вильности соединения и отсутствии перегрузок всех линий адрес
ной шины.
5.9.
Проверка wины управnения
Теперь можно приступить к проверке правильности функциони
рования шины управления. Для осуществления этого можно вы
полнить следующую процедуру. Отметим, что эту процедуру
11-814
162
Глава 5
нужно рассматривать как базовую; ее можно модифицировать с:
целью приспособления к каким-либо специфическим услоц_иям.
Процедура проверки шины управления состоит из следующих
шагов.
1. Установить тумблеры управления на устройстве тестирова
ния статическими сигналами в состояние логической 1.
2. Если все тумблеры управления установлены в состояние
логической 1, то и на каждой линии шины управления в систе
ме должно быть состояние логической 1. При этом ни одна ли
ния управления не будет активной.
Сигналы управления микропроцессора Z80
,Функция
IORQ MREQ RD WR
о
1
1
о
IOW
о
1
о
1
IOR
о
о
MEMW
о
о
MEMR
Рис. _5 .11 . Сигналы управления и соответствующие им функции системы.
3. Теперь тумблеры управления на устройстве тестирования
устанавливаются в положения, соответствующие определенным _
функциям управления. Таких функций всего 4; эти функции и
значения соответствующих сигналов управления представлены
на рис. 5.11.
4. Установить с помощью тумблеров управления на_устрой
стве тестирования комбинации, определяющие функции управ
ления, и убедиться в том, что на линиях шины управления по
являются правильные сигналы управления. Если на выходах
шины управления обнаруживаются неправильные логические со
стояния, то нужно проверить корректность состояний на всех
входах.
•
5. Если сигналы на входах шины управления правильны, од
нако на выходах шины управления устанавливаются ошибочные
логические состояния, то, может быть, выходы оказались пере
груженными. Снова целесообразно использовать стандартные
методы 'отыскания неисправностей в цифровых схемах с целью
опреде.]{ения причины обнаруженной ошибки в работе с~емы. :
6. Выходы шины управления связаны с несколькими точками
системы. Необходимо убедиться в правильности установления
логических состояний во всех точках системы, в которые парал
лельно подается сигнал управления.
7а. Например, сигнал шины управления BMEMR подается
на входы различных логических схем. Одной из точек, в кото- •
рую поступает этот сигнал, является вывод 2 схемы IC12 (см.
рис. 5.8а). Установим тумблеры управления на устройстве те-
Применение метода' тестирования статическими сигналами 113
стирования в состояния, соответствующие сигналу чтения из па
мяти. Выполнив это, проверим вывод 2 схемы IC 12 , чтобы убе
диться в правильности реакции в этой точке на подачу сигнала
·BMEMR.
•
7б. Выполнить аналогичные проверки в каждой точке систе
мы, соединенной с выходом шины управления.
8; Проверка функционирования шины управления заверша
ется после проведения контроля правильности действия всех сиг
налов управления, передаваемых по шине управления. •
5. tO.
Проверка прааиnьности подачи сиrнаnов
выбора кристаnnов и сиrнаnов разрешения
записи в память
Теперь требуется проверить, что каждый модуль ПЗУ и ОЗУ
правильно воспринимает адреса, поступающие по шине адреса,
и правильно реагирует на сигналы управления, подаваемые по
шине управления. Сначала проверим правильность подачи сиг
нала выбора кристалла ПЗУО. Как показано на схеме, пред
ставленной на рис. 5.8а, вывод 20 схемы lC14, представляющей
собой ППЗУ типа 2708, является входом выбора кристалла.
Этот вывод связан с выводом 3 схемы IC16 74LS32; Когда на
выводе 3 - на выходе схемы IC 16 -устанавливается состояние
логического О, выходы данных ПЗУО (ППЗУ 2708) связываются
с шиной данных.
После того как на дешифратор шины адреса будет подан
правильный адрес ПЗУО и по шине управления поступит сиг
нал BMEMR, ПЗУО типа 2708 будет переведено в рабочее со
стояние. Это обеспечивается сигналом, который формируется
на выходе схемы ИЛИ, и на рис. 5,8а обозначается IС 1в, Когда
и сигнал выбора памяти SEL0 , поступающий на вывод 1 схемы
IC16 , _и управляющий сигнал BMEMR, nоступающий на вывод 2
той же самой схемы, имеют логические значения О, на выводе·
20 схемы IC14 установится состояние логического О.
Чтобы сформировать сигнал выбора ПЗУО, необходимо все
адресные тумблеры А10-А 13 на устройстве тестирования уста
новить в состояние логического О. Тумблеры управления нуж
но установить в положения, соответствующие сигналу чтения
из памяти, т. е. должны быть установлены следующие значения
сигналов управления:
МREQ=0, RD=0,
Отметим также, что, поскольку сигнал RD = О, светоизлуча
ющие диоды, находящиеся в устройстве тестирования, буду-и
индицировать данные, поступившие на шину данных ..
11•
164
Глава 5
Если ПЗУ подключить к системе, светоизлучающие диоды
будут отображать данные, хранимые в ПЗУ по адресу, опреде
ляемому пqложениями тумблеров А0-А9 . Но если ПЗУ отклю
чить от системы, то появится_ возможность выполнять некоторые
интересные проверки.
Когда ПЗУ удалено из системы, то на всех светоизлучаю
щих диодах устройства тестирования будет наблюдаться свече
ние. И если теперь с помощью куска провода поочередно за
землять выводы пан-ели, на которой установлено ПЗУ, обнару
.жим, что светоизлучающий диод, соответствующий проаеряемо•
му разряду шины данных, перестает светиться. Этот способ дает
возможность убедиться в корректности соединения всех линий
шины данных с выводами_ ПЗУ. Например, после выполнения
установки сr,rгналов на шине адреса и на шине управления и
после соединения с помощью куска провода вывода 9 панели
для установки ПЗУО с «землей» мы должны увидеть, что све
тоизлучающий диод Do перестал светиться. Повторим выполне
ние процедуры для выводов 9, 10, 11, 13, 14, 15, 16 и 17. Та
ким способом убеждаемся в правильном соединении всех рас
сматриваемых выводов данных. Кроме того, мы установили, что
при определенных состояниях линий шины адреса и шины
управления выбор ПЗУ осуществляется правильно.
Рассмотренную процедуру необходимо выполнить для всех
кодов выбора ПЗУ и для всех кодов выбора ОЗУ. При пр0-
верке ОЗУ также требуется подавать сигнал выбора кристалла
в режиме чтения.
Правильность подачи сигнала разрешения записи для ОЗУ
контролируется процедурой, которая подобна процедуре конт
роля ПЗУ. Основное отличие состоит в том, что по шине управ-
ления будет подаваться сигнал BMEMW, а не сигнал BMEMR.
Теперь рассмотрим, каким образом проверяется правильность
дешифрирования всех сигналов выбора кристалла и сигналов
разрешения записи в память. Рассмотрим также способ опреде
ления правильности физического соединения выходов данных
ОЗУ и ПЗУ с линиями данных микропроцессора.
.
Отметим, что с помощью устройства тестирования статиче
скими сигналами можно записывать данные ОЗУ и читать дан
ные из ОЗУ. Указанные действия можно выполнить с помощью
следующей процедуры:
l. У становить с помощью адресных тумблеров некоторый до
пустимый адрес ОЗУ.
2. С помощью тумблеров 0 0-D1 на устройстве тестирования
на-брать код, определяющий данные, которые нужно записать
по указанному адресу.
3. Установить тумблер, соответствующий сигналу упраме
иия MREQ, в положение О.
Применение метода тестирования статическими сиrналами 1·6Б
4. Установить тумблер, соответствующий сигналу управле
ния WR, в положение О. При этом активизируется линия пода
чи сигнала разрешения з.аписи в память.
5. Переключить тумблер, соответствующий сигналу управ-
ления WR в положение 1. Тем самым снимается сигнал разре
шения записи в память.
Данные помещены в память. Операция записи· данных в
ОЗУ выполнена точно так, как ее выполнил бы микропроцес
сор Z80, работая по программе. Теперь, чтобы определить пра
вильность выполнения операции записи, прочитаем данные, на
ходящиеся в ОЗУ по заданному адресу. Для этого необходимо:
6. Установить все тумблеры на устройстве тестирования, оп
ределяющие подаваемые в систему. данные, в состояние О.
7. Установить тумблер, определяющий значение сигнала RD,
в положение О. После подачи этого сигнала будет активизиро
вана линия выбора кристалла ОЗУ.
8. Светоизлучающие диоды устройства тестирования будут
индицировать данные, которые были записаны в память при
. выполнении
шагов 1-5 . Отметим, что операция чтения данных
из ОЗУ с помощью устройства тестирования выполняется так
же, как это делается при нормальной работе микропроцессор
ной системы Z80.
Рассмотренные приемы записи данных в ОЗУ и чтения дан
ных из ОЗУ окажутся полезными при выявлении дефектов в
ячейках или в кристалле ОЗУ. Так как мы можем подать на
шииу адреса любой адрес и действительно выполнить запись
данных в ОЗУ, а затем прочитать данные из ОЗУ, проверка
подозреваемых ·ячеек памяти окажется простым делом.
5.11 .
Запись и чтение данных иэ устройств
ввода-вывода
Операции в.вода-вывода для некоторых внешних устройств вы-'
полняются так же, как и операция записи: и операция чтения
данных из памяти. Для иллюстрации этого рассмотрим порядок
записи данных в системный индикатор, схема которого пред
ставлена на рис. 5.8в.
Порты выхода в р.ассматриваемой схеме имеют коды FO,
Fl и F2. Каждому указанному порту соответствует пара раз-;
рядов отображаемого числа - младшие, средние и старшие раз
ряды соответственно. Прuнцип работы этого индикатора по
дробно дан в гл. 4. Записывая данные на индищатор, можно
проверить правильность его функционирования. Если при вы
воде информации на индикатор обнаруживается ошибка, то
можно приостановить выдачу информации на индикатор и «за-
166
rпава s
морозить» систему в некотором состоянии. Когда система нахо
дится в статическом режиме, легко установить, какая схема
дешифрирования в устройстве вывода неисправна.
Будем записывать на системный индикатор следующие чис
ла: 1, 2, 3, 4, 5 и 6. При таком порядке записи цифра 1 будет
записана в старший разряд, а цифра 6- в младший разряд ин
дикатора. Запись выполняется в соответствии со следующей
процедурой:
1. Установить с помощью адресных тумблеров адрес старших
двух разрядов, т. е. адрес 00F21 6•
2. Установить с помощью тумблеров, используемых для оп
ределения вводимых д~нных, число 121 6 • Напомним, что при за
писи данны~ на индикатор одновременно записываются две
цифры. Разряды D0-D3 шины данных используются для пере
дачи одной цифры, а разряды •D4-D1 - для передачи другой
.
цифры.
3. Установить тумблер управления, соответствующий сигна
лу IORQ, в положение О. Этот сигнал переведет систему u ре
жим ·запроса ввода-вывода.
4. Установить тумблер управления, соответствующий сигна-·
лу WR, в положение О. Этот сигнал разрешает выполнение за
писи данных на внешние устройства.
5. УстановJiть тумблер управления, соответствующий сигна
лу WR, в положение. 1. Тем самым сигнал управления записью
на устройстве ввода-вывода: будет снят. Когда сигнал WR при
мет значение лqгической 1, в старшие два разряда индикатора
будут записаны цифры, определяемые положениями тумбле
ров D0-D1 на устройстве тестирования.
Если данные не записываются на индикатор, то, нарушив
обычную последовательность проверки, можно выполнить де
тальный пошаговый контроль соответствующих аппаратных,
средств. Например, можно установить адрес 00F2 16 и проверить,
перешла ли в активное состояние линия вь1бора порта F2. Ког
да сигнал WR примет логическое значение О, на выводе 1 схемы
IC1 типа 74LS374, предназначенном для подачи синхронизирую
щих импульсов, установится уровень логического О.
Короче говоря, при тестировании можно проверить правиль- '
ность установления состояний в различных точках системы, обу
словленных определенным типом передачи данных, генерируе
мых устройством тестирования статическими сигналами. Шаги
1-5 рассмотреннной процедуры нужно повторить два раза для
:записи еще четырех цифр. Выполняя с помощью устройства те
-стирования описанный выше контроль, мы убедимся, что все
схемы и все соединения в выходном индикаторе функциониру
ют правильно.
Применение метода тестирования статическими сигналами 167
5.12 .
Проверка функционирования схемы кnавиwкоrо
пут.та с помощь~о устроiiетва. тестироаания
Теперь обсудим методы быстрого определения правильности
функционирования клавишного пульта. Рассматриваемая про
цедура позволит нам убедиться· в том, что все логические схемы
работоспособны и все клавиши действуют нормально.
Для установки в состояние логического О одной из горизон
тальных входных линий Ro-R4 клавишного пульта необходимо
выполнить операцию ЗАПИСЬ. Затем должна быть выполнена
операция ЧТЕНИЕ. После этого следует поочередно нажимать
клавиши единственного на данный момент активного ряда. При
этом будем следить за состояниями светоизлучающих диодов
устройства тестирования. Светоизлучающий диод, соответству
ющий нажатой клавише, а значит, и определенной вертикаль
ной линии матрицы клавиатуры, перестанет светиться. Мы опи
сали идею построения процедуры проверки клавишного пульта.
Полная же процедура будет состоять из следующих шагов:
•1. Установить с помощью адресных тумблеров устройства
тестирования код OOFE. Этот адрес будет использоваться и при
выполнении операции ЗАПИСЬ, и при выполнении операции
ЧТЕНИЕ.
2. Установить тумблер управления, соответствующий сигна-
лу {ORQ, в положение О.
3. Набрать с помощью тумблеров D0-D1 код FE. В соответ
ствии с этим кодом в активное состояние будет переведена ли-
ния Ro-
•
4. Установить тумблер управления, соответствующий управ-
ляющему сигналу WR, в положение О.
_
,
5. Установить тумблер управления, соответствующий сиг
налу WR, в положение 1. Теперь фиксатор, вы,ходы которого
соединены с горизонтальными линиями матрицы клавиатуры,
будет содержать корректные данные.
6. Переключить тумблер соответствующий сигналу управ-
ления RD, в положение О.
6а. Все светоизлучающие диоды должны светиться, так как
в данный момент нет ни одной нажатой клавиши. Заметим, что
не следует принимать во внимание диоды .0
5
,
D6иD
7
,
так как в
клавиатуре эти разряды не используются. В программе, описан
ной в гл. 4, было предусмотрено маскирование этих разрядов.
7. Теперь надо поочередно нажимать клавиши первого ряда
клавиатуры. Эти клавиши имеют следующие обозначения: RoCo,
RoC1, RoC2, RоСз. ,~0С4. Пока клавиша нажата, убеждаемся в
том, что соответствующий светоизлучающий диод перестает
светиться. Например, при нажатии клавиши RoCa должен «по
гаснуть» <;ветоизлучающий диод 0 0 •
,168
Гnааа 5
7а. Если вопреки ожиданиям диод продолжает светиться, то
для отыскания неисправности следует использовать стандарт
ные методы поиска неисправностей в цифровых схемах.
.
8. Шаги 3-7 надо выполнить для каждой горизонтальной
линии клавиатуры. При этом ка?Кдый раз надо вводить данные,
определяющие активность следующей горизонтальной линии
клавиатуры.
9. После проверки клавиш некоторrо ряда следует пере
ключить тумблер управления, соответствующий сигналу RD, в
положение 1.
Эта процедура проверки функционирования клавишного
пульта очень эффективна. После ее выполнения можно быть
уверенным в правильности работы клавишного пульта систе
мы. Если при проверке кл:авиатуры обнаруживается неисправ
ность, то ее локализация в системе проводится рассмотрен
ными нами методами тестирования статическими сигналами.
5.13.
Выводы
М.ы рассмотрели метод полной отладки аппаратных средств мик
ропроцессорной системы Z80. Он получил название «метод те
стирования статическими сигналами». Были представлены ме
тодики проверки всех системных шин, памяти и устройств вво
да-вывода.
Применение метода тестирования статическими сигна,лами не
ограничено новыми системами, которые еще не работали. Он
может эффективно использоваться для поиска неисправностей
в системах, которые были в эксплуатации и отказали. Метод
тестирования статическими сигналами также· можно использо•
вать для отладки интерфейса новых устройств ввода-вывода,
которые могли быть спроектированы в дополнение к уже суще
ствующей системе.
Можно предположить, что, поскольку метод •статического
тестирования проверяет систему только в статическом режиме,
нельзя гарантировать правильность работы системы при ее но
минальной скорости. Было установлено экспериментально, что
системы, выдержавшие статическое тестирование, с большой ве
роятностью будут нормально работать и при номинально.й си
стемной скорости. Этот вывод прежде всего относится к систе
мам, которые уже работали, ·но по каким-либо причинам отка
зали.
В новых проектах микропроцессорных систем отказы могут
-возникать из-за разнообразных причин, в частности из-за шумо
.вых помех, источниками которых могут быть линии питания.
В таких случаях метод тестирования статическими сигналами не
nриrоден, и поэтому приходится применять другие методы поис
ка неисправностей.
Применение метода тестироваНJ1я статическими сигналами 169
Можно с уверенностью говорить, что .если при тестировании
в системе обнаруживаются неисправности, то она определенн()
не будет работать при номинальной скорости. Устройство те
стирования статическими сигналами особенно полезно для оп-·
ределения правильности работы логических схем системы. Оно,
позволяет «заморозить» систему в некоторый момент времени"
что облегчает выполнение поиска некоторых неисправностей-.
В настоящей главе приведен достаточный материал для тех,
кто только начал применять устройство тестирования статиче
скими сигналами. По мере приобретения опыта использования
устройства тестирования статическими сигналами оно будет
становиться все более полезным инструментом, пригодным для
решения многих проблем поиска неисправностей в .аппаратных.
средствах микропр·оцессорных систем.
Глава 6
ПРЕРЫВАНИЯ, РЕЖИМ ОЖИДАНИЯ
И РЕЖИМ ПРЯМОГО ДОСТУПА
К ПАМЯТИ В МИКРОПРОЦЕССОР АХ
8080, 8085, 6800 и Z80
В настоящей главе рассматриваются вопросы организации пре
рываний, режима ожидания и режима прямого доступа к па
мяти в микvопроцессорах 8080, 8085, 6800 и Z80. Сначала об
судим каждый из указанных вопросов, а затем рассмотрим ме
тоды реализации аппаратных средств, применяемых для обеспе
qения этих режимов в обсуждаемых микропроцессорах. Будем
также рассматривать некоторые специальные команды и прин•
ципы построения программного обеспечения, используемые для
осуществления трех указанных режимов. Изложение вопросов
программного и аппаратного обеспечени,я прерываний, режима
ожидания н режима прямого доступа к памяти будет носить ос
новополагающий характер. Разобравшись, как реализуются эти
режимы в простых микропроцессорных системах, будет легко
адаптировать их к микропроцессорным системам с более слож-
ной архитектурой.
_
По каждому из трех рассматриваемых режимов изложение
будет проводиться в следующей последовательности. Мы будем
описывать основные идеи программного и аппаратного обеспе
чения рассматриваемых режимов н демонстрировать примеры их
реализации в распространенных типах микропроцессорных си
стем; Затем будем рассматривать особенности реализации ука
занных режимов в каждом из четырех обсуждаемых нами мик
ропроцессоров. Принципы реализации сравниваются между со•
бой. Изучив материалы настоящей главы, вы сможете ис~оль
зовать микропроцессорные системы, в архитектуре которых
реализованы рассмотренные здесь режимы.
6.1.
Основные представnения о прерываниях
Сначала дадим общие представления о том, что такое преры
вание. В рассматриваемых нами системах микропроцессор дей
ствовал как системный контроллер, т. е. он всегда выполнял
команды программы в том порядке, в котором они были распо
ложены в памяти. Это значит, что никакое вмешательство поль-
\
u
•
зователя не могло, воздеиствовать на ход выполнения прог.рам-
мы, по которой у.же начал работать процессор. Система пре
рываний позволяет ~зменять ход выполнения программы на ос-
Прерывания, режим -ОЖИДtlНИЯ И прямой доступ К памяти 171
новании сигналов, поступающих в микропроцессор. Рис. ·6.1
дает наглядное представление о возникновеН11и прерывання про
граммы. Рис. 6.1, а соответствует случаю непрерывного последо
вательного выполнения четырех шагов программы. Рнс. 6.1, б
показывает, что первые два шага программы выполняются так
же, как и при непрерывном последовательном ее выполненни.
Шаг 1
Шаг 2
Шаr 3
Шаr 4
а
Шаг 2
'-..
Произошло
nрерыван_ие '--.. ,
Шаr 3
Шаr4
Шаг 1
ь
Рис. 6.1. Схема последовательного выполнения четырех шагов программы (а);
схема, демонстрирующая появление запроса иа прерывание после выполве-
ния 1-го и 2-го шагов программы (6). Вследствие прерывщшя последователь
ное выполнение программы прекращается до тех пор, пока не выполвятс,r
шаги 2а и 26. После выполнения этих шагов продолжается нормальное ВJr
полнение прерванной программы.
Затем в микропроцессор поступает сигнал прерывания. После
IJаступления прерывания выполнение программы прекращается
и управление передается другой программной секции. Как TOJJI:,,-
кo работа этой программной секции завершится, будет осуще'
ствлеи переход к прерванной программе и продолжится ее нор,
мальное выполнение.
На рис. 6.1, б показано, что, когда появляется· сигнал пре- /
рывания, нормальный ход программы нарушается. Прерывание
происходнт между 2-м и 3-м шагами программы. Однако OHOI
могло произойти и между другими шагами. Вообще, сигнал
прерывания, поступающий в микропроцессор, является асин-·
хронным, а это значит, что он может прийти на любом этапе
работы программы.' В рассматриваемом примере прерывание
программы могло бы произойти и между шагами :3 и 4. Для си
стемы не имеет значения, когда оно наступает, так как обработ-
ка прерываний всегда одинакова. В литературе по микропро1.
цессорам такой принцип обработки прерываний называется
прерывание по вектору.
172
.
Глава 6
В данном случае понятие вектор разнозначно понятию ука
з~;rеля. Этот вектор показывает микропроцессору, какой .адрес
нужно использовать, ч:rобы вызвать соответствующую програм
му обработки прерывания в момент его возникновения. Та
ким образом, понятие «вектор» зд.есь означает лишь только ад
рес памяти. Понятие «прерывание по вектору» ознаttает, что
в системе будут происходить прерывания, а вектор - это адрес
.начала программы обработки прерываний.
И если мы определим прерывание как вынужденный пере
ход микропроцессора на выполнение определенной программы в
:момент поступления сигнала прерывания - это будет вполне
()Правдано. _Значит, независимо от того, какую программную
секцию выполняет микропроцессор, при наступлении прерыва
ния он начнет выполнять другую программную секцию, после
выполнения которой вернется к прерванной задаче.
В некоторых микропроцессорах и, в частности, в каждом из
'Четырех микропроцессоров, рассматриваемых нами, используют
ся два типа прерываний: 1) не маскируемые прерывания и
2) маскируемые прерывания. Если прерывание не маскировано,
то-микропроцессор будет реагировать на поступление соответст
~ующего сигнала прерывания. Всякий раз, когда во время вы
полнения программы наступает немаскированное прерывание,
микропроцессор должен среагировать на него.
Принцип маскирования прерываний состоит в том, что реак
ция микропроцессора .на сигналы прерывания может быть раз
решена или запрещена программным путем. Маскируемые пре
рывания могут эффективно отключаться программными сред
ствами. Мы не будем обсуждать многочисленные вопросы, свя
занные с применением маскируемых и -немаскируемых преры
ваний в микропроцессорных системах. Мы лщпь покажем, как
nрерывания этих типов реализуются в каждом из четырех рас
сматриваемых микропроцессоров. Начнем с изучения системы
nрерываний для микропроцессора 8080.
6.1.
Прерывания в микропроцессоре 8080
Для осуществления прерываний могут использоваться раЗJIИЧ·
ные аппаратные средства, в частности схема, показанная на
рис. 6.2 . С помощью этой схемы сигнал прерывания может быть
noдal! на любой из рассматриваемр1х нами микропроцессоров.
Рассмотрев эту схему, мы сможем понять, как каждый процес
сор реагирует на запрос прерывания, поступающий от внешних
:аппаратных средств. Микропроцессор определенным образом
связывается со схемой, представленной на рис. 6.2 . На данном
рисунке эта связь показана стрелкой, идущей от микропроцес
сора на вход сброса триггера 74LS74.
\\-
.
\
'
Прерыван~ режим ОЖ1'1дания и прямой доступ к памяти 173
\•
-
.
\
Кратко .изложим принцип действия схемы, представленно~.
на· рис. 6_. 2. Слева на рксунке изображена схема, устраняющая
влияиие эффекта «дребез.жания» ключа. Она состоит из двух
инверторов с открытым коллектором и однополюсного двух
ходового кнопочного переключателя.
Когда ключ S1 находится в состоянии покоя (NC), его цент
ральный вывод соединен с нормально за·мкнутым полюсом. Нор-
•8
LГ
.+5
INT
К микро
процессор)'
tNT·
-
,-(
Из микроrtроцессор~:. l~'
1
Рис. 6.2. Схема устройства, вырабатывающего сиrNал прерывания микро
процессора.
мально замкнутый полюс соединяется с выводом 3 схемы IC1_
На этом выводе будет уровень логического О. Вывод 4 схемы
IC 1 будет находиться в ·состоянии логической 1.1 На входе «синх
роимпульсы» TP.Иrrepa '74LS74 также будет установлен уровень
логической 1. Схема 74LS74 представляет собой триггер, за
пускаемый фронтом импульса. Когда на входе «синхроимпуль
сы» схемы 74LS74 происходит переход от уровня логического О
к уровню логической 1, данные со входа D будут переданы на
выходы Q и Q. Исходя из ·рис. 6.2, можно предположить, что
когда ключ находится в· нормальном положении, на входе
«синхронизация» триггера 74LS74 должен быть уровень логиче
ской 1. Если нажать кнопку S1, _то центральный вывод S1 соеди
нится с нормально разомкнутым выводом переключателя. При
этом установится уровень логического О на выводе 1 схемы ICt
и уровень логической 1 на выводе 2 этой схемы. Следователь
но, когда кнопка S1 нажата, на входе «синхроимпульсы» схемы
74LS74 установится состояние логического О. При этом состоя•
ние триггера не изменнтся.
;
Если теперь отпустить кнопку S1, то на входе «сцнхроцм
пульсы» схемы 74LS74 произойдет переход от состоянм, логи
ческого О к состоянию логической 1. Таким образом. посредст
вом кратковременного нажатия кнопки S1 •обеспечивается пере-
дача данных со входа D на выходы Q и Q. Временная _диаграм-
174
Глава 6
I/
ма этого процесса представлена на рис. /~. 3. На вход D и вход
установки триггера, которым в схеме ~4LS74 соответствуют вы
воды 2 и 4, через резистор с сопротивлением 4,7 кОм подается
напряжение +5 В. Таким образом на входах D и S триггера
74LS74 всегда поддер,живается уровень логической 1. Данные
передаются во время нарастания переднего фронта импульса на
входе «синхроимпульсы»: выход Q всегда переходит в состоя-
ние логической 1, а выход Q- в состояние логического О. Так
формируется сигнал прерывания микропроцессора.
S,
S1 нажата
S1 отпущена
в нормальном
--------------
-- --
пqложении ----
------.. ----
Вывод 4
схемы IC 1
Данные со входа D
Выход Q
схемы 74LS74
--- -' -! -- -- -- ~ передаются
на
еевыходь~QнQ
Рис. 6,3. Временная диаграмма сигнала на выходе Q, определяемого поло
жением кнопки .S 1. Когда кнопка отпускается, на выходе Q устанавливается
состояние логuческой 1, а на выхО.!(е Q- состояние логического О,
После поступления сигнала прерывания микропроцессор дол
жен в ответ послать сигнал, имеющий логическое значение о.
на вход «сброс» триггера 74LS74. Это обеспечит переход выхо-
да Q в состояние логического О, а выхода Q - в состояние ло
гической 1. Так микропроцессор выполняет «сброс» запроса
прерывания, выработанного внешними аппаратными средст
вами.
Используя рассмотренную схему, можно формировать и
асинхронно подавать на определенные входы микропроцессора
сигналы прерывания. Микропроцессор может выполнять про
грамму, а мы, нажимая в некоторый момент времени на кноп
ку S 1, посылаем сигнал прерывания. Когда будут рассматри
ватьсg специфические вопросы обработки прерываний в мик
ропроцессора~, мы снова обратимся к схеме, представленной на
рис. 6.2, чтобы более подробно разобраться в том, почему для
генерации запроса на прерывание необходимо использовать
триггер. (Сейчас этот вопрос рассматривать преждевремеJ!:НО.
В нем будет легче разобраться после подробного рассмотрения
системы прерываний в мнкропроцессор.е 8080.)
175
На рис. 6.4 показащ схема подключен.ия аппаратных средств,
обеспечивающих форми),ование запроса на прерывание (см.
рис. 6.2), к микропроцесЪQру 8080. Этот интерфейс, очевидно,
очень прост. Линия, по коq:орой в микропроцессор поступает
запрос на nрерывание, имеет\обозначение INT. Она подводится
к выводу 14 микропроцессора 8080. Этот микропроцессор име
ет специальный выход INTE (вывод 16), который используется
для подачи сигнала на вход «Сброс» схемы 74LS74.
:В процессе обработки прерывания, запрос на которое уже,
предпо;11ожим, поступил, можно выделить следующие два этапа:
с,.
Выход Q
INT
8
Г-:--:----:;-',-;-;::-;;-;--:...:...:....~ 114 :d
схемы 74LS74
§~
О.с,
_в:::-х_оп___,«С"67"р"'"'ос,.,.»_,_1,.,_NТ~Еа....1,в &"'
схемы 74LS74
~
i
!Рис. 6.4 . Блочная схема подключения формирователя сигнала прерывания,
схема которого дана на рис. 6.2, к микропроцессору 8080.
1. Вход INT (вывод 14 микропроцессора 8080)' перешел в
,состояние логической 1. Это означает, что прерывание запра
шивается внешними аппаратными средствами.
2. Микропроцессор 8080 принял запрос на прерывание, по
-ступцвший на вывод 14, на выходе INTE. (вывод 16) будет уста
новлен уровень ·логического О.
Эти два события являются основными в рассматриваемом
интерфейсе. Однако имеются и другие аппаратные средства, ис•
пользуемые в микропроцессоре 8080 для обработки прерываний.
Пока мы только рассмотрели, как образуются запросы на пре
рывания и как выполняется «сброс» запроса на прерывание.
Когда вывод 16 микропроцессора 8080 находится в состоянии
логической 1; микропроцессор находится в режиме приема за
проса на прерывание от внешнего оборудования. Если на вы
ходе INTE (вывод 16) устанавливается состояние логического О,
микропроцессор игнорирует все запросы на прерывания, посту
пающие на вход INT (вывод 14). В микропроцессоре 8080 ис
пользуются только маскируемые прерывания.
В системе команд микропроцессора 8080 есть две специаль
ные команды: команда запрещения прерываний DI и команда
разрешения прерываний EI. С помощью этих двух команд мож
но изменять состояние выхода INTE. Например, когда выпол•
няется начальная установка микропроцессора ,8080, выход
INTE переводится в состояние логического О. Это значит, что
непосредственно после установки начального состояния микро•
176
r'лава 6
процессора, он будет игнорировать все просы на прерывание.
поступающие от внешних аппаратных средств. _Действительно,
микропроцессор 8080 будет работать в режиме запрета преры
ваний. Единственный способ, котоР, й позволяет перевести вы
ход INTE в состояние логической l состоит в применении коман
ды разрешения прерываний EJ:,.
После выполнения команды
разрешения прерывания выход 'INTE окажется в состоянии ло
гической 1.
1'
Если на выходе INTE состояние логической l, то и на вхо
де «сброс» триггера 74LS74 будет состояние логической l. Тем
самым допускается возмож!fость передачи запроса прерывания
со входа D иа выход Q схемы 74LS74. Пр_едположим теперь.
что извне поступил запрос на прерывание. К:оrда запрос на пре
рывание воспринят, с помощью внутренних аппаратных средств
микропроцессора выход INTE снова перейдет в состояние ло
гического О.
Что же произойдет, когда микропроцессор снова будет пе
ревед~н в режим запрета прерываний? Единственный способ раз
решить прерывания в микропроцессоре 8080 - это выполнить
команду EI. Таким образом, выход INTE может быть переведен
в состояние логического О либо с помощью аппаратных, либо
с помощью программных средств микропроцессора 8080. Одна
ко в состояние логической 1 этот выход можно перевести толь
ко программно.
Указанная особенность требует специального рассмотрения.
Отметим прежде всего, что программное обеспечение миi<ропро
цессора 8080 должно содержать специальную программу, на
значение которой разрешать прерывания в некоторые точно оп
ределенные моменты времени. Это значит, что после выполне
нйя программы прерывания возможность прерывания должна
быть снова восстановлена. Действительно, во время выполнения
программы прерывания микроnроцессор 8080 не может вос
принимать другие запросы на прерывания. Так будет до тех
пор, пока выполнение этой .программной секции не ·завершит
ся. Блок-схема, отражающая последовательность событий, про
исходящих в системе после возникновения прерывания, пред
ставлена на рис. 6.5 . Рассмотрим эту блок~схему.
• Запрос на прерывание поступает на вывод 14 микропроцес:.
сора 8080. Микропроцессор устанавливает уровень логическ9rо О
на выходе INТE (вывод 16). После этого система приступает к
выполнению специальной программы. Пока не будем обсуж
дать, каким образом система получает начальный адрес этой
программы. Допустим, .что система каким-либо образом еГ()
получила и начала выполнение программы, во время котороr()
на- выходе INTE будет состщ1ние логического О. Следовательно,
микропроцессор 8080 не будет воспринимать запросы на пре·
рывания. Однако программа прерывания завершается командой
,· П реры вани
режим: ожидания и пр.ямой доступ к памяти 17Т
EI и на выходе INТ снова устанавливается уровень логиче•
ской 1. Кроме того, пр~ванная программа продолжит работу"
Подробное рассмотрение 'voro, как возобновляется выполнение-
прерванной программы, буNoт сделано ниже. ,
Измененный вариант рас~отренной нами блок-схемы пред
ставлен на рис. 6.6 . В новом варианте блок-схемы после пере-
Рис. 6.5 . Блок-схема после
довательности действий, вы
полняемых в , системе 8080
после возиикиовеиня преры-
вания.
Заnрос
Вывод 14
на nрерыва1111с микроnроцессора 8080 =
лог'ическая J
Сигнал INTE
nринимает
значение
логического О·
,---. ,, , --~ _,,,=,-. , Выnолпяется
программа
Система 8080
обработки прерываншr
выnолияет
сnеuиальную
системную,
программу
Последуюшие заnрось1
на прерывания
не воспринимаются
..---
.. . .. .. .-- -- . Сигнал JNTE (вывод 16)
nереходит в состояние
Вь~nолняется
логической 1 "'
команда EI
Продолжается
нормальное
выnолиение
проr аммы
Теnерь заnросы на ,
прерывания разрешены_
вода выхода INTE в состояние логического О,. осуществляемог~
аппаратными средствами, воспринявшим запрос на прерыва
ние, выполняется команда разрешения прерывания. Когда вы
полнится команда EI, вывод INТE перейдет в состояние логи-
ческой 1. Теперь микропроцессор 8080 может воспринимать но-
вые запросы на прерывание.
Система начнет выполнять программу обработки прерыва
ния. При этом она запросит память, необходимую для выполне
ния этой- программQ!. Однако программа обработки прерыва,ния:
может быть снова прервана тогда, когда появится другой за
прос на прерывание. В функции программного обеспечения вхо
дит определение того, может ли прерываться процесс выполне
ния программы обработки прерывания или он должен завер
шиться до того, как начнут восприниматься последующие за-
12-814
!78
Глава 6
просы на прерывания. Указанная особе ость организации си
<:темы прерываний характерна для бо ьшинства микропроцес
еоров.
Теперь рассмотрим, как запрос а прерывание вводится в
микропроцессор 8080 и каким об азом микропроцессор реаги
руе'I' на этот запрос. Сначала ост новнмся на вопросе организ~-
Запрос
Внешние аппаратиые средства
на прерывание устанавливают на выводе 14
'-----~ --- -' микропроцессора· 8080
уровень логической 1
ыполняется
команда Еl.Микро
процессор 8080 вы
полияет специалъ -
ную программу
обработки nреры
-вания
Продолжается
нормальное
выполнение
программы
Программа обработки
прерывания может быть
прервана при появлении
запроса на прерывание
Рис. 6.6. Блок-схема последовательности действий, выполняемых в систе
ме 8080 после появления запроса на прерывание в случае, когда допускается
прерывание программы обработки прерывания.
ции обращения системы к программе обработки прерываний, ко
-горая вызывается после наступления прерывания. Внешние ап
паратные средства должны в определенное время обеспечить
ввод в микропроцессор адреса или вектора, определяющего точ
ку входа в программу обработки наступившего -прерывания.
• К: четырем известным нам сигналам управления (ЗАПИСЬ
В ПАМЯТЬ, ЧТЕНИЕ ИЗ ПАМЯТИ, ЗАПИСЬ В УСТРОЙСТВО
ВЫВОДА и ЧТЕНИЕ ИЗ УСТРОЙСТВА ВВОДА), передавае
мым по .шине управления, нужно добавить новый сигнал, кото
рый будет называться сигналом ПОДТВЕРЖДЕНИЯ ПРЕРЫ
ВАНИЯ. Он будет иметь обозна_чение INTA. К:огда подается
-сигнал управления INTА с логическим значением О, внешние
~шпаратные средства системы должны поместить на шину дан-
\\
Прерывани режим ожидания и пр.ямой доступ к памяти
ных вектор прерыван я. Соответствующая последовательность.
действий представлена ,блок-схемой~ при,в,_еденной на рис. 6.7 .
Анализируя блок-схеidr, мы видим, что после поступлениs~
запроса на прерывание на выводе INТ~ устанавливается состоя
ние лоrичеекого О, затем подается сигнал INТA с логическии
значением, равным О. Теперь с помощью определенных аппарат
ных средств должен обеспечиваться ввод вектора прерываиий в
Рис. 6.7 . Блок-схема последова
тельности действий, выполняемых
внешнимц аппаратными средства
ми системы 8080, после поступле
ния сигнала внешнего прерыва-
ния.
INT=1
INTE- О
Вектор прерывания
помещается
на шину данных
апуск программы
обработки преры
вания, .. указ"иной
вектором прерываиия
Прерывание
запрщuено
Прерывание
запрещено
Подтверждение:
прерыванn
микропроцессор. В системе 8080 имеется восемь векторов пре
рываний, что позволяет системе начинать выполнение програм
мы прерывания с одной из восьми определенных ячеек памя
ти. Векторы и соответствующие им адреса памяти представле
ны .на рис. 6.8 .
В системе 8080 векторы прерываний называют также век
торами рестарта, а для их обозначения используется аббревиа
тура RST. Таким образом, векторы рестарта будут иметь сле
дующие обозначения: RSTo, RST1, RST2, RSTз, RST4, RSTs"
RSTв и RST1. При этом вектору RST0 соответствует адрес О, век
тору RST 1 соответствует адрес 8 и т. д. Если, например, в мик
ропроцессор вводится вектор RST3, то на шину данных поступит
слово данных, соответствующее вводимому вектору.
'
На рис. 6.9 представлена схема, обеспечивающая подачу
вектора рестарта на. шиuу данных. Подачу вектора рестарта на
шину данных называют также· «вклиниванием» вектора рестар
та. Видно, что эта операция подобна чтению данных из памяти
12"-
180.
Глава 6
:илн чтению данны·х из устройства ввода Единственное отличие
~стоит в том, что функция ввода д ны.х в микропроцессор
,8080 имеет другое назначение.
·Реализация аппаратных средст для выполнения прерыва-
1шя не вызовет трудностИ-. Однакq, относительно <:>дной из nяти
nеречисленных нами особенностё'й, связанной с выполнением
ЦП ввода данных, находящихся на системной шине данных,
.заметим, что синхронизацию этого процесса осуществляет ми~
ропроцессор. При обработке прерываний микропроцессор осво
бождает нас от учета всех временных ограничений. Достаточно
-голько декодировать определенные данные и -в течение опреде
.ленноrо периода времени поместить нх на шину данных.
'-
Вектор рестарта
Разряды слова данных
Адрес памяти
Имя
D1
Do
~ STo
11ооо
1
0,s
~sт,
оо
8,s
~ST_2
о
о
10,s
~SТз
о11
1
18,s
~ST4
оо
20,е
RST5
о1
28,s
RSTв
о
30,s
RST1
38,s
Рис. 6.8 . Соответствие между именами, разрядами слова даниьi:х и -адресами
памяти векторов рестарта.
Теперь рассмотрим, как осуществляется ввод запроса на
прерывание и как запускается особая программа обработки
прерывания. Потом мы обсудим, каким образом после завер
шения программы обработки прерывания возобновляется вы
nолнение прерванной программы. Для достижения указанной
целн необходимо рассмотреть ту часть программного обеспече
ния системы 8080, которая используется в процессе обработки
прерывания.
На рис. 6.10 представлена последовательность событий,
•происходящих в системе 8080 после поступления запроса на пре
рывание от внешних аппаратных средств системы. Мы видим,
что, после того как произошло прерцвание, на выводе INTE
устанавливается уровень логического О. Затем вырабатывается
еигиал шины управления, и в это время вектор рестарта вво
дится в микропроцессор. Наконец, адрес возврата помещается
в системный стек.
Подобная последо.вательность действий осуществляется, ког
да при выполнении некоторой программы реализуется вызов
подпрограммы. I(огда в_ системе 8080 происходит обращение к
Прерыванйе, режмм 'ожидания и прямой доступ к п~яти 181
\.
\
подпрограмме, микропроцессор помещает в стек системы адрес
возврата. При желании вернуться к основной программе пос
.ле выполнения подпрограммы необходимо просто выполнить
комаиду возврата (RET). При· выполнении команды
1
RET ад
рес возврата извлекается из·стека, и стек снова может исполь
зоваться для хранения адресов возврата.
Рис. 6.9. Схема подачи вектора
рестарта иа шину даииых за за
данное время. Схема соответству-
ет вектору рестарта RST 5.
\g
t:
o:s
:i::
...
=
u
о00
о
00
o:s
о.
о
u
u
~
::::1
о
о.
с:
о
о.
~
=
::!:
х
::;;
:i::
:i::
o:s
1::!
о:!
:i::
=
3
+5
74LS367
4,7 кОм
1
1
1
:4
1
1
Jб
1
1
.
1
1
~
g l:10
1
1
1
1
-
1
1
-
о, 111
:12
1
1
1
114
1
1
j4
1
1
L___ .J
Такая же временная последовательность событий происхо
дит и при обработке прерываний. Микропроцессор помещает ад
рес возврата в системный стек. Когда после обработки преры
вания возникнет необходимость возвращения к основной про
грамме, в программе обработки прерывания должна быть вы
полнена команда возврата RET. При выполнении команды RET
из стека будет выбран адрес, который был помещен туда перед
началом выпоJцtекяя программы обработки прерывания. Ис
пользуя иэвле1tенный рз стека адрес, микропроцессор приступа
ет к выnолиению прерванной программы.
Рассмотрим теперь другие вопросы, связанные с обработкой
прерываний в микропроцессоре 8080. После наступления преры- •
вания микропроцессор 8080 переходит к выполнению специаль-
182
ной щюцраммы, находящейся в памяти оо определенному адре
су. Вспомним, что запрос на прерываnие может поступить в
произвольный )У:Омент времени. Это значит, что МИJфопроцес-
t
Поступленне запроса на прерыванне
t
Установка на выходе INTE сост9яния логнческого О
t.
Подача сигнала подтверждения прерывания INTA
t
Подача вектора рестарта на шнну данных микропроцессора
.
t
Пересылка адреса возврата в стек
8080
t
Выполнение программы, указанной вектором рестарта
Рис. 6.10. Последовательность действий, выполняемых мнкроироцессором 8080~
сор должен обеспечить быстрое принятие решения, основываясь.
на состоянии некоторых внутренних флажков. Так как во время
выполнения программы обработки прерываний содержимое
этих флажков или регистров может быть разрушено, иеобхо,.
1
PUSH PSW
PUSH Н
PUSH D
PUSH В
$111$
} Сохранение состояння регистров
Программа обработки прерывания
$111$
РОР В
РОР D
РОР Н
РОР PSW
EI
RET
} Восстановление состояния регвстров
Рис. 6.1'1. Фрагмент программы, нллюстрирующий, как сохраниетси н вос
станавливается «состоянне снстемы:..
димо «сохранить» их состояния. Это можно осуществить по
средством записи GОдержимого регистров в стек сразу посла
входа в программу обработки прерываний. А потом, непосредст
венно перед выходом из программы обработки прерываний~
нужно будет восстановить их состояния. Рассмотренная идея
иллюстрируется программой, представленной на рис. 6.11.
Подведем итоги обсуждения вопроса организации прерыва·
• ний в микропроцессорной системе 8080. Запрос на прерывание
Прерывания, режим ожидания и прямой доступ к памяти 183
поступает от внешних аппаратных средств. Последующие за
просы на прерывания могут быть разр'ешены или запрещены
программно. Подачей сигнала шины управления INТA обеспе
чивается помещеtше на шину данных вектора прерывания. Век
тор прерывания является адресом· или указателем, определяю
щим некоторую точку входа в программу обработки прерыва
ний. Прежде чем приступить к выполнению программы обработ-
1ш прерывания, начало которой определяется вектором преры
вания, в стек помещается адрес возврата. Последнее действие
выполняется подобно тому, как это делается при обращении к
подпрограмме. Для возвращения в прерванную программу по
,следней в программе обработки прерываtшй должна выполнять
ся команда RET.
~ .3.
Прерывания в микр()процессоре 8085
Прерывания в микропроцессоре 8085 могут осуществляться не
сколькими способами. Один из них полностью совпадает с рас
смотренным нами способом организации прерываний в микро
процессоре 8080. Вход микропроцессора 8085, на который по-
Рис. 6.12 . Схема, демонстрирующая
выводы микропроцессора 8085, ис
пользуемые для подачи запроса на
прерывание и для выдачи сигнала
•
подтверждения. •
10
\..._
Запрос на
INT R1-----прерывание
Используется
для подачи
INТд:,-11____ вектора ре-
Микро
процессор
8085
--.,
старта на
~ шину данных
дается запрос на прерывание, имеет обозначение INТR. Этому
входу соответствует вывод 10. Сигнал подтверждения прерыва
ния INТА (вывод 11 микропроцессора 8085) фактиtrески явля
ется сигналом разрешения подачи вектора рестарта на шину
данных. Упомянутые выводы и соответствующие им сигналы
показаны на рис. 6.12. На рисунке показано, что когда подается
сигнал подтверждения прерывания INТA, т. е. когда на выво
де 11 уровень напряжения понижается, вектор рестарта подает
ся на шину данных и микропроцессор начинает выполнять про
грамму обработки прерывания, соответствующую полученному
вектору рестарта. В дafIHOM случае векторам рестарта постав
лены в соответствие точно такие же адреса памяти, каl{ и в рас
смотренной нами системе прерываний для микропроцессора
8080 (см. рис. 6.8). В отличие от микропроцессора 8080 в мик•
процессоре 8085 не предусмотрен сигнал INТE. Это означает.
184
что для выдачи сигнала сброса запроса на прерывание нужно,
использовать. порт вывода. Согласно схеме, представленной на
рис. 6.13, после поступления запроса на прерывание, выраба•
тываемого триггером типа-:D (см. схему на рис. 6.2), для сбро
са запроса на прерывание необходимо подать сигнал на вход
«Сброс» триггера типа D. На рис. 6.13 показана линия сброса
D-триггера, началом которой является выход порта вывода.
/
Сброс запрJСа
н11 'прерывание
Шина адреса
Порт вывода
Рис. 6.13. Схема формирования сигнала сброса запроса на прерывание, в ко
торой используется специальный порт вывода.
Чтобы снять запрос на прерывание, микропроцессор- 8085 дол
жен записать определеииое слово данных •в порт вывода.
В микропроцессоре 8085 также предусмотрен вход TRAP
(вывод 6), предназначенный для подачи запросов на прерыва
ние, которые не могут маскироваться. Это значит, что запросы
на прерывание, подаваемые на вход TRAP, иикогда не могут
быть запрещены программно. Запросам на прерывание по вхо
ду TRAP присвоен самый высокий приоритет по отношению ко
всем другим прерываниям. Если в один и тот же момент вре
мени поступят хотя бы два запроса на прерывание, то запрос
прерывания, поступивший на вход TRAP, будет иметь приему
щество над всеми др.угими. При использовании прерываний по
входу TRAP нет необходимости подавать вектор рестарта на
шииу данных. Этот вектор рестарта автоматически формируется
и выдается микропроцессором 8085. Ему соответствует адрес
рестарта 241 6• Для подачи ·запроса. на прерывание на вход
TRAP может быть использована схема, показанная на рис. 6.14 .··
Отметим, что в данной схеме отсутст~зует триггер типа 1D. Вход
TRAP является чувствительным как к фронту, так и к уровню
сигнала. Сигнал на входе TRAP должен иметь уровень логиче
ской 1 в течение времени, которое требуется для его ввода. в
микропроцессор 8085. Однако микропроцессор устанавливает
Прерь1вания, режим ожидания и прямой доступ к памJ11ти 185
появпение сигнала на этом входе топько тогда, когда на нем
происходит переход к уровню логического О и обратно куров
ню логической 1. Для этого кнопочный переключатель, обозна
ченный на рис. 6.14 ч~р.ез S 1, нужно на~ать и отпустить.
45
NC
V\
s,
~ОС)
NO
о.
6
ос.,
TRAP с.,
С1.1
_г
::i
о
4 17кOм
о.
i:::
о
о.
~
+5
:s:
::Е
Рис. 6.14 . Схема формирования сигнала прерывания TRAP в мнкропроцессо-
.
ре 8085,
В микропроцессоре 8085 предусмотрено еще три входа для
подачи запросов на прерывания. Эти входы имеют следующие
обозначения: RST 7.5, RST 6.5, RST 5.5 . Им соответствуют вы
воды 7, 8 н 9 микропроцессора 8085 . .При поступлении запросов
на прерывание ,иа указанные входы нет необходимости обес
печивать подачу адресов рестарта на шину даниых - мнкропро-
Вход прерыванйя
5.5
6.5
7.5
Вектор рестарта
5
6
7
Адрес памяти
2С 18
3411
3С1е
Адрес памяти
2811
3011
3811
Рис. 6.15. Адреса памяти векторов рестарта. Отметим, что адрес вектора
рестарта 6.5 расположен между адресами векторов рестарта RST 6 и
RST 7.
цессор определяет их автоматически. Адреса для векторов ре
старта даны на рис. 6.15. Отметим, что адреса векторов пре
рываний 5.5, 6.5 н 7.5 физически расположены между вектора
ми рестарта.
В микропроцессоре 8085 сигналы рестарта 5,5 и 6.5 имеют
такие же временные характеристики, как и сигнал прерывания
186
Гnава 6
INТR. Сигнал RST 7.5 имеет некоторые отличия. Сигнал RST 7~5
является активным, нарастающим, чувствительным к фроиту
запросом на прерывание. Для осуществления запроса на пре
рывание требуется подать единственный импульс. Это означает"
что запрос на прерывание RST 7.5 производится просто .подачей
импульса на вывод RST 7.5 микропроцессора 8085. Этот им
пульсный сигнал будет «запоминаться» до тех пор, пока за
прос на прерывание система не обработает или не сбросит.
\ Импульс запроса на
прерывание RST 7,5
Рис. 6.16. Временная диаграмма сигнала запроса на преры
вание RST 7.5 .
Временная диаграмма, представленная на рис. 6.16, иллюстри
рует некоторые особенности сигнала RST 7.5.
Наряду с отличиями в аппаратных средствах, используемых
для организации прерываний в микропроцессорах 8080 и 8085 ►
имеются также отличия и в соответствующем программном
обеспечении.
Основное отличие обусловлено тем, что в системе команд мик
ропроцессора 8085 есть команды «установка маски прерываний»
(SIM). С помощью этой комаfнды могут б1;,1ть разблокированы
только определенные линии запросов на прерывания. Э,;rо зна•
чит, что прерывания RST 5,5, RST 6.5 и RST 7.5 могут блокиро
ваться так же, как запрос прерывания INТR. Единственным за
просом на прерывание, который нельзя блокировать програм
мно, является запрос на прерывание TRAP. Прерывание по вхо
ду TRAP не может маскироваться и будет обрабатываться
всегда.
MVI А, 18Н
SIM
EI
Рис. 6.17 . Фрагмент программы для микропроцессора 8085,
обеспечивающий установку маски прерываний. Код 18 1 в опре
деляет, что 4-му и 3-му разряду маскн прерываний прнсван-
вается значение 1.
•
На рис. 6.17 представлен небольшой фрагмент программы
для микропроцессора· 8085, демонстрирующий применение ко
манды установки маски прерываний SIM. Этот фрагмент обыч
но используют в начале программы и, кроме того, при обработке
запросов на прерывания. Назllачение разрядов маски прерыва
ний· опиеано в руководстве по программному обеспечению си
стемы 8085.
Прерыванмя, режмм ожмданмя м прямой доступ к памятм
187
6.4.
Прерываю•• в микроnроцессоре zao
•ЦП Z80 имеет два входа, предназиаченные для приема запро
,сов на прерываиие: «запрос на прерывание» (INТ, вывод 16)
и «запрос на немаскируемое прерывание» (NMI, вывод 17).
Сигиал· запроса на прерывание INТ является маскируемым, т. е.
это прерывание может программным путем разрешаться или
запрещаться. Немаскируемое прерывание будет воспринимать
ся ЦП Z80 все время. Немаскируемое прерывание имеет век
тор рестарта, равный 66 16 . Это значит, что, когда произойдет
Рис. 6.18. Схема подачн за
проса на прерывание н фор
мирования снгнала подтвер
ждения прерывания в МНI{·
ропроцессоре Z80.
16
Микропро-
цессор Z80
20
27
INTERRUPT REQUEST Схема,
!NT
IORQ 1
м
2
представ-
_г
ленная на
рис. 6.2
l
__J
Сигнал «Сброс»
из порта ввода-
вывода
74LS32
з
-Сигнал 1
используе
для разре
аив
NTA,
МЫЙ
шения
пол ч ектора
рестарта иа
шину даннr1х
немаскируемое прерывание, ЦП начнет выполнение той про
граммы обработки прерывания, первая команда которой нахо
дится по адресу 661в-
В микропроцессоре Z80 предусмотрено три различных спо
соба обработки запросов на прерывания, поступающих на вход
маскируемых прерываний, т. е. на вывод 16. ПеQвЫй способ
аналогичен реализованному в микропроцессоре 8080. Когда
происходит прерывание, один из векторов рестарта RST0-
RST1 помещается на шину данных. Схема, иллюстрирующая
описаииые действия, приведена на рис. 6.18. Заметим, что для
формирования сигнала INТA используются сигналы М1 и IORQ,
вырабатываемые ЦП Z80. Сброс запроса на прерывание в дан
ном случае выполняется так же, как и в микропроцессоре 8085.
Для этого может быть использован особый порт вывода. Когда
выполняется установка начального состояния микропроцессо
ра Z80, сбрасывается и вход «запрос на прерывание» (вы
вод 16). Подтверждение поступления запроса на прерывание
осуществляется способом, рассмотренным нами выше.
Второй способ реакции ЦП Z80 на прерывание состоит в
следующем. Программным путем система может быть подго
товлена к обработке прерыващ1я так, что, когда аппаратные
средства инициируют запрос на прерывание, автоматически бу-
188
Гnава 6
дет устщювлеи вектор рестарта 3816. -Этот ·способ обработк·и за•
проса на прерывание идентичен способу обработки запросов на
прерьiвания RST 6.5 или RST 5.5 в микропроцессоре 8085, за
исключением того, что в ЦП Z80 используется другой адрес ре
старта. Подчеркнем, что выбор этого способа обработки пре-
ръmаний осуществляется программно.
..
Рассмотрим теперь третий способ реакции микропроцесеора
Z80 на прерывания. В память системы можно записать таблицу
t
(1)
Заполнение В-разрядного внутреннего регистра программным
путем
(2)
(3)
(4)
(5)
(6)
t
Запрос на прерывание
t
М1 и ЮRQ=логический О
t
Байт данных подается на шнну данных (8 разрядов); раз.
ряд Do игнорируется
t
Адрес памяти формируется из
· значения
определенного иа шаге (!) и на шаге (4)
t
Переход системы по сформированному адресу для. обработки
запроса на прерывание
-
Рис. 6.19. Блок-схема последовательностн действий, выполняемых в систе
ме ZBO прн возникновения запроса на прерывание. Восемь разрядов адреса
подается на шину данных. Этот байт сцепляется с содержимым 8-разрядноr()
внутреннего регистра, н такнм образом формируется адрес программы об-
работки прерывания.
16-разрядиых адресов памяти или указателей, которые соответст
вуют адресам программ обработки прерываний. Когда произой
дет прерывание, внешние аппаратные средства должны поместить.
на системную шину данных младшие восемь разрядов опреде
ленного указателя, содержащегося в· таблице. Старшие восемь
разрядов этого, указателя запоминаются во внутреннем р_еги
стре ЦП Z80. Объедин~я указанные В-разрядные коды, ЦП
формирует слово. Это слово используется в качестве адре~а па
мяти, по которому хранится указатель программы обработки
прерывания. В зависимости от значений введенных младших
разрядов формируемого слова система определит некоторый ад
рес 3FXX ячейки памяти. Сказанное выше иллюстрируется схе
мой на рис. 6.1{9. Предположим, что на шину данных поступил
В-разрядный код В6н1• Тогда будет сформирован указатель
Прерывания, режим ожмданмя м прямо!. доступ к памятм
3FB6, который и будет использован ЦП в качестве 16-разряд
ного адреса, указывающего местополо~е!'!ие прогр~ммы обра
ботки прерывания.
6.5.
Прерывания в микропроцессоре 6800
Микропроцессор 6800 имеет два входа (IRQ, вывод 4 и NMI,..
вывод 6), предназначенные для ввода запросов на прерывания,..
IRQ является входом маскируемых запросов на прерывания ...
Схема распределения памяти для векторов прерывания
Адрес
Комментарий
FFFF
Младшие 8 разрядов адреса
RESTART
FFFE
.
Старщне 8 разрядов адреса
FFFD
Младшие 8 разрядов адреса
NMI
I;FFC
Старшие 8 разрядов адреса
FFFB
Младшие 8 разрядов адреса
SOFTWARE INТ
FFFA
Старшие 8 разрядов адреса
FFF9
INТ
FFFB
Младшне 8 разрядов адреса
Старшие 8 разрядов адреса
Рис. 6.20. Схема распределения памяти для векторов прерываний микропро-
цессора 6800.
а NMI предназначен для немаскируемых запросов на прерыва
ния. Прерывание NMI не может быть запрещено программно..:
К:огда поступает· запрос на прерывание, микропроцессор обра
щается к особой ячейке памяти д.дя получения адреса вектора,
рестарта, который будет использоваться для запуска програм
мы обработки прерывания. Адреса рестарта привед_ены на,
рис. 6.20.
Аппаратные средства для выдачи немаскируемого запроса на,
прерывание микропроцессора 6800 представлены блочной схе
мой, изображеннной на рис. 6.21 . Они подобны тем, которые
использовались для выработки запроса на прерывание в мик-
ропроцессорах 8085 и Z80. в· микропроцессоре 6800 нет выхода.
INTE, который мог бы использоваться для выдачи сигнала сбро
са запроса на прерывание, поступившего от периферийного обо
рудования. Чтобы сбросить запрос на прерывание, необходимо»
записать в порт вывода определенную информацию. Теперь об
ратимся к. рис. 6.20 и пре:цположим, что ячейка памяти с адре
сом FFF8 содержит код 0016, а ячейка с адресом FFF9 - ко~
~J5,в, Вектор рестарта и.1щ адрес, равный 0035 16, будет сформиро
ван, когда от периферийного оборудования поступит запрос на~
11рерывание.
190
Гnава &
Мы обсудили; как с помощью аппаратных средств выраба-
1.'Ываются запросы f}a прерывания в каждом из четырех рас
.сматриваемых нами микропроцессоров. Способы выработки аппа
ратными средствами запросов на прерывания в рассматривае
мых микропроцессорах одинаковы, поэтому легко разобраться в
.сходствах и отличиях соответствующих систем обработки пре
:рываний. В реальных системах аппаратные средства для выда
"ЧИ запросов на прерывания могут быть реализованы различиы
~и способами. При ознакомлении с какой-либо конкретной си-
8
INTERRUPT RE UEST
00
=
\О
:,:
·с.
С!)
о
~
u
"'
u
"'
"
...
::!
<.>
о
Рнс. 6.21. Схема подключеиня
<С!
с.
"'"'
е:
формирователя запроса на пре-
s::,..
8.
t:"'
<iu
"
рыванне, схема которого пред-
:,:
:.:,;: :,:
Сброс
~
ставлена на рис. 6.2, к мнкро-
"с.
:,: "' тригrера
процессору 6800.
U:c
_г
Порт
вывода
-стемой прерываний прежде всего следует разобраться в аппа
;ратных средствах микропроцессора, обеспечивающих разреше-
.ние и выполнение прерываний.
_
Надо помнить, что в микропроцессоре 8080 после наступле
ния прерывания на шину данных необходимо подать ве:ктор
!Рестарта. Аналогичную операцию приходится выполнять и в
.одном из режимов обработки прерываний микропроцессора Z80.
·точное время, затрачиваемое микропроцессором на выполнение
-:прерывания, дается в перечне технических характеристик микро-
процессора. Целью настоящего обсуждения было ознакомление
с внешними аппаратными средствами, которые необходимы для
•Формирования запросов и обработки прерываний.
Большую ромощь в изучении вопросов обработки прерыва
•ний оказывают имеющиеся в описании спецификаций микропро
цессора временньrе диаграммы.
- 6.6.
Способы реапизации режима ссОЖИДАНИЕ))
Теперь рассмотрим различные методы обеспечения режима
·ОЖИДАНИЕ в оборудовании микропроцессорных систем. Бу
_дем использовать термин «ожидание» для обозначения иеко-
1.'орого периода времени, необходимого для выполнения опера
:~u,ий чтения или записи в память иди для выполнения операций
Прерывания, режим ожидания и прямой доступ к памяти
ввода-вывода. К:огда время ответа (реакции) памяти и~и
устройств ввода-вывода больше, чем время цикла команды~
цикл команды должен быть увеличен. Период ожидания дол~
жен быть достаточным для срабатывания устройства памяти, 1t
устройств ввода-вывода. Сказанное иллюстрирует временнаst
Рнс. 6.22. Временная днаграмма, де
монстрнрующая прннцнп rенерацнн
пернода ожндания в мнкропроцессо
ре. Запрос памятн реалнзуется во
время пернода ожндання.
Ао~---
Из микμопроцессора
r.1EMR
Из микропроцессора\
1
~,
!
Период ох~идания
диаграмма, приведенная на pilC. 6.22 . В следующем разделе-
обсудим аппар·атные средства, используемые для генерации со
стояния ожидания в каждом из четырех рассматриваемых мик
ропроцессоров.
6.7.
Перевод в состояние ожидания микропроцессоров
8080, 8085 и Z80
Аппаратные средства, предназначенные для перевода в состоя
ние ожидания микропроцессоров 8080, 8085 и Z80, имеют боль~
шое сходство. Рассматриваемая нами схема применима для
каждого из этих микропроцессоров; отличаются лишь способы
подключения ее к .выводам микропроцессора. Сначала обсудим"
как осуществляется переход микропроцессора в состояние ожи
дания, а затем остановимся на рассмотрении интерфейса схем,.
обеспечивающих переход в режим ожидания, и микропроцессора.
Запрос на ОЖИДАНИЕ сигнал (WAIТREQ) инициируется
памятью системы или устройствами ввода-вывода. В рассматри
ваемом примере предполагается, что память системы имеет вре
мя доступа слишком большое, чтобы записывать или считывать
данные на нормальной рабочей скорости микроцессора. По
этому, когда микропроцессор должен читать данные из памяти
или записывать данные в память, время цикла ЦП должно
быть увеличено. Это будет согласование времени доступа· с мед
лениодействующей памятью. Таким образом, память может иметь.
секции, работающие с разным быстродействием. В частности,
некоторые секции памяти будут обладать быстродействием, до-
статочным для работы на системной скорости. В этом случае
;·,
потребуется «замедлять» микропроцессор только тогда,. когда:
происходит обращение к медленнодействующей секции памяти.,
Для выработки запроса на ожидание будут дешифрировать--
192
Гnава 6
-ся :старшие разряды адреса, передаваемого по адресной шине.
К:оrда эти разряды адреса будут соответствовать низкоскоро
-стной секции памяти, тогда произойдет выдача сигнала WAIТ-
- REQ. Этот сигнал вырабатывается путем дешифрирования стар-,
1ШИХ разрядов адреса с помощью комбинационных логических
,схем, принцип его формирования иллюстрируется блочной схе
мой, представленной на рис. 6.23. Мы видим, что адрес посту
тrает на комбинационный логический блок, который дешифри
i>УеТ адрес и вырабатывает сигнал WAIТREQ, когда код адре-
·логическая схема
Шин<1 адреса 1
Ао-А15
Рис. 6.23. Схема образования сигна
ла запроса ожидании. При появле
нии определенной ·логической ком
бинации на шине адреса логическая
схема вырабатывает сигнал запроса
ожидания.
,,са соответствует медленнодействующей части памяти. Появ
.Jiение этого сигнала отмечается переходом напряжения на вы
ходе комбинационной логической схемы от высокого уровня к
'НИЗКОМУ уровню.
Сигнал запроса на ожидание используется ){ругими схема
ми, которые и вырабатывают сигнал, вызывающий переход ЦП
~В состояние ожидания.
-
•
Схема, предназначенная для генерации сигнала запроса на
-<>жидание, представлена на рис. 6.24. Это обобщенная схема,
..которую путем расширения можно приспособить для выработки
•.:запросов ожидания любой желаемой длительности. Показанная
,схема будет обеспечивать задержку в работе системы на два
1Периода ожидания. Мы обсудим в общих чертах эту схему и
укажем, какие сигналы необходимы для функционирования ~е
•.с определенным микропроцессором. Отметим, что рассматривае
мая схема может использоваться совместно с микропроцессора
·ми 8080, 8085 и Z80. Ниже в настоящей главе будет представ
.лена схема, прещ1азначенная для работы с микропроцессо
lJ>ОМ 6800.
Временная диаграмма, изображенная на рис. 6.25, дает
!Представление о временных соотношениях сигналов, действу
ющих в схеме, представленной на рис. 6.24 . Сначала обратим
~нимание на последовательность тактовых импульсов. Все дей
.ствия в рассматриваемой схеме происходят во время нараста
lflИЯ переднего фронта импульсов этой последовательности. Так
товые импульсы подаются на ,D:триггеры типа 7474. Сигнал зa
iqpoca •ИН ожидание подается на первый D-триггер рассматри-
Z80MREQ
аовоф2(тТL)
8086 CLK
Z80ф
sтsтв 8080
дLЕ 8085
+5ВZ80
Сброс
На вход WAIT ( 24)
6 микропро_цессора Z80
Сброс
сброс
Ряс. 6.24. Схема генерация состояния ожндания для микропроцессоров 8080.
8085 н 280.
Вывод 1
..:хемы 7400
Синхроимпульсы
\
Запрос ожhдания
\
ожидания
Рис. 6.25. Временная диаграмма снгналов, действующнх в схеме,.. представ•
ленной на рнс, 6.24 .
13-814
194
Глава 6
ваемой схемы. Для схемы. показанной на рис. 6.23, этот сиг
нал является ·выходным. Предположим, что когда схема начи
нает работать, все ее триггеры на выходах Q имеют уровень ло
гической 1. Справедливость этого предположения мы обсудим
ниже.
Анализируя временную диаграмму, представленную на
рис. 6.25, мы видим, что сигнал «запрос ожидания» на входе D
первого триггера рассматриваемой схемы переходит к уровню
логического О, прежде чем сигнал генератора тактовых импуль
сов перейдет к уровню логичес·кой 1. Указанное временное со
отношение между этими сигналами выполняется в каждом из
трех обсуждаемых сейчас микропроцессоров; оно обеспечива
ется синхронизацией самих микропроцессоров. К:огда синхрони
зирующий импульс изменяется от уровня логического О до уров
ня логической 1, выход Q первого триггера типа D переходит в
состояние логического О, а выход Q этого же триггера перехо
дит в состояние логической 1. При этом на обоих входах вен-.
тиля НЕ И, т. е. на выводах 1 и 2 схемы типа 7400, будет уро
вень логической 1. Следовательно, на выходе этого вентиля -
вывод 3 схемы 7400-:-установится уровень логического О. Сиг-
, нал на выводе 3 схемы 7400 также представлен на временной
диаграмме, изображенной на рис. 6.25. Отметим, что уровни
рассмотренных сигналов остаются постоянными в течение вре
мени существования второго импульса, показанного на вре
менной диаграмме.
Во вperviя нарастания переднего фронта третьего синхроии
зирующего импульса происходит следующее. На выходе Q
третьего триггера типа D появится уровень логического О; та
кой же уровень, очевидно, будет и на выходе 2 схемы 7400. Те
_перь вывод 3 схемы 7400 перейдет в состояние логической 1.
К:огда на этом выводе происходит переход к уровню логиче
ской 1, со входа микропроцессора снимается сигнал запроса
ожидания. После снятия этого сигнала микропроцессор про,...
должит работу на нормальной системной скорости.
При переходе микропроцессора к нормальному режиму ра
боты все триггеры рассматриваемой схемы устанавливаются в
состояние 11 посредством подачи сигнала низкого уровня на
входы «сброс». Сигнал низкого уровня подается на входы
«·сброс» в начале каждого нового машинного цикла микропро
цессоров 8080 или 8085. Теперь схема· готова к приему сигнала
«запрос ожидания»; в зависимости от адреса, поступающего по
адресной шине, на выходе схемы, представленной на рис. 6.24,
установится состояние логического О или состояние логической 1.
Схема, изображенная на рис. 6.24, подключается к микропро
цессорам 8080 и 8085 так, как это показано на рис. 6.26 и
рис. 6.27 соответственно. При этом вывод 3 схемы ,7400 (см.
рис. 6.24) ·соединяется со входом RDYIN генератора тактовщ
Генератор
тактовых
HMПVЛbCOfl
8.224
R~E _A_D_Y
___~
23
~
6
:::
$ 1нкропронессо
8080 •
Ряс. 6.26. Схема соедннення микропроцессора 8080 со схемой, показаяяоА
на рис. 6.24.
. ,.,
35
~
READY 00
о.
о
u
~::,-
WAIT REQUEST
8.
i::
о
о.
"
=
::Е
30
37
дLЕ
CLK
Ряс. 6.27. Схема соедннення мнкропроцессора 8085 со схемой, показанной
на рнс. 6.24 .
. ----------------
1
..;;...
9
MREQ
WAIT
24
~
ф ----'<L----_. .. ..__ __ __ _.. ..: .6 ф гги
о.
о
~о
о.
i::
о
о.
"
~
1Рнс. 6.28. Схема соедннення мнкропрш(ессора 280 со схемой, показащщй
на рнс. 6.24.
13•
196
Гnава'6
импульсов 8224 микропроцессора 8080 или со входом READY
микропроцессора 8085. На схему, показанную на рис. 6.24,
синхроимпульсы поступают с выхода Ф2ТТL генератора такто
вых импульсов 8224 микропроцессора 8080. При использовании
микропроцессора 8085 синхро1:1мпульсы с, выхода СLК: сначала
пqступают на инвертор, а после инвертирования - на вход под
ключаемой к микропроцессору схемы (см. рис. 6.27). Для уста
новки триггеров рассматриваемой схемы в состояние 1 исполь-
зуется сигнал STSTB - «строб состояния»
-
в микропроцессоре
8080 и сигнал ALE - «отпирание фиксатора адреса»
-
в мик
ропроцессоре 8085.
Схема генерации сигнала «запрос ожидания» для микропро
цессора Z8~ представлена на рис. 6.28. Отметим, что эта схема
работает точно так же, как и схема, рассмотренная нами выше.
В данной схеме выход второго триггера· соединяется с выводом
4 вентиля НЕ И. Эта схема обеспечивает формирование сиг
нала «запрос ожидания», длительность которого равна только
одному периоду последовательности тактовых импульсов. Сиг
нал 'Запроса ожидания на вход триггера типа D поступает с
выхода микропроцессора MREQ. Для подачи синхроимпульсов
используется линия, по которой поступают сиихроимпульсы на
вывод 6 микропроцессора Z80. •
Перевод в состо,ние ожидания
.микропроцессора 6800
В отличие от микропроцессоров 8080, 8085 и· Z80 микропроцес
сор 6800 не имеет входов для приема сигналов •READY или
WAIТ. Способ «замедления» микропроцессора 6800 при обра
щении к памяти_ или к устройствам ввода-вывода носит назва
ние «растягивания синхронизирующих импульсов». Используя
этот способ, фактически можно увеличивать ширину импульса
последовательности Ф2 до необходимой величины, определяемой
временем доступа к памяти определенного типа. Согласно спе
цификациям, ширина импульса Ф2 для микропроцессора 6800
не может превышать 4,5 мкс. Если увеличить ширину импуль
са Ф2, .то в микропроцессоре 6800 может произойти потеря ин
формации. Это ограничение необходимо учитывать при растя-
• гивании импульса Ф2.
В генераторе тактовых импульсов 6871, предназначенном для
использования с микропроцессором 6800, предусмотрен вход,
который посредством подачи на него сигнала позволяет замед
лить или остановить импульс Ф2, т. е. оставить его в данном
состоянии, пока на входе действует сигнал запроса. Вход гене
ратора 6,871, используемый для этого, называется входом (.пи
нией) готовности памяти. К:огда, на линии готовности памяти.
низкий уровень напряжения, на входе Ф 1 микропроцессора бу-
Прерыеанми, режмм ожкданми н примем доступ к памити
дет сос~ояние логического О, а на входе Ф2- сос;ояние логиче-.
ской 1. Для возобновления нормального 'режима работы генера
тора тактовых импульсов и, следовательно, всей системы необ- •
ходимо подать на линию готовности памяти уровень логиче-
ской 1.
•
•
Чтобы обратиться к медленнодействующей памяти, достаточ
но установить уровень логического О на линии готовности памя
ти. Схема, предназначенная для этого, представлена на рис. 6.29.
J ф2(ттL)
WА!Т
Готовность
памяти
Одно
вибратор
г------, ф1
22
6871
5
L._fc_._;;.---__J Ф2
Ширина импульса,
вырабатываемого
одиовибратором Ф2 (ТТL)
37
6800
Рис. 6.29. Схема генерации состояния ожидания микропроцессора 6800 .
Ждущий мультивибратор (одновибратор) запускается задним
фронтом поступающего на его вход и;мпульса. Сигнал, запуска
ющий мультивибратор, поступит на его вход, когда и сигнал
«запрос ожидания», и сигнал Ф2ТТL, являющийся выходным
сигналом генератора 6871; переходят к уровню логической 1.
К:огда указанньtе' сигналы достигнут уровня .логической 1, про
изойдет запуск ждущего мультивибратора и на его выходе по
явится уровень логического О. Описанные· изменения сигналов
иллюстрируются временн6й диаграммой, представленной на
рис. 6.30 . Вместе с переходом к состоянию логического О выхо
да ждущего мультивибратора такое же состояние устанавлива
ется и на линии готовности памяти. При этом последовательно-.
сти тактовых импульсов «замораживаются» таким образом, что
на входе Фl микропроцессора усrанавливается состояние логи
ческого О, а на входе Ф2 - состояние логической 1. Через опре
деленное время на выходе мультивибратора, а значит, и на ли
нии готовности памяти установится уровень логической 1. Те
перь генератор тактовых импульсов продолжит работу в нор-1
мальном режиме.
Вспомним, что в микропроцессоре 6800 все действия на шиие
данных происходят при прохождении заднего фронта импуль
сов последовательности Ф2. Это означает, что и передача дан
ных на устройства вывода, и ввод данных в микропроцессор
6800 стробируются rio заднему фронту импульсов фазы Ф 2. По
этому и осущест~ляется задержка перехода импульса Ф 2 к уррв-
198
Глава 6
ню логического О на время, задаваемое ждущим мультивибра
rором. Это время не должно превышать 4,5 мкс.
Кроме того, отметим, что, когда сигнал Ф2 переходит куров-
1ию логической 1, сигнал на линии готовности памяти перей
,цет к уровню логического О, на входе Ф2 уровень логической 1
-будет сохраняться, пока ждущий мультивибратор находится в
неустойчивом состоянии. После возвращения мультивибратора
Запрос WAIТ
_J
Гот·овность
памяти
6871
.. запуск
однови.оратора
--~R~лн:са-
--~
Ш~а имп;;;;;;;,
вырабатываемого
одновибра тор?м
Рис. 6.30 . Временная диаграмма
сигналов, действующих в схе
ме генерации состояния ожида
ния микропроцессора 6800 (см.
рис. 6.29).
в устойчивое состояние линия готовности памяти переходит в со
стояние логической 1 (см. рис. 6.30), а выход Ф2 генератора
тактовых импульсов 6871- в состояние логического О., Когда
сигнал Ф2 переходит к уровню логического О, микропроцессор
. 6800 контролирует данные на шине данных или память прини
мает данные на свои входы.
Итак, мы рассмотрели способы перевода микропроцессоров
8080, 8085, Z80 и 6800 в состояние ожидания. Следует иметь
в виду, что эти способы, конечно, не являются единственными.
Представленные здесь схемы являются лишь примерами, кото
рые позволяют нам увидеть, как с помощью аппаратных средств
решается задача перевода микропроцессора в состояние ожи
дания. Хорошо понимая, чтб необходимо для перевода микро
процессора в состояние ожидания, легко и понять, как в систе
ме работают аппаратные средства, обеспечивающие это состоя
ние, и разработать схему для решения подобной частной про
блемы. -
Кроме того, отметим, что существует другое решение этой
задачи, которое может применяться по желанию. Э.о решение
гораздо проще рассмотренных, однако не всегда может быть
использовано. Оно заключается в уменьшении частоты гене•
ратора тактовых импульсов микропроцессорной системы. Если
Прерыванмя, режИ"м ожнданмя м прямой доступ к памятм
,
микропроцессор работает слишком быстро и вследствие этого·
невозможно обеспечить интерфейс памяти стандартного типа,
то можно просто уменьшить быстродействие микропроцессора w
тем самым без использования к-акоrо~либо дополнительного,,
dборудования обеспечить достаточное время для обращеиия к
медленнодействующей памяти.
,
На первый взгляд это решение полностью неприемлемо. Од
нако требуемое время обращения к медленнодействующим
устройствам обычно только на несколько сотен наносекунд
больше, чем время, выделяемое для этого микропроцессором.
И хотя уменьшение частоты генератора тактовых импульсов
приводит к увеличению общего времени выполнения програм
мы, при этом сокращается объем системных аппаратных
средств. Естественно, в этом случае приходится все хорошо про
думать. Одцако отбрасывать это решение без предварительного
анализа не следует никогда. Существует много приложений, в
которых быстродействие микропроцессора не, является опреде
ляющим. Тогда его уменьшение может оказаться выгодным;_
оно, быть может, приведет к желаемому уменьшению объема
оборудования микропроцессорн0й системы.
6.9 .
Прямой доступ к памяти в микропроцессорах 8080,
8085, Z80 и 6800
Теперь обсудим, как при использовании рассматриваемых нами
микропроцессоров реализуется прямой доступ к памяти (ПДПJ.
В режиме прямого доступа к памяти не используется принцип
.
,•
Рис. 6.31. Схема свяэн двух
микропроцессоров с памятью
системы.
Процессор 1
Процессор 2
Память
системьr
Адресная шина□
Шнна rш11ных
ш1а у 11равлсf1И
Примечание; В любой. моме11"'
времени шинами ynpaвrnreт
только опии микропроuессоr
адресации памяти, обычно реализуемый в микропроцессорных
системах., При ПДП адресацию будет выполнять какая-либо
другая система или процессор; это значит, что какой-либо дру-
200
Гnава 6
гой ЦП будет иметь доступ к линиям адреса памяти, линиям
IПины данных и к системной шине управления. При этих усло
виях микропроцессор, нормально связанный с памятью, должен
,передать управление всеми сигнальными линиями другому ЦП.
"Такая с~туация возникает, .когда в некоторую систему входят
по крайней мере два микропроцессора. По<;,ледние исполь,:1уют
'Одно и то же пространство памяти. Простои, пример такои си
стемы представлен на рис. 6.31.
Рассмотрим по очереди, как каждый из представленных в
этой книге микропроцессоров передает. управление адресными
линиями, линиями шины данных и линиями шины управления
другому микропроцессору, которому необходим доступ к памя
ти, и покаж~м, какие выводы и аппаратные средства использу
ются для обес.печения этого управления.
6.1 О.
Прямо~ доступ к памяти
в микропроцессоре 8080
Микропроцессор 8080 имеет вывод, носящий наименование
HOLD, который позволяет использовать микропроцессор 8080
в режиме прямого_ доступа к памяти. В режиме нормального
выполнения программы, т. е. тогда, когда режим ПДП не ис
пользуется, вход HOLD находится в состоянии логического О.
При этом условии адресная шина, шина данных и шина управ
ления управляются микропроцессором 8080. Когда другой мик
ропроцессор или система требует использования этих т-рех шин,
вход HOLD микропроцессора 8080 переводится. в состояние ло
гической 1. При этом происходит следующее:
1) адресные линии переходят в состояние высокого сопро
тивления;
2) линии управления переходят в состояние высокого со
противления;
3) шина данных переходит в состояние аысокого сопротив~
ления.
Теперь другой процессор сможет осуществлять управление
адресными линиями, линиями данных и линиями шины управ
ления. В том случае, когда микропроцессор 8080 используется
совместно с контроллером системы 8228, на запрос HOLD от
реагирует контроллер системы и переведет выходную шину и
шину управления в состояние высокого сопротивления. Это до
стигается подачей сигнала на вход HLDA устройства 8228.
Выход НLDА-вывод 21 микропроцессора 8080- использу
ется для выдачи сигнала на внешнее оборудование. Этот сиг
нал является реакцией микропроцессора 8080 на запрос HOLD,
поступающий на вывод 13. Последнее означает, что перифе
рийное оборудование должно сначала подать запрос иа ПДП
посредством установления уровня логического О на выводе 13
Прерь1вания, режим ожидания и· прямой доступ к памяти
201
--';.1
микропроцессора 8080. Затем периферийное оборудование ожи-
дает появления сигнала HLDA с логическим значением, рав
ным 1. После установления на выходе HLDA состояния логи
ческой 1 м.икропроцессор 8080 перестает управлять всеми ши
нами системы. Теперь периферийное оборудование может про
изводить прямой доступ к памяти. После завершения ПДП пе
риферийное оборудование переводит вход HOuD микропроцес-
_
_г
-.t!.QЬ.Q_ 1З
о.
о
u
u
~00
Q,00
§~
о.
"'
"
~
21 HLDA
С11гнал к
периферийному
оборудова1111ю
Рис. 6.32. Схема, демонстрирующая сигнал на выходе HLDA,
который f!Ырабатывается после поступления запроса HOLD
на вывод 13 микропроцессора 8080.
сора· 8080 в состояние логического О. Используя выход HL;DA
и вход HOLD, периферийное оборудование может надежно вы
полнять прямой доступ к памяти (рис. 6.32).
Если же микропроцессор 8080 используется без контролле
ра 8228, то ПДП осуществляется следующим образом. Напом
ним, что адресnая шина в микропроцессорной системе 8080 мо
жет иметь, но может и не иметь буфера. Если буфер имеется,
то следует пред'усмотреть, чтобы он был с тремя устойчивыми
состояниями. В рассмотренных нами прежде аппаратных сред
ствах в качестве буфера адресных линий использовалось уст
ройство 74LS367. Схема 74LS367 переводится в состояние вы
сокого сопротивления посредством подачи сигнала уровня ло
гической 1 на выводы 1 и .15 этой схемы. В данном случае та-,
ким сигналом будет HLDA, вырабатываемый микропроцессором
8080. Таким образом, появление на выходе HLDA уровня логи
ческой 1 обеспечит перевод адресной шины в состояние высо
кого сопротивления. Это в свою очередь достигается переводом
тристабильных адресных буферов в третье состояние, т. е. со
стояние высокого сопротивления.
Кроме того, для Qбеспечения ПДП в режим высокого со
противления должна быть переведена и шина данных. В цашцх
системах используется буфер данных, отличающийся от конт
роллера 8228. Он также должен обладать тремя устойчивыми
состояниями, и для его переаода в состояние высокого сопро
тивлен,ия также. применяется выходной сигнал микропроцессо-
р а 8080 HLDA.
•
202
Глава 6
Кроме того, и шина управления посредством сигнала HLDA
" должна переводиться в состояние высокого сопротnвления. Когда.
система проектируется на основе микропроцессора 8080, нужно
точно знать, возникнет ли необходимость в использовании пря
мого доступа к памяти. Если ПДП использовать предполага
ется, то все шины системы должны быть снабжены тристабиль
ными буферами. Это позволит передавать функции управления
шинами периферийному 9борудованию.
6.11.
Прямой доступ к памяти
в микропроцессоре 8085
Прямой доступ к памяти в микропроцессоре 8085 обеспечива
ется следующим образом. Вход HOI.JD микропроцессора 8085,
аналогично одноименному входу микропроцессора 8080, должен
быть переведен в состояние логической 1. Когда на этом входе
установится уровень логической 1, периферийное оборудование
может осуществлять прямой доступ к памяти.
Когда микропроцессор 8085 подтверждает получение сигна
ла HOLD подобно тому, как это делалось в микропроцессоре
8080, выходная линия HLIDA микропроцессора 8085 переводит
ся в состояние логической 1. Переход этой линии в состояние
логической 1 означает, что микропроцессор 8085 прекратил уп
равление адресной шиной, шиной данных и шиной. управления.
Указанное действие очень схоже с тем, которое обсуждалось
в связи с микропроцессором 8080 при ПДП. •
В рассмотренных нами системах адресная шина и шина дан
ных могут иметь буферы, а шина управления может использо
вать логические ТТL-схемы. При этих условиях все три шины
системы должны обеспечить возможность перевода их в со
стояние высокого сопротивления. Сигнал перевода в состояние
высокого сопротивления формируется на выходе HLDA микро
процессора 8085. Таким образом, если в проектируемой на ба
зе микропроцессора 8085 системе предполагается использовать
ПДП, шины системы должны обладать способностью перехода
в состояние высокого сопротивления посредством сигнала с вы
хода HLDA.
6.11.
Прямой доступ к памяти
в микропроцессоре Z80
Микропроцессор Z80, подобно микропроцессорам 8080 и 8085,
имеет вход; предн"значенный для приема сигнала перевода си
стемы в режим ПДП. Для приема запроса на ПДП использу
ется вход BUSRQ микропроцессора Z80. Когда на этой линии
Прерывания, режим о-жидания и прямой доступ к памяти • 203
устанавливается уровень ·логического О, шина данных, адресная
шина и _линии шины управления микропроцессора Z80 перехо
дят в состояние высокого сопротивления. После установления
этого состояния микропроцессор Z80 выдает сигнал подтверж
дения (BUSAК) того, что микропроце~сор прекратил управ
лять всеми шинами системы. Эти два сигнала микропроцессо
ра Z80 подобны сигналам HOLD и HLDA микропроцессора
8080.
Укажем еще раз, что для реализации адресных буферов, бу
феров данных и шины управления могут использоваться стан
дартные логические ТТL-схемы. Если в системе возможен ре
жим ПДП, то логические ТТL-схемы должны быть в состоянии
переходить в режим высокого сопротивления. Д,ля перевода
логических ТТL-схем в это состояние в микропроцессоре ис-
пользуется сигнал БUSAK. Действия, выполняемые при этом
в системе, подобные тем, которые разбирались выше при рас
смотрении ПДП в микропроцессорах 8080 и 8085.
6.13.
Прямой доступ к nамят"
в м"кроnроцессоре 6800
Для обеспечения ПДП в микропроцессоре 6800 используются
два основных сигнала. Входной сигнал HALТ, вырабатываемый
периферийным оборудованием, фактически является запросом
на ПДП, поступающим на вход микропроцессора. Когда сигнал
HAL Т достигает уровня логического О, микропроцессор 6800
прекращает управление адресной шиной, шиной данных и ли
ниями управления. Отказываясь от управления шинами сксте
мы, микропроцессор выдает сигнал подтверждения ВА, имею
щий уровень логической 1. Тем самым он уведомляет перифе
рийное оборудование о том, что микропроцессор прекратил
управлять всеми шинами системы.
При разработке микропроцессорной системы на базе мик
ропроцессора 6800 для реализации интерфейсных схем, адрес
ной шины, шины данных и. шины управления могут быть ис
пользованы стандартные логические ТТL-схемы. Б этом случае
ТТL-схемы должны обеспечить возможность перевода шин си
стемы в состояние высокого сопротивления. Перевод шин в это
состояние осуществляется по сигналу БА, ,вырабатываемому
микропроцессором 6800. Когда сигнал БА достигает уровня ло
гической 1, а:дресная шина, шина данных и шина управления
переводятся в состояние высокого сопротивления.
При выполнении прямого доступа к памяти в микропроцес
сорной системе •6800 периферийное оборудование должно по- ·
давать на вход HAL Т микропроцессора сигнал уровня логиче
ского О. Когда линия HAL Т переходит в состояние логического
204
Глава 6
О, периферийное оборудование ожидает момента установления
состояния логической 1 на выходе БА микропроцессора 6800.
Когда линия выхода БА устанавливается в состоmше логиче
ск·ой 1, периферийное оборудование может использовать шины
системы, так как они уже находятся в состоянии высоiфго со
противления. После осуществления ПДП периферийное обору
дование снова переводит линию входа HALТ в состояние логи
ческой 1. Так - выполняется операция ПДП в микропроцессор
ной системе, построенной на базе микропроцессора 6800.
6.14.
Выводы
Б настоящей главе мы рассмотрели способы организации пре
рываний, режима ожидания и прямого доступа к памяти в мик
ропроцессорах 8080, 8085, Z80 и 6800. Кроме того, было проде
МО!Iстрировано некоторое аппаратное обеспечение, которое мо
жет быть использовано для выполнения этих функций. Рас
смотренное нами аппаратное обеспечение иллюстрирует част
ные подходы к реализации конкретных сцециальных функций.
Представленные аппаратные средства не являются единствен
ными или лучшими решениями данной задачи. Можно проекти
ровать многие микропроцессорные системы и не используя
информацию, содержащуюся в данной главе. Однако если воз
никнет необходимость проектировать или восстанавливать
микропроцессорную систему, в которой использована хотя бы
одна из рассмотренных здесь функций, то материалы -настоя
щей главы окажутся очень полезными. Кроме того, сведения
о том, как аппаратные средства участвуют в выполнении этих
операций, окажутся полезными при поиске неисправностей в
нем. Причем, если мы не знаем общих принципов функциони
рования аппаратных средств системы во время поиска неис
правностей, безусловно будут возникать затруднения. Основа
тельное знание этого материала позволит без особого напря
жения проводить анализ каких-либо микропроцессорных систем.
Принципы организации прерываний, режима ожидания и ПДП
будут сохраняться; реализация же этих функций в разных
микропроцессорах может быть различной. Изучив материалы
настоящей главы, вы будете хорошо подготовлены для изуче
ния аппаратных средств, реализующих эти функции в других
системах.
Глава 7
ПРОГРАММИРОВАНИЕ
ПЕРЕПРОГРАММИРУЕМЫХ ПОСТОЯННЫХ
ЗАПОМИНАЮЩИХ УСТРОЙСТВ
В гл. 8 будет представлена система, управляемая микропроцес
сором и осуществляющая программирование перепрограмми
руемых постоянных запоминающих устройств (ППЗУ). ППЗУ
используется во многих микропроцессорных системах. Каждый,
кто предполагает серьезно заниматься разработкой микропро•
цессорвых систем и поиском неисправностей в них, должен
_знать, как программируется и стирается ППЗУ. В настоящей
главе мы рассмотрим, каким образом программируется ППЗУ
2708 и как стирается записанная в нем информация.
Обсуждение будем вести на примере ППЗУ 2708, широко
распространенном в настоящее время. Изучив принцщ:1ы прог
раммирования. ППЗУ 2708, будет не трудно понять, как прог
раммируются ППЗУ других типов. Несмотря на то что особен
ности программир9вания конкретных ППЗУ будут встречаться
всегда, общие принципы останутся неизменными.
7.1.
Общие nредставnения о nереnроrраммируемых
ПОСТОJIННЫХ ЭilПОМИНillОЩИХ устройствах
В вычислительных системах ППЗУ используется точно так же,
как и ПЗУ. Основное преимущество ППЗУ заключается в том,
что информация в нем может изменяться. В стандартное ПЗУ
данные записываются во время его изготовления и потом ос
таются неизменными. Любое ПЗУ предварительно программи
руется и будет постоянно содержать фиксированную комбина
цию единиц и нулей. ППЗУ не нуждается в предварительном
программировании и занесении в него данных. Пользователь
сам может занести любую информацию в любые ячейки ППЗУ.
Потом, используя специальное оборудование, пользователь мо
жет замеюrrь данные, хранимые в ППЗУ.
Возможность изменения данных в ППЗУ является главной
причЙной применения этого типа устройств памяти. Когда раз
рабатывается новая микропроцессорная система, первый вари
ант программного обеспечения целесообразно записать именно
в ППЗУ. Затем ППЗУ включается в систему и микропроцессор
может выполнять программу, хранимую в ППЗУ. Если прог
рамму нужно изменить, то ППЗУ отключаются от системы и
206
Глава 7
производится желаемое . изменение содержащейся в нем ин
формации.
Для программировавия ППЗУ и для стирания хранящейся
в нем информации необходимо специальное оборудование. Од
нако это неудобство является незначительным по сравнению с
теми преимуществами, которые предоставляет ППЗУ пользо
вателям микропроцессорных систем.
7.2.
Стнранне ннфорМацнн в nереnроrраммируемых
постоянных ЭilПOMHHillOЩHX устроiiствах
Указывалось, что информация, содержащаяся в ППЗУ, может
быть измене~а. Один способ изменения информации в ППЗУ
.заключается в стирании всех данных, записанных в него ранее.
Стирание информации в ППЗУ 2708 состоит просто в установ
ке всех разрядов ППЗУ в состояние логической l. Это значит,
что после выполнения этой операции чтение данных из ППЗУ
обнаруживает во всех его ячейках только логи~еские 1.
.
·
ФО~•~~
_. ./
Рис. 7.1 . Два различных способа реализации ППЗУ. «Окно»
в каждем модуле пропускает ультрафиолетовое излучение,
которое используется дпя стирания даикьrх в ППЗУ. (С раз•
решения фирмы Intel.)
Существуют различные схемы для выполнения стирания
данных в ППЗУ. Одна из них - источник ультрафиолетового
излучения. Конструкция ППЗУ 2708 в верхней его части пред
усматривает «окно:., через которое ультрафиолетовое излуче
ние может проникать в устройство (рис. 7.1). Чтобы осущест
вить затирание информации в устройстве 2708, следует поме
стить его на определенный период времени рядом с источником
ультрафиолетового излучения. Примерное время очистки
ППЗУ составляет около получаса, однако оно зависит от мно
гих факторов.
Источником ультрафиолетового излучения служит специ
альное устройство. Оно необходимо каждому, кто предполагает
активно использовать ППЗУ. На рис. 7.2 изображена схема ти
пичной установки для выполнения операции стирания данных
в ППЗУ.
Как отмечалось, после выполнения стирания информации
все ячейки ППЗУ находятся в состоянии логической 1. Зная
это, всегда :можно осуществить проверку правильности прове-
Программирование ППЗУ
207
дения операции очистки. Для этого достаточно прочитать •со
держимое каждой ячейки ППЗУ и уб~диться в том, что оио
равно логической 1. Этот частный вопрос будет обсуждаться
в гл. 9, там же будут рассмотрены программные средст~з-а, пред
назначенные ..для управления аппаратными средствами, ирец
ставленными в ГJI. 8. К сказанному добавим, что некоторые
ППЗУ после стирания в них информации содержат во всех
Рис. 7.2 . Схема типичной установ
ки для стирания данных в ППЗУ.
Источник
ультрафиолетового
излучения
~ ----'
/
/!11',
1'
1
1\
ППЗУ 2708 ----п
ячейках логические нули. Поэтому всегда следует ознакомить
ся с техническими характеристиками используемого ППЗУ.
Оставшаяся часть главы посвящается некоторым аспектам
вопроса программирования ППЗУ, т. е. обсуждению того, как
данные записываются й ППЗУ. Запись данных в ППЗУ н.еко
торым образом Qзменяет внутренние характеристики устройст
ва памяти. Именно изменения характеристик приводят к тому,
что в выбранных ячейках памяти запоминаются значения, рав
ные логическому О. Итак, в память могут записываться только
значения, равцые логическому О; запись же логических значе
ний, равных 1, производится лишь при стирании содержимого
памяти с помощью ультрафиолетового излучения.
Процесс изменения внутренних характеристик устройства
2708 называют переносом заряда. При записи информации в
устройство 2708 происходит определенное накоhление зарядов
в кристалле кремния. Таким образом, путем накопления за
рядов в определенной ячейке памяти логическое значение 1 за
меняется на логическое значение О. Когда осуществляется сти
рание информации в ППЗУ, скопления зарядов, образованные
во время записи информации, рассеиваются.
Теперь вы имеете очень поверхностное, но вполне доста
точное для пользователей представление о процессах, происхо
дящих иа атомном уровне в кристалле кремния.
7.3.
Проrраммнрованне ППЗУ 1708
Теперь, ссылаясь на временную диаграмму, рассмотрим после
довательность действий, выполняемых в процессе программи'
роваиия устройства 2708. Пограммирование ППЗУ 2708 за-
208
Глава 7
ключается в записи в него данных по указываемым адресам.
Записываемые данные подаются иа выходы устройства, а ад•
рес, по которому производится запись, устанавливается на ад
ресных входах. Затем на опреде,n.енные выводы устройства по
даются необходимые уровни напряжения. Последовательность
Vва=- 5В, Vcc=+5В,
V00 = -~ 12,0B,.Vss=O,O В
Вывод 20(CSl\\'E) =
+12,ОВ
_Подача
адреса ячейки
навходы А0- А9
Подача данных
на вы-ходы D0 - D
7
Вывод18=26В
Выво:~ 18 = 0,0 В
Рис. 7.3. Блок-схема последова
тельности действий при записи
информации в одну ячейку ППЗУ.
действий, выполняемых при записи данных в ППЗУ, приведе
на на рис. 7.3 в виде блок-схемы.
Временная диаграмма, представленная на рис. 7.4, демон
стрирует врем'енные соотношения между сигналами, отобража
ющими данные и адреса, и импульсами программирования, по
даваемыми на устройство 2708. Как указано в технических ха
рактеристиках устройства 2708, его адресные входы _и входы
данных рассчитаны щ1 стандартный уровень напряжения, уста
новленный для ТТL-схем. Сигнал CS/WE, подаваемый на вы•
вод 20 устройства 2708, в течение времени программирования
устройства 2708 должен иметь уровень +12 В. Импульс прог
раммирования, подаваемый на вывод 18 ППЗУ 2708, изменяет-
Характеристики сигиал:ов, используемых
••
при прогртrмироваиии ППЗУ
Обэначеяие 1
Параметр
I ·Значение
мни. ' 1 тип. 1 махе.
Единица
измерения
tлs
Время установки адреса
10
tcss
Время установки сигнал:,а 10
CS/WE
tns
Время установки данных
10
tлн
Время фиксации адреса
1
tсн
Время фиксации сигнала 0,5
CS/WE
tnн
Время фиксации данных
1
tnp~
Время задержки чтения дан-
ных яз ППЗУ по отношению к
моменту окончания цикл:а про-
граммирования
tpw
Ширина импульса программ и- О, 1
роваliИЯ
tp~
Время переднего фронта ИМ:• 0,5
пульса программирования
tpp
Время заднего фронта импуль- 0,5
са программирования
__
!_из N uиклов проrраммирования.
V1н - ·~. k - --+- - -!r-------bl.r - -1
Адрес
. Адрес О
V1L_., ~..--,.-.-1---11--------+"I
V1н-~ ~-----~~-------+•r-
Данные
ll1t
Импульс
программирован и я
м·кс
мкс
мкс
мкс
МКС
мкс
10
мкс
1,0
мс
2,0
мкс
2,0
мкс
Чтение
(После N uиклов
проrраммироваиюr)
1дсс450нсМА Х'
ОАТА OUT
VALIO
Примечание 1: задний фронт сигнала CSI\VE должен проходить после- прохождения.
_ задн его
фронта программного импульса-и перед подачей кода адреса.
Примечани~ 2: чясла,помешенньiе в круrлые скобки, если особо не оговаривается,
указывают временной интервал, выраженный в мкс.
Рис. 7.4 . Форма сигналов, используемых при записи данных в ППЗУ. (С раз
решении .фирмы Intel.)
14-814
Глава 7
ся от уровня О до уровня 26 В. Он нарастает до 26 В, а затем
,снижается до нулевого уровня для каждой очередной програм-
1t1ируемой, ячейки ППЗУ. При программировании устройства
2708 для записи данных в ячейку с определенным адресом тре
-буется подать один импульс программирования. Таким обра-
CS/WE = 12.0 В
,____
г_~_,,; • , J
----·--
·--·----1
Данные полаю1ся 1
на выходыD 0 -D-J
-г----
Вывод18=+26Вi!
Ожидание от
0,1 до !мс
-------i
Вьшо;r 18 = 0,0 В~
•
~ет
Адс!;ес Да
.
1023
'
/.'----.
Адрес Ао - А9
~ Числ
увеличивается на 1
uиклов =
-- -··
'. МАХ
.
•.?/
~·Да
[_с~оп-]
l
Рис. 7.5 . Блок-схема последовательиости действий, выполняемых при про•
граммировании ЦПЗУ.
зом, при программировании устройства 2708 потребуется вы
полнить 1024 цикла, т. е. столько, сколько имеется в ППЗУ
ячеек.
На рис. 7.5 изображена блок-схема, определяющая после
довательность действ»й, выполняемых в одном цикле програм
мирования ППЗУ 2708.
Анализируя блок-схему, видим, что уровень сигнала
CS/WRITE ENABLE устанавливается равным +1;2 В до того,
Проrрам/11\ирование ППЗУ .
211
как данные будут поданы на выходы устройства. С помощью
этого сигнала выходы устройства 2708 • переводятся в режим
ввода данных. Это действие позволяет предотвратить конфJ1икт
данных, имеющихся на выходах устройства, с записываемыми
в него данными. Кроме того, все разряды вводимых данных по
даются на устройство 2708 паР.аллельно. Одновременно произ
водится программирование восьми разрядов ППЗУ.
7.4 .
Нмпуnьс проrраммироввния ППЗУ 1708
Импульс программирования, подаваемый на устройство 2708.
при уровне в +26 В имеет минимальную длит~льность 0,1 мс
и максимальную длительность, равную 1 мс. Однако фактичес
кое значение ширины этого импульса может быть любым в за
данных пределах. Хотя ширина импульса и может принимать
в указанных пределах произnольное значение, важно, как будет
показано ниже, знать точное значение ширины импульса про-
граммирования.
•
- ,i-+ - --1+- !PR 0,5 МКС
до 2,0 мкс
,
IPF 0,5 мкс
-------
;:(О 2,0 МКС
== +26,0 В
0,0 В
---- -~1;,w__ _ ____ ,
0,1мсдо\.Омс
Рис. 7.6 . Форма импульса программирования для ППЗУ 2708.
Другими важными характеристиками импульса программи
рования являются длительности переднего и заднеl'О фронта.
Эти характеристики должны находиться в пределах от 0,5 до
2,0 мкс. На рис. 7.6 показана форма импульса и указаны его
характеристики. Для программирования устройства 2708, со
гласно спецификац:иям, необходимо обеспечить выполнение
следующего условия: произведение ширины импульса програм
мирования на число циклов, выполняемых при прог·рамм1;1рова
нии памяти, должно быть не менее 100 мс. В любом цикле про
граммирования при переходе к каждой следующей ячейке
ППЗУ подается импульс программирования. Таким образом,
необходимое количество циклов программирования памяти
14•
Глава 7
.можно определить следующей формулой:
100 мс
·
NP = Длительность импульса программирования в мс •
В нашей системе длительность импульса программирования
.равна 0,5 мс. Следовательно, потребуется выполнить следую
щее число циклов:
100 МС
NP= o,s мс ....:.200,
.Если выполнять программирование устройства согласно спепи
.фикациям, то нужно сделать 200 циклов, в каждом из которых
.обрабатываются все ячейки ППЗУ. Можно выполнить и боль
ше чем 200 циклов. При этом только возрастет время програм
мирования. Увеличение количества циклов не улучшает каче
,ства программирования, и поэтому целесообразно выполнять
-количество циклов, определяемое приведенной выше формулой.
·Однако многие пользователи считают, что, чем больше время
nрограммирования ППЗУ, тем выше будет качество програм
мирования. Это ошибочная точк.а зрения, и поэтому следует
придерживаться рекомендованных правил.
В процессе программирования памяти может обнаружиться,
что она уже содержит информацию, которую и предполагалось
.~
нее записать, а предписанное число циклов программирова
ния еще не исчерпано. Например, мы могли убедиться в том,
что уже после 20 циклов вместо 200, рекомендуемых ИJiструк
цией, в памяти содержатся желаемые комбинации О и 1. Од
нако в этом случае во избежание последующего самопроизволь
ного разрушения записанной информации следует продолжать
программирование в течение заданного времени.
Вначале мы упоминали, что изменение внутренних харак
теристик ППЗУ 2708 основано на эффекте накопления заряда.
, Если уже накоплено некоторое минимальное количество заря
да, достаточное для изменения внутренних характеристик
ППЗУ (затраченное при этом на программирование время ока
жется меньше номинального), то рассеивание некоторых заря
дов может изменить состояние памяти, т. е. записанную туда
информацию. Таким образом, если уменьшить время програм
мирования ППЗУ, то во время его использования может про
изойти разрушение хранимой в памяти информации; т. е. вме
сто записанного .логического значения О может появиться логи
ческое значение 1. Следовательно, программировать ППЗУ
нужно всегда в течение предписанного времени.
l(огда накопится заряд, соответствующий номинальному gре
мени программирования, рассеивание некоторых зарядов не бу
дет приводить к искажению информации в ППЗУ, так к;а~ ос
тающееся число- зарядов будет, достаточным для .сохранения
Программирование ППЗУ
213
определенного сьстояния памяти. Не стоит жертвовать надеж
ностью хранения информации в ППЗУ ради ускоруния процес-.
са программирования.
Vаь=-58, Vcc=+5B, V 0 :)=12,0B, V 55 =0 ,CB
_,
Вывод 20(CSiWE) = + 12,0 В
Подача адреса fia входы А 0 - А9
1
Подача данных, подлежащ11х записи по укшанно~,~ адрес>
'
Вывод 18 = + 26 В (в течение 500 мкс)
1
Вывод18=0,0В
Нет
Увеличение
адреса ППЗУ
1 Увеличение
адреса ОЗУ
Чтение
данных ОЗУ
Сброс адреса
ОЗУ
Сброс адреса
ППЗУ
ш11бк,
Рис. 7.7 . Бпок-схема процесса программирования ППЗУ 2708 с использова•
нием ОЗУ. Предполагается, что данные были предварительно записаны в ОЗУ.
В гл. 8 будет_ рассмотрена система, которая реализуется в
соответствии с блок-схемой, представленной на рис. 7.7 . Мы
видим, что данные, предназначенные для записи в ППЗУ, пред
варительно помещаются во внешнее ОЗУ, а уже из ОЗУ пе-
214
Глава 7
редаются на входы ППЗУ 2708. Сравнение содержимого ОЗУ
с данными, читаемыми из ППЗУ, производится, когда требуе
мое число циклов программирования завершится. Если при вы
полнении ер авнения .содержимого всех соответствующих ячеек
ОЗУ и ППЗУ установлено полное совпадение, то, значит, ППЗУ
запрограммировано успешно.
7.5 .
Выводы
В настоящей главе рассмотрены некоторые важные характери
стики ППЗУ 2708 и принципы программирования этого типа
устройства памяти. Материалы, представленные здесь, будут
использованы в следующей главе при проектировании микро
процессорной системы, предназначенной для автоматического
программирования ППЗУ 2708. Зная, как программируется
ППЗУ 2708, вы сможете без большого труда разобраться tJ
особенностях щюграммирования других подобных устройств.
Глава 8
ТЕХНИЧЕС,КИЕ СРЕДСТВА УСТРОЙСТВА
ПРОГРАММИРОВАНИЯ ППЗУ •
В настьящей главе рассматриваются технические средства мик
ропроцессорной системы, используемой для автоматического
программирования ППЗУ 2708. Вопросы программирования
устройства 2708 рассматривались ранее в гл. 7, однако там не
затрагивалась автоматизация этого процесса. Для построения
описываемых систем будут использованы четыре типа микро
процессоров. Вначале рассматриваются системы на базе мик
ропроцессоров 8080, 8085 и Z80; затем обсуждение связано с
системами на основе устройства 6800.
В настоящей главе описывается лишь проектирование тех
нических средств системы. Соответствующие программные
средства будут рассмотрены в гл. 9; В гл. 10 обсуждаются во
просы отладки системы с помощью техники тестирования по
средством статических сигналов.
8.1.
Общее описание системы
Прежде чем обсуждать особенности построения системы, необ
ходимо определитμ_ ее r1резназначение. Основная функция рас
сматриваемой системы заключается в программиррвании ППЗУ
Рис. 8.1 . Структурная схема техниче
ских средств системы автоматизации
программирования ППЗУ.
,тройство
отоб ажения
2708. Однако такое широкое определение функции системы по
рождает ряд вопросов.
Первый из них связан с определением устройства для хра
нения данных для программирования ППЗУ. В качестве по
добиого устройства м~жет быть использовано ОЗУ. Однако при
этом возникает другои вопрос: каким образом эти данные вво
дятся в ОЗУ? Естественным решением является ввод данных
с помощью клавишного пульта.
216
Глава 8
При этом возиикает проблема визуального контроля вводи
мых данных, которая может быть решена путем использования
6-значного шестнадцатеричного табло (устройства отображе
ния).
Теперь, ко:гда уже определены некоторые общие блоки пред
лагаемои системы, необходимо выбрать способы их реализа
ции. Эти блоки поkазаны на рис. 8.1, который отображает об
щую функцию системы в виде этапов: а) ввода данных в ОЗУ
посредством клавишного пульта и б) программирования уст-
ройства 2708 с помощью введенных данных.
••
8.1 .
Специфические функцt,еи системы
Для ввода данных посредством клавишного пульта необходимо
реализовать следующий набор ключей:
1. Ключи данных 0-F .
2. Ключ ввода.
3. Ключ стирания ввода.
4. Ключ установки адреса.
5. Ключ стирания ОЗУ.
6. Ключ программирования.
7. Ключ верификации (V,FY).
8. Ключ копирования.
9. Ключ сброса системы.
Ниже определено назначение этих ключей.
КЛЮЧИ ДАННЫХ: шестнадцать ключей, испольауемых
для ввода данных в систему и обозначаемых как 0-F .
КЛЮЧ ВВОДА: используется для «уточнения» вводимых
данных путем их сверки.
КЛЮЧ СТИРАНИЯ ВВОДА: используется для стирания
данных, введенных с помощью ключей данных, либо для сти
рания установленного адреса.
КЛЮЧ СТИРАНИЯ ОЗУ: подготавливает к работе внут
реннее ОЗУ путем установки единичных значений данных.
КЛЮЧ ПРОГРАММИРОВАНИЯ: переводит систему в ре
жим программирования, при котором данные из ОЗУ переда
ются в устройство 2708, с высвечиванием соответствующей ин
дикации режима на табло. После нажатия этого ключа останов
работы системы возможен лишь путем нажат.ия на ключ еброса.
КЛЮЧ ВЕРИФИКАЦИИ (VFY): при нажатии этого ключа
производится сравнение данных в устройстве 2708, размещен
ном на панели, с данными, хранимыми в ОЗУ. При обнаруже-'
нии несовпадения •на табло высвечивается адрес и значения
данных в ППЗУ 2708.
,
КЛЮЧ КОПИРОВАНИЯ: при нажатии этого ключа осуще
ствляется дублирование данных из ППЗУ 2708 на панели во
внутреннее ОЗУ. Этот режим используется для получения иден
тичных ППЗУ (на основе уже имеющихся).
Технические средства устройства проrрjtмм.мрования ППЗУ 217.
КЛЮЧ СБРОСА: при нажатии ключа прекращается .выпол
некие очередной команды и начинается выполнение программы
инициализации.
При включении система выполняет ту же последователь
ность команд, что и при нажатии ключа сброса.
8.3.
Всnомоrатеnьные технические средства
Теперь, когда стало ясно предназначение системы, можно при- •
ступить к проектированию аппаратуры, реализующей рассмот
ренные функции.
Для штатного устройства 2708 в режиме чтения, когда по
следнее функционирует подобно ПЗУ, необходимы напряжения
12, 5 и -5 В. При работе в режиме программирования необ
ходимо дополнительно обеспечить импульс программирования
напряжением 26 В. Поэтому для работы устройства требуют
ся уровни напряжения в 26, 12, 5 и -5 В. Используемые в си
стеме ТТL-схемы также требуют напряжения 5 В при номи
нальном токе, величину которого нетрудно вычислить. Сущест
вует большое число источников питания с напряжением 5 В,
которые можно использовать в системе. Остановимся на источ
иике, обескечивающем ток 3 А при напряжении 5 В.
Для напряжения. -5 В характерна малая величина тока,
обычно порядка 200 мА. Иэ технических характеристик устрой
ства 2708 видно, что наибольший ток для Vвв составляет 60 мН.
Предполагается, что в системе будут использованы три таких
устройства: два для управления системой и одно для программи
рования. Кроме того, необходимо предусмотреть возможность
расширения системы. Поэтому расчеты следует проводить для
• четырех ППЗУ 2708. При этом наибольший ток для Vвв будет
составлять 4Х60=240 мА. Следовательно, выбирается стан
дартный источник, обеспечивающий при -5 В ток силой
500 мА.
,
От напряжения 12 В должны питаться два устройства 2708,
управляющи€ системой, и программируемое устройство. Если
рассчитывать иа расширение системы до 4 устройств, исполь
зуемых для управления, то с учетом программируемого устрой
ства источник в 12 В должеы обеспечить ток 5Х65=325 мА.
Здесь значение 65 мА представляет «наихудший случай» для
тока IDD в соответствии с техническими характеристиками уст
ройства 2708.
Поскольку для программирования необходимо 26 В, то на
пряжение 12 В можно обеспечить с помощью регулятора от ис
точнnка в 26 В. Наибольшая величина рассеиваемой мощности
для такого регулятора определяется как (26 В-12 В) XIDo
(системы) и составляет Ро= 14 ВХ325 мА-4,55 Вт.
В качестве регулятора используем устройства LM340C-12 .
Получение требуемых н_апряжений показано на рис. 8;2.
218
Глава 8
При использовании микропроцессора 8080 значения тока
при напряжении 12 В и -5 В повышаются, поскольку такто
вый генератор 8224 также потребляет 12 В.
Промышленность выпускает целый ряд источников питания
с различными значениями напряжения и тока. После оценки
потребностей системы обычно можно подобра·ть один из таких
источников, обеспечивающий требуемые спецификации. Если
же про~_ктировши~ намерен создать свой собственный источник
11сточ1ш~
1111 Г3JJIIЯ
+26
- 1-5
--
5
--н-
t 128
111,1х~н
-·
-~
J_
Рис. 8.2 . Схема подачи питания в системе.
t26B
+12rJ
:.,
,,
:,
>'J
~
.!.
+;,В
-sв
питания, то при разработке его· можно испощ,зовать регулято
ры напряжения с тремя зажимами. Однако предпочтительнее
-
все же применять готовый источник.
8.4 .
Кnавиwное устройство ввода-вывода
Для построения клавишного устройства используем техниче
ские средства, описанные в гл. 4. Схема устройства, рассчитан
ная на 24 ключа, представлена иа рис. 8.3. Реализованы следу
ющие ключи:
16 ключей данных (для набора цифр от О до F1в)
1 ключ ввода
•
!
1 ключ стирания ввода
!' ключ установки адреса
1 ключ стирания ОЗУ
1 ключ программирования
Функциональные ключи
1 ключ вер,ификации
j
1 ключ копирования
1 ключ сброса системы
Итого 24 ключа
Ш
~
l
W
I
R
Ь
,
X
B
D
r
-
+
-
-
-
-
_
_
,
,
:
~
:
~
в
ь
.
B
D
3
B
D
2
B
D
1
8
D
0
_
_
.
_
_
.
.
;
7
4
L
S
2
0
в
д
,
в
д
.
В
д
,
8
А
4
В
д
,
1
3
В
д
,
1
2
В
д
,
~
К
о
д
в
ы
б
о
р
а
В
А
0
~
9
п
о
р
т
а
-
"
F
E
"
,
с
н
r
н
а
л
в
ы
б
о
р
а
п
о
р
т
а
и
м
е
е
т
з
н
а
ч
е
н
и
е
л
о
г
и
ч
е
с
к
о
г
о
О
7
4
L
S
0
4
r
c
,
B
!
O
R
в
ю
W
Ш
и
н
а
у
п
р
а
в
л
е
н
и
я
8
I
O
W
!
С
З
+
6
+
6
+
Ь
•
а
'
R
5
-
'
-
7
4
L
S
3
6
7
С
о
4
,
7
к
0
м
4
,
-
,
,
/
,
/
,
/
,
/
'
с
-
-
-
+
,
З
t
\
.
f
4
с
,
с
,
1
,
1
5
)
.
в
1
1
~
Ч
т
е
н
и
е
t
Г
R
2
C
•
R
3
C
4
н
,
с
.
R
4
C
1
R
4
C
2
R
4
С
з
R
4
C
4
R
4
К
л
а
в
1
1
Ш
П
Ь
1
i
1
п
у
л
ь
т
,
н
о
м
е
р
п
о
р
т
а
р
а
в
е
н
"
F
Е
"
1
1
-
&
Р
и
с
.
8
.
3
.
П
о
л
н
а
я
с
х
е
м
а
и
н
т
е
р
ф
е
й
с
а
к
л
а
в
и
ш
н
о
г
о
п
у
л
ь
т
а
с
и
с
т
е
м
ы
.
П
у
н
к
т
и
р
н
о
й
л
и
н
и
е
й
в
ы
д
е
л
е
н
ы
ф
и
з
и
ч
е
с
к
и
е
п
е
р
е
к
л
ю
ч
а
т
е
л
и
п
у
л
ь
т
А
.
220
Глава 8
Ключ сброса системы не входит в наборную. матрицу. Функ
ция сброса не синхронизирована с другими функциями и реа
лизована с помощью отдельf{ого переключателя, тип и располо
жение которого . описаны ниже при рассмотрении технических
средств системы в целом.
8.5. •
Технические средства устройства отображения
Будем использовать то же самое устройство отображения, ко
торое было рассмотрено в гл. 4. Принципиальная схема этого
устройства приведена на рис. 8.4 .
8,6.
Постоянная память системы
Постоянную память системы можно построить путем использо
вания ППЗУ 2708 со стиранием информации. Для реализации
всех команд системы применяются два устройства 2708; одна
ко при проектировании системы для обеспечения возможности
ее расширения предусматривается наличие четырех ППЗУ 2708.
В ПЗУ системы принято следующее распределение памяти:
Адресное пространства
0000-0ЗFF ПЗУ О
0400-0?FF ПЗУ 1
0800-0BFF ПЗУ 2
OC00-0FFF ПЗУ 3
} В этих ПЗУ хранятся про-
граммы
'
} Данные ПЗУ не используются,
-
а предназначены для pacuiиpe- - •
НР,Я системы
8.7.
Оперативная память системьr
Хранение данных для программирования устройства 2708 осу
ществляется в ОЗУ объемом 1 К (1024 байт). Для работы мик
ропроцессора необходима дополнительная память ОЗУ, чтобы
разместить «стек» и временно запомнить данные. Используемое
в системе ОЗУ состоит из четырех устройств статической щ1мя
ти 2114 объемом 1 К. Два из этих устройств включают ОЗУ,
1 К Х 8. Ниже приведено распределение памяти ОЗУ системы:
Адресное пространство
1000-IЗFF
Память системы, используема~
микропроцессорам •
1400-1 ?FF
Память системы, предна·значенная
для ираграммирования 2708
1800-lBFF
Не используется, память предна
значена для возможного расшире
ния системы
Отметим, что как для ПЗУ, так и для ОЗУ дополнительный
объем закла.п:ывается при проектировании. Это позволяет лег-
В
с
е
у
с
т
р
о
й
с
т
в
а
о
т
о
б
р
а
ж
е
и
И
:
я
-
Н
Р
5
0
8
2
-
7
3
4
0
·
+
5
+
5
+
5
+
5
+
5
+
5
7
6
5
4
1
7
6
5
4
7
·
6
5
4
7
6
5
4
7
f
,
5
4
l
l
7
6
5
4
1
-
=
-
~
3
2
1
8
3
2
1
8
3
2
1
8
3
2
1
8
3
2
1
8
I
C
1
!
С
2
!
С
3
8
4
2
1
_
.
-
К
о
д
1
9
1
6
1
5
1
2
В
6
5
2
1
9
1
6
1
5
1
2
;
8
6
5
2
1
9
1
6
1
5
1
2
8
6
,
5
2
\
7
4
L
S
3
7
4
1
7
4
L
S
3
7
4
1
1
7
3
L
S
3
7
4
1
8
1
7
1
4
1
3
9
7
4
3
-
=
-
1
8
1
7
1
4
1
3
'
9
7
,
4
3
-
=
-
1
8
1
7
1
4
1
3
9
7
4
3
,
-
.
<
.
D
I
J
)
•
1
1
М
N
-
О
,
-
.
<
.
D
i
r
,
-
s
-
•
1
1
М
<
"
'
<
_
О
,
-
.
(
,
(
)
I
J
)
V
1
1
.
.
.
,
N
~
О
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
О
О
О
~
0
0
0
0
а
:
)
C
D
а
:
)
C
D
C
D
a
J
/
Q
)
C
D
Q
)
а
:
)
а
:
)
C
D
Q
)
Q
)
a
J
a
J
а
:
)
а
:
)
а
:
)
C
D
C
D
а
:
)
а
:
)
а
:
)
6
8
1
1
I
C
,
(
\
"
F
2
"
I
C
4
"
F
1
"
r
c
.
"
F
O
"
6
7
4
2
0
1
!
С
,
В
А
7
В
А
6
В
А
5
8
А
4
В
А
3
В
А
2
В
А
1
В
А
0
!
С
5
8
D
7
8
[
\
8
D
5
8
D
4
8
D
3
B
D
2
В
0
1
8
D
0
р
щ
:
.
~
Ц
.
р
·
о
щ
щ
я
c
x
e
t
4
a
f
С
Т
р
а
й
с
ц
а
о
т
о
б
р
а
~
~
Н
!
I
Я
_
C
l
'
l
~
~
M
t
i
\
1
.
в
ю
w
222
Гл11ва 8
ко присп·особиться к изменениям, которые могут возникнуть в
будущем. Отметим также, что распределение памяти, показан
ное для ПЗУ и ОЗУ системы, испсr.льзуется лишЬ- в случае при~
менения микропроцессоров 8080, 8085 и Z80. Для микропроцес•
сора 6800 требуется другое распределение памяти вследствие
особенностей интерпретации функции сброса. Реализация си
стемы, использующей устройство 6800, обсуждается ниже.
8.8 .
Интерфеiiс проrраммирования 2708
Рассмотрим, какие средства необходимы для обеспечения по
ступления на вход требуемой информации для программирова
ния устройства 2708. Это устройство имеет 10 адресных линий.
Адресные лин11и
ППЗУ
j 74LS374
11
t
8 РАо
2
3
ВО0 !Сз
РА1
7.
5
4
во,
6 РА2
6
7
ВО2
5 РАз
9
8
В03
4 РА4
12 13
во.
3 РА5
15 14
ВО5
2
РА6
16 17
В06
ППЗУ
РА7
19 18
ВО7
2708
!Cg-----
47кOм
+5
23
РА8
2
4
В00
РА9
7
5
во,
22
rc,o-
74LS175
9
3
t!С4
Рис. 8.5 . Схема выдачи адреса на программируемое ППЗУ.
Лредставwм_подачу адреса на устройство 2708 с помощью двух
-отдельных выходных портов. Один из них предназначается для
.адресных входов Ао-А1, другой - для входов As, и Ag. Для ре-
Технические средств11 устрс»йства программирования ППЗУ 223,
ализации этих портов используем В-разрядный фиксатор,
74LS374 и 4-разрядный фиксатор }4LS1,75. Адреса этих уст
ройств будут соответственно ОО1е и 011 6, где ОО1е относится к;
адресным линиям А0-А1, 0l 1e - к линиям А8-А9 устройства,
2708.
Технические средства, необходимые для реализации описан"
ной функции адресования, приведены на рис. 8.5 .
8.9.
Технические средства ввода
и вывода данных
Для программирования ППЗУ 2708 необходимо подать инфор
мацию на выводы данных. Для проверки правильности програм-
мирования устройства 2708 данные считываются из ППЗУ_
8/
8
-- ---- -~
8
1
1
1
1
1
L_
а
Устройство с З состояниями
8
"':.
~8
~
"' -- --,
:,:
1
3:
8
1
1
L_______...
___
_
б
8
8
____ .,.
8
Рис. 8.6. Схема передачи данных из системы в программируемое ППЗУ (а);
схема передачи данных от программируемого ППЗУ в систему (б).
Таким образом, в отдельные промежутки времени данные счи
тываются, в другие - записываются в ППЗУ 2708. Для ввода
данных в устройство 2708 используется системный адрес выво
да 021е, для В!>JВода - сnстемный адрес ввода 02 16 •
При подаче данных в ППЗУ и при чтении данных из ППЗУ
необходимо отделить их от данных на выходах устройства. ·это,
показано на блок-схемах рис. 8.6, а и б.
_
_
m;;
74l532
-5 +5 +12
1
3
74LS374
iПow" 2
11
!Сз
-=-
12212419
ВО0
PD5
3
2
во,
4
5
РО1
f'Qo
9
во,
6
PD2
PD1
10"
вq,
в
9
PD3
Р02
11
во,
13 12
Р04 !С5
РО3
Программируемое
ВО5
PD5
РО4
13 устройство
14 15
14
270В
во.
17 16
РО6
РО5 15
BD,
1В 19
РО1
PD6
16
PD7
17
74LS367
ВО0
3
2
PD0
во,
4
PD1
во,
6
PD1
во,
PD3
1с6
910
во,
11 12
РО4
ВО5
13 14
PD5
~4
6
8IOR
5
!С3
во.
PD6
2
во,
4
PD,
!С,
----~6
о JJaflllЫC к ППЗУ
1" данные 01 ППЗУ
2D
о
DENA
SEL2 10
74LS74
в
3с
вюw
9
IC3
IC8
R8 4,7 кОм
+5
Рис. 8,7. Полная схема реализации дв~аправленной передачи данных для
программируемого ППЗУ. Принцип- работы схемы показан на рис. 8.6 .
Технические средства устройства l'!роrраммирования ППЗУ 225
Чтобы не допустить взаимосвязь технических средств бло
ков А и В на рис. 8.6, а и б, необходима линия управления, оп
ределяющая состояния чтения и записи данных-· ,цля устройства
2708. Для микропроцессорной системы эта _линия будет играть
роль устройства вывода. Код выбора вывода для этого устрой
ства есть 03 16 . На рис. 8.7 показана схемная реализация опи
санной функции управления.
8.10.
Средства формирования имnуnьса
. nроrраммирования
Уровень напряжения .для импульса программирования на вы
воде 18 ППЗУ 2708 меняется от +26 В до О В. Продолжитель
ность импульса составляет примерно 0,5 мс. Сигнал управле
ния изменением уровня импульса программирования (от высо
кого +26 В до низкого О В) должен соответствовать уровню
ТТL-схем. Это отражено на рис. 8.8, а и б.
Из рис. 8.8, б следует необходимость построения схемы сдви
га уровня напряжения от уровня TTL до +26 В. Микропроцес
сор выдает соответствующим образом синхронизированный -
ТТL-импульс для управления импульсом программирования. На
рис. 8.9 приведена схема генерации импульса высокого уровня,
в которой· в качестве разрешающего ·сигнала используется
ТТL-сигнал управления. Сигнал БNABLE является дополняю
щим для разрешающего ТТL-сигнала. Ниже будет рассмотрена
генерация сигналов-:разрешения и ENABLE. Если сигнал раз
решения на рис. 8.9 соответствует логической 1, то сигнал на
выводе 2 инвертора со свободным коллектором 7406 соответст_.
вует логическому О. В результате в цепи источника 26 В через
резисторы ,R1 и R2 на землю проходит ток. В этих условиях от
крывается транзистор Т 1 , так что потенциал коллектора стре-
мится к +26 В. Уровень сигнала ENABLE соответствует логи
ческому_ О. Вывод 4 устройства 7406 выступает как свободный
коллектор. В результате чего потенциал точки 4 повышается
до +26 В. Временем нарастания импульса управляет резистор
Rз и конденсатор С1.
Положим, что разрешающий сигнал рис. 8.9 соответствует
логическому О. Это будет означать, что сигнал ENABLE соот
ветствует логической 1. Вывод 2 инвертора 7406 будет открыт
вследствие подачи сигнала логического О от линии разрешения.
Поэтому транзистор Т1 закрывается. Сигнал на выводе 4 ин
вертора }406 соответствует логическому О при сигнале 1• на
входе ENABLE.- В
результате потенциал вывода А соответст
вует О В. При этом время спада выходного импульса управля
ется ре3истором· R4 и конденсатором С 1 . Из изложенного ясно,·
каким обрамм схемы TTL управляют генерацией импульса
программирования +26 В.
15-814
а
б
0.5 мс
+268
Сдвиг
уровня
Импульс
программировани,r
Импульс управления
Импульс
программировани,1
Рис. 8,8. Временная диаграмма формирования импульса программирования
высокого уровня напряжения в сравнении с управляющим ТТL-импум.
сом (а); схема сдвига уровня, осуществляющая преобразование ТТL-импуль
са управления в импульс программирования высокого уровня, необходимый •
для программирования ППЗУ (б).
Импульс
-----
управления /
7406
ENABLE
+26.О В
R 1 6600,\1
R, iкО\1R.
1
J 100Oм
·0
и,,,пульс
--- --~
программирования
R4 27Oм
ENABLE
Рис. 8.~.
Полная схема сдвига уровня, построеииая иа основании блок-схе
мы рис, 8.8, б.
Тех:нические средства устроRства программировани'! ППЗУ· 227
8.11 .
Средствв уnравnения уровнем напряжения
на выводе CS/WE
•
При программировании ППЗУ 2708 вывод 20 CS/WE должен
быть соединен с источником + 12 В. При этом уровень напря
жения также должен быть ТТL-управляемым. Используем тот
же подход, что применялся при генерации импульса програм
мирования. Соответствующая схема приведена на рис. 8.10.
Отметим, что потенциал эмиттера на схеме для транзистора
Т2 соответствует +12 В. При этом отсутствует конденсатор
для .контроля времени нарастания и спада сигнала.
Импульс
управления
для
CS/WE
+12,ОВ
R, 660Oм
R, 1~Ом Rз
7406
1
~
/
ENABLE
R4
1
7404 / 7406
ENABLE
т,
100Ом
0
CS/WE
27Oм
Рис. 8.10. Полная схема генерации сигнала CS/WE+l2 В для программи
руемого ППЗУ.
Таким образом, было показано, как генерируются сигналы
и импульс программирования. ];>ассмотрим т~перь, как 'микро
процессорная система управляет разрешающими сигналами
этих схем. С этой целью указанные схемы рассматриваются
как устройство вывода, имеющее адрес 04 16 • Управление им
пу.дьсом программирования осуществляется посредством разря-
да D0, а управление импульсом CS/WE - посредством разряда
D1, Схема подобного устройства вывода приведена на рис. 8.11 .
8.12.
Источник питания дпя ППЗУ 2708
Для программирования ППЗУ 2708 необходимо обеспечить по
дачу nостояного напряжения +12 В на вывод 19, +:S В на вы
вод 24, -5 В на вывод 21 и О В (заземление) на вывод 12.
С9ответствующие уровни напряжения должны быть подведе
ны к панели прогр~ммирования. К каждому из указанных вы-
15•
228
9
10
-г.nава 8
-5 +5 +12
12212.419
8
7
6
5
11 Программи- 4
13 руемое уст- 3
ройство 2708
14
2
15
16
17
23
22
18
20
Импульс CS/WE
nрограмм11
рования
+12 В
660
2
1кOм
.R2
4
+26В
R4 660
а,
Ra 100
27Oм 8
0,01 мкФ3⁄4 С1 _
7406
74LS175
2
8D0
а, о,
4
1с, 2
Шина
данных
1с"
3
3
о,
-
7
во,
02 D2
5
6
02
IC12
Рис, 8.11 . Полная схема интерфейса системы с программируемым ПЗУ для
импульсов программирования иCS/WE.
водов необходимо подеоединить • блокировочный конденсатор
емкостью 0,1 мкФ, другая обкладка которого заземляется.
, 8.0.
Соединение панеnи проrраммировани,- с системс»i
Схемная реализация интерфейса ППЗУ с микропроцессорами
8080, 8085 или Z80 приведена на рис. 8.12 . На этом рисунке не
показаны схемы клавишного пульта или устройства отображе-.
ния.
,
.
Щ
7
4
L
S
З
2
1
-
5
+
5
+
1
2
L
r
-
-
-
.
3
~
,
j
§
o
m
s
В
А
з
5
В
А
2
1
3
4
в
В
д
1
4
~
2
8
А
о
5
1
~
I
C
2
-
в
i
O
R
"
_
в
,
о
w
R
1
-
R
8
3⁄4
В
т
.
:
!
:
5
%
+
5
"
О
О
О
;
;
;
о
"
t
-
>
,
N
"
'
=
о
;
:
;
;
.
.
~
1
5
;
:
;
;
.
.
.
6
"
u
1
6
"
'
~
1
7
а
~
·
r
:
:
i
.
,
.
,
J
:
:
>
,
1
8
2
0
н
:
ы
е
к
П
П
З
У
.
8
1
=
д
а
н
н
ы
е
о
т
П
П
З
У
-
r
-
-
r
-
i
~
§
'
=
t
J
=
~
~
·
Е
=
'
~
:
~
~
(
\
0
1
.
.
.
.
.
.
:
м
к
Ф
~
~
1
7
4
0
6
Р
и
с
.
8
.
1
2
.
П
о
н
а
я
с
х
~
а
1
1
1
1
-
r
е
р
ф
е
й
с
а
П
П
З
У
с
ш
н
н
·
а
м
н
а
д
р
е
с
н
о
й
,
д
а
н
н
ы
х
и
у
п
р
а
в
л
е
н
и
я
с
и
с
т
е
м
ы
.
i
1
\
230
8.14 .
Глава 8
Исnоnьзование микропроцессора 6800
в качестве уnравnяющеrо устройства
При исnользовании микропроцессора 6800 требуется иное, чем
в случае микропроцессоров 8080, 8085 или Z80, распределение
памяти. Такое распределение памяти приведено на рис. 8.13.
Его особенность заключается в том, что при сбросе системы· ис
пользуются данные с адресами FFFE и f!FFF. Поэтому для
ПЗУ отводится верхняя часть адресного пространства.
FCOO-FFFF
ПЗУ 1
F800- FBFF
ПЗУ0
F400-F7FF
ПЗУ2
F000- F3FF
ПЗУ8
ЕСОО·- EFFF
ОЗУ1
E800-EBFF
ОЗУ2
} Программы
системы
Не используется
Не используется
Системное ОЗУ
ОЗУ данных для
граммирования
E400-E7FF
EOO0-E3FF
ОЗУ8
Не используется
Системный ввод-вывод
про-
~нс. 8.13. Распределение памяти для системы, использующей микропроцес
сор 6800 в качестве контроллера.
Адресация ввода-вывода построена по аналогии с обращени
ем к памяти. Операция ввода-вывода выполняется при выбор-'
ке адреса, находящегося в промежутке ЕООО и E3FF. Все коды
выбора ввода-вывода можно оставить такими, каюими они бы
ли приняты для системы 8085. Для ус1сройства отображения ре
зервируются адреса E0F0, EOFl, EOF2 вместо FO, Fl, F2, приня-
тых для системы 8080.
-
На рис. 8.14 показана генерация сигналов выбора памяти.
Здесь же приведен сигнал Ю/М, также используемый для фор
мирования шины управления. Схема шины управления пред
ставлена на рис. 8.15. Отметим, что генерирование используе-
мого здесь сигнала 1O/М показано на рис. 8.14. Кроме· того, от
метим, что уточнение некоторых сигналов линии управления
осуществляется посредством тактового генератора фазы 2. Пол
ная схема системы 6800 представлена на рис. 8.16; 8.17 и 8.18.
8.15.
Выводы по техническим средствам
В данной главе были описаны технические средства, необходи
мые для построения системы, управляемой микропроцессором.
Рассматриваемая . система предназначалась для программиро
вания ППЗУ. Однако при обсуждении особенностей проекти- •
рования этой системы были рассмотрены стандартные приемы
построения интерфейса, применимые к любым системам, управ
ляемым микропроцессором.
Был представлен и обсужден полный состав схем, нео~хо
димых для построения устройства программирования ППЗУ с
74LS04
74LS42
ВА 14
2
"О"
о
2
.. ,..
ВА 15
"2"
ПЗУ0
с
з
4
"З"
ПЗУ 1
ВА 11
"4"
Ввод-вывод
в
5
ОЗУ3
"5''
6
ОЗУ2
ВА 10
"6"
А
а
"7"
ОЗУ 1
Рис. 8.14 . Схема rенера-
ции кодов выбора уст-
A1s
А14 А11 Аю
ройства для СJИстемы
6800. Необходимо обра-
тить внимание на rенера-
о
о
цию сигнала разрешения
1
о
1
ввода-вывода.
1
1
о
1
1
о
о
о
о
о
о
1
о
о
б
От устройства 680()
ю/м
VMA
7408
1\2(ПL)-.-------1г---t-----t-----::-t
Рис. 8.15. Полная схема
реализации сигналов ши
ны управления систе-
мы 6800.
R/W
Функция
ПЗУ3
ПЗУ2
ПЗУ0
ПЗУ1
В/В
ОЗУ3
ОЗУ2
ОЗУ1
Состояние
устройства
74LS42
о
1
2
3
4
5
6
7
s,
47
ксi~
+s
39 тsс
1 vss
21 vss
34 R/W
9Ао
Юf-'А,,______;:!.1
111-------' s!
121-:-- -- -'~
13А
14
15 Ав
1s1-·----'::J
17·1 -- -- -- -"'
181-----4 '1
191-,·- - - - -'o,j
2Q~l1---- ""
22А12 ___~
2з1-·___..,;:ч
241-, · ,----~
25 А,5, ____.,а:,
!0/М(см.
рис.8. 17 )--+ -+ -- -- - . . ,::.:::,
Bg~}i.
:,;
•
~~
•
"'"
.
:,;;.
.
:s: ~
во,su
Направление
передачи
данных
1=~
О= ----
BIOW
Рис. 8.16. Полная схема испоJ1ЬЗоваН1Ия микропроцессора 6800 в качестве
контроллер.а системы автоматического программирования ППЗУ.
Ш
Ш
i
а
д
а
н
н
ы
х
с
и
с
'
i
е
м
ы
'
П
З
У
О
П
З
У
1
П
З
У
2
П
З
У
3
\
"
•
0
0
0
0
-
0
З
F
F
0
4
0
0
-
0
7
F
F
,
0
8
0
0
-
0
B
F
F
O
C
O
O
-
O
F
F
F
•
2
7
0
8
2
7
0
8
2
7
0
8
2
7
0
8
В
А
о
А
о
D
o
B
D
o
В
Д
О
д
о
D
o
B
D
o
В
А
-
А
о
D
o
B
D
o
В
А
~
о
D
o
B
D
o
.
в
о
,
в
о
'
"
в
о
о
В
А
1
А
1
D
1
1
1
В
А
,
д
1
D
1
1
В
А
,
А
,
о
,
.
1
В
А
,
А
,
D
,
A
D
1
.
{
8
D
7
В
А
В
д
g
D
1
A
g
C
S
1
8
"
2
о
_
c
s
{
-
=
-
6
,
7
4
L
S
3
2
8
D
7
D
1
B
D
7
8
А
9
7
4
L
S
3
2
M
E
M
:
s
o
2
!
,
,
~
!
1
4
!
1
·
-
-
~
1
В
А
1
0
[
~
в
л
,
,
r
,
з
В
А
1
2
В
д
,
з
7
4
L
S
4
2
А
д
р
е
с
н
а
я
ш
и
н
а
М
6
1
M
S
2
м
s
з
~
:
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
а
К
о
н
ф
и
г
у
р
а
ц
и
я
в
ы
в
о
д
о
в
V
c
a
~
S
B
A
s
A
g
~
.
-
s
в
C
S
/
W
E
V
+
1
2
В
П
р
о
г
р
а
м
м
O
s
'
.
0
7
0
5
0
5
4
Р
в
е
.
8
.
1
7
.
П
о
J
I
Н
а
я
с
х
е
м
а
и
н
т
е
р
ф
е
й
с
а
П
З
У
с
н
,
с
т
е
м
ы
•
п
р
к
и
с
п
о
.
п
ь
э
о
в
а
и
и
и
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
а
6
8
0
0
J
t
к
а
ч
е
с
т
в
е
к
о
н
т
р
о
м
е
р
а
с
и
с
т
е
м
ы
.
Технические средства- устроЯства программирования . ППЗУ 235
использованием микропроцессоров четырех различных типов.
Если читатель уяснил особенности взаимодействия технических
средств системы с микропроцессором, то задача проектирова
ния любой другой системы, реализующей другие функции, пред
ставит лишь еще один вариант использования тех же приемов
и методов.
В гл. 9 будет рассмотрено программное обеспечение, пред
назначенное для управления техническими средствами, при
веденными в данной главе. И в завершение в гл. 10 обсужда
ются вопросы отладки системы в случае неправильного ее
функционирования.
О
З
У
l
А
д
р
е
с
н
а
я
ш
и
н
а
E
C
O
D
-
E
F
F
F
А
д
р
е
с
н
а
я
ш
и
н
а
А
о
-
А
9
2
1
1
4
2
1
1
4
(
с
м
.
р
и
с
.
8
,
1
6
)
~
g
o
J
1
4
д
о
д
о
5
5
1
1
3
6
е
D
2
1
2
7
D
з
1
1
4
4
3
3
2
2
м
Е
М
W
(
с
м
.
р
и
с
.
8
.
1
6
)
м
ё
М
R
М
Е
·
:
:
:
-
.
в
ы
.
.
.
.
.
_
;
п
а
r
.
.
.
.
.
.
.
1
:
>
.
u
"
(
"
\
=
o
i
:
i
.
:
:
i
~
7
4
L
S
3
2
в
\
.
1
'
1
•
,
c
s
Ш
и
н
а
•
д
а
н
н
ы
х
.
D
0
-
D
,
о
т
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
а
(
с
м
.
р
и
с
.
8
.
1
6
)
1
4
D
4
г
.
:
:
-
-
-
8
ы
б
о
р
п
а
м
я
т
и
M
E
M
W
(
С
М
-
L
.
.
.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
;
-
-
-
-
-
р
и
с
.
8
.
1
6
)
2
(
с
м
.
р
и
с
.
8
.
1
7
)
1
А
о
-
А
9
2
1
1
4
,
,
.
.
g
:
:
1
4
Д
1
3
~
1
2
~
1
1
Ш
и
н
а
д
а
н
н
ы
х
·
D
0
-
D
7
о
т
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
а
О
З
У
2
E
B
D
D
-
E
B
F
F
А
о
5
А
6
\
1
~
4
;
;
2
.
А
,
_
?
1
1
4
0
5
А
1
6
-
7
4
.
3
2
1
7
1
6
A
g
\
1
5
8
c
s
1
4
1
D
4
1
3
5
1
2
D
o
1
1
D
'
0
W
ё
Р
и
с
.
8
.
1
8
.
П
о
п
н
а
я
с
х
е
м
а
и
н
т
е
р
ф
е
й
с
а
О
З
У
с
и
с
т
е
м
ы
п
р
и
и
с
п
о
п
ь
з
о
в
а
н
и
и
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
а
6
8
0
0
в
к
а
ч
е
с
т
в
е
к
о
и
т
р
о
п
п
е
р
а
с
и
с
т
е
м
ы
.
Глава 9
ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ ДЛЯ УПРАВЛЕНИЯ
МИКРОПРОЦЕССОРНОЙ СИСТЕМОЙ
/
В настоящей главе будет рассмотрено программное обеспече
ние, иеобходи.,~:ое для управления техническими средствами си
стемы, описанными в гл. 8. Каждая функция программного
обеспечения будет проиллюстрирована блок-схемой. Для мик
ропроцессоров 6800 и 8085 соответствующие блок-схемы рас
крываются до уровня объектного кода. Для каждого микропро
цессора приводятся полные распечатки программ.
После изучения предлагаемого материала читатель сможет
самостоятельно разраб~тывать программы управления микро
процессорной системой. Целью проводимого обсуждения ямя
ется разбор коикретиых решений по разработке программ пу
тем установления взаимосвязи между окоичате.лъной реализа
цией программы и выполняемыми машиной функциями.
.
.
9.i .
Начаnьныii атаn
Прежде чем мы сможем писать какие-либо программы~ необхо
димо выяснить некоторые предварительные вопросы. Прежде .
всего необходимо выяснить, как программное обеспечение си
стемы будет размещено; далее следует выяснить, как инициала•
зируются технические средства или как они устанавливаются в
начальное состояние при включении питания. Рассмотрим эти
вопросы более подробно.
Структура размещения программного обеспечения представ
ляет собой отображение всего адресного пространства и соот• •
ветствующих функций каждого блока адресного пространства
.системы. Это первый уровень структуры размещения. программ
ного обеспечения. Размещение для системы, описанной в гл. 8,
приведено иа рис. 9.1. Как видно, рис. 9.1 дает точную картину
адресов памяти и устройств ввода-вывода, используемых мик
ропроцессором при установлении электрического соединения со
всеми техническими средствами системы. При написании управ
ляющих программ действует предположение, что технические
средства работают правильно, так что любая ошибка в выпол
нении программы является собственной ошибкой программы, а
ие вызвана неисправностью оборудования.
•
r\
\
\
Проектирование уnраепяtощеrо nроrраммноrо обесnечения 237
\
При написании программ обычно не знают, как физически
выглядят технические средства, особеwности их функциониро
вания учитываются на уровне адресов и двоичuых разрядов.·
_
Имея эту информацию, можно правильно писать программы уп-
равления техническими средствами, ие вникая в детали уст
ройства последних.
Справедливым является и противоположный подход. При
проектировании технических средств совсем ие обязательио
знать детали программного обеспечения. Можно так разрабо-
ооО-03FF
ПЗУо
В этих блоJСах ПЗУ все управ•
0400-07FF
ПЗУ1
ляющие программы
0800-0BFF
ПЗУ2
Пока не используются, предиа-
ОСОО-ОFFF
ПЗУ8
зиачены для расширения си:
1000-13FF
1400-17FF
1800-lВFF
стемы
Системное ОЗУ
Память для 2708
Не используется
Ввод-вывод
Fo, F1, F2
FE
30, 31, 32,33, 34, 35
Индикатор
• Клавишный пульт
Программная панель
·Рис. 9.1 . Распределение памяти системы, описанной в гл. 8.
тать технические средства, что микропроцессор будет осущест
ВJiять надежное-взаимодействие со всеми элементами техниче
ских средств системы, ие прибегая к помощи программного
обес::печения. Если в оборудовании правильно выполнены соот
ветствующие. коммуникационные связи, программы будут ис
пользовать эти связи для реализации заданных функций.
Если же разработчик хорошо знает как программное обес
печение, так и техниче_,ские средства, то результатом этого явит
ся более простая и изящная структура системы в целом. Спе
циалист по техническим средствам, например, может спроекти
ровать систему, ориентируясь на особенности программного
обеспечения коикреrиого микропроцессора. Систему можно так
же создавать и таким образом, чтобы специфические особен
ности программных средств конкретного микропроцессора ие
оказывали существенного влияния. С другой стороны, если
программист знает технические средства, он может создавать
такие программы, которые наиболее полно используют их воз
можности. Е~и же в разработке системы участвуют два спе
циалиста, то наилучшие результаты достигаются тогда, когда
программист и разработчик аппаратуры тесно взаи:м;одейству- •
ют друг с другом. В этом случае каждый из них будет знать
намерения другоrо. Это часто позволяет достичь значительной
экономии усилий путем рационального распределения. функций
между техиическими средствами и программным обеспечением.
238
Г.nава 9
/
что невозможно при отсутствии подобного сотрудничеств раз
работчиков.
В идеальном случае разработчик технических средств либо
проrраммного обеспечеция микропроцессорных систем должен
знать обе эти области настолько, чтобы суметь оценить воз•
пикающие проблемы и установить эффективное взаимодейст
вие между техническими и программными средствами.
В технике существует отчетливая граница между т~хниче
скими средствами и программным обеспечением. В ряде ситу
аций соблюдение этой границы является необходимым при раз
работке систем. Однако для проектировщиков систем на базе
микропроцессоров, как инженеров, так и техников, знание тех
нических средств и программного обеспечения одновременно
является чрезвычайно ценным.
Возвращаясь к распределению памяти рассматриваемой сис
темы, показанному на рис. 9.1, можно заметить отсутствие не
которых деталей, относящихся к разрядам данных D0-D7, с
помощью которых осуществляется управление техническими
средствами. В случае ОЗУ и ПЗУ системы это видно непосред
ственно. Так, выходы 01-08 ПЗУ 2708 соединяются соответст
венно с D0-<07. Аналогичное справедливо и для ОЗУ системы.
Не имеет значения, к~кие разряды данных ОЗУ поступают на
конкретные линии шины данных системы, поскольку при запи
си данных в ОЗУ 1и при их считывании из ОЗУ сохраняется со
ответствие между разрядами данных и линиями шины данных.
Это означает, что в случае ОЗУ и ПЗУ конкретная nривязка
разрядов данных к линиям шины безразлична. Однако этот во
прос становится важным при работе с устройствами ввода-вы
вода.
Рассмотрим, например, случай, когда микропроцессор со
единен с устройством отображения. В этой ситуации програм
мисту н~бходимо точно знать соответствие разрядов данных
входам устройства, чтобы осуществлять выдачу на табло кон
кретных цифр. Подобная информация обеспечивается техниче
скими средствами системы. На рис. 9.2 показано конкретное на
значение разрядов данных для каждого устройства ввода-вы
~ода системы, что снимает неопределенность, допущенную в
предыдущем разделе.
Из рис. 9.2 видно, что для каждого порта ввода и вывода
определена точная функция каждого разряда данных. СЬдер
жимое разрядов, не описанных для конкретного устройства вво
да-вывода, не используется и может быть произвольным. В до
кументации на систему информация, приведенная на рис. 9.2 ~
может быть представлена самым различным образом. Однако
несмотря на форму представления, наличие этой специфической
информации необходимо до начала разработки программного
обеспечения.
•
i СНОЕ
f!~~РАН-
СТВО \
FE (выв'&~)
FE (ввод)
F2 (вывод)
F 1 {вывод)
Fo (вывод)
30 (вывод)
31 (ввод)
32 (вывод)
ЗЗ (вывод)
34 (вывод)
35 (вывод)
Разрядь~: дa_!is.
ных
Do
D,
D2
Dз
04
Ds, Dв, D1
Do
D,
D2
Dз
D4
Ds, Dв, D1
D1
Dв
Ds
D4
Dз
D2
D,
Do
D1
Dв
Ds
D4
Dз
D2
D1
I?o.
D1
Dв
Ds,
D4
Dз
D2
D,
Do
Do-D1
D0-D1
Do=1
Do=О
D1-D1
D0-D1
Do, D1
D2-D1
D1 =1
Do=О
1D=1
D1=0
D2-D1
Функция
Ro
R,
Rz
Rз
R•
Не используется
Со
с,
С2
Сз
С4"
Не используется
MSD (8-й разряд)
MSD (4-й разряд)
MSD (2-й разряд)
MSD ( 1-й разряд)
(MSD -1) (8-й разряд)
(MSD-1) (4-й разряд)
(MSD - 1) (2-й разряд)
(MSD-1) (1-й разряд) ·
(MSD - 2) (8-й разряд)
(MSD - 2) (4-й разряд)
(MSD - 2) (2-й разряд)
(MSD-2) (1-й разряд)·
(LSD + 2) (8-й разряд)
(LSD + 2) (4-й разряд}
(LSD + 2) (2-й РIЩРяд
(LSD + 2) (1-й разряд
(LSD + 1) (8-й разряд)
(LSD + 1) (4-й разряд)
(LSD + 1) ·(2-й рщ~ряд)
(LSD + 1) ( 1-й разряд)
fz.SD (8-й разряд)
LSD (4-й разряд)
LSD (2-й разряд)
LSD (1-й разряд)
Данные для iiрограммироваиия
ППЗУ
Данные с выходов ППЗУ
Чтеи,ие даlf!Ных из ППЗУ
Запись данных в ППЗУ
Не используется
РАо - РА7, адрес ППЗУ
РА~ - РДg, адрес ППЗУ
Не используется
CS/WE=+l2 В
СS=О,о-в
Импульс программирована~.
=+26В
Имп:УЛЬС проrраммироващrя 0,0 В
Рис. 9.2. Таблица фуикциоиалъиоrо назначения разрядов для всех портов
ввода и вывода системы. Для некоторых портов отмечено наличие неиспопь
зуемых разрядов.
---,с------,-----------,,-~-~~, . ~
240
Гnааа 9
/.
.
'
7
Кроме того, прежде чем приступить к написанию прJрамм,
необходимо знать, в какое состщшие устанавливаюi/~-..1как
инициализируются) конкретные устройства ввода-выёода при
подаче ·питания в систему. Обычно указатель стека' системы
всегда необходимо устанавливать в начальное состояние. Кро
ме того, если в системе используются прерывания, то возника
ет необходимость в установлении масок прерываний ц разре
шения либо запрещения функции прерывания; После того как
выполнены подобные общие действия по инициализации, сле
дует обратиться к сп~циальной информации, необходимой для
инициализации остальных технических средств системы.
Для рассматриваемой системы· в этой связи характерно еле~
дующее;
1. Импульс программирования - О В.
2. Напряжение CS/WE-0 В.
3. Для порта управления 32 16 D0= 1. Это открывает переда- ,
чу данных из ППЗУ в систему (см. рис. 9.2).
4. Устройство отображения системы устанавливается в
F00000.
5. В системе не используются прерывания.
6. Указатель стека устанавливается 03FF16 (в соответствии
с распределением памяти, приведенным на рис. 9.1).
Таковы основные действия по инициализации технических
средств, н·еобходимые для рассматриваемой системы. Возмож
но, потр~буется инициализация программных средств, связан
ная с присвоением определенных значений некоторым перемен
ным. Это станет ясно при написании программ. Теперь имеется
вся информация, необходимая для того, чтобы приступить к
программированию.
9.1 .
06щее представnение о проrраммно.м
обеспечении
,
Прежде, чем рассматривать частные вопросы написания прог
рамм, проанализируем общую структуру программного обеспе
чения системы. Поскольку система взаимодейс,твует с клавиш
ным пультом, то, прежде чем начать выполнение некоторой под
программы, она ждет ввода определенного ключа. Только после
ввода ключа, основываясq на· функции, задаваемой этим клю- .
чом, система выполняет определенную программу. По заверше
юш программы снова наступает •состощше ожидания ввода
очередного ключа. •
Чтqбы заставить пользователя в.водить правильную инфор
мацию, система должна дать ему «подсказку» с помощью таб
JЮ: •Именно с помощью такого «интеллектуального» использо
вания клавишного пул.ы:а и табло ..и реализуются функции, пе
речисленньrе для системы, рассматриваемой в гл. 8.
1
.
.
•
•
•
\·:
\
Проектмроаание ynpaan,1ющero nроrраммноrо обесnечени,~ 241 ·
\
Общая блок-схема программного. обеспечения системы при•
ведена ila рис. 9.3, который поясняет пос.педовательность работ
при написании программ.
Рис. 9.3 . Укрупненная блок-схема
фуикцаоиироваиия системы, отража
ющая основные. выполняемые опера
ции. Содержание каЖдоrо блока
подробно раскрывается в главе.
Начало
Инициализация
техничечс11их
средств
Ввод функции
ключа в про
грамму·
Выполнение
заданной
операции
Ввод дpyroro I(JllO'I&
9.3 .
Проrраммны ввода информации
с кnавиwноrо nуnьта
Функционирование системы зависит от ее способности раз.11Н
чать конкретны~ ключ •из числа ключей, формирующих кла
вишный пульт устройства ввода. В гл. 4 была рассмотрена
программ;ная реализация этой функции. Рассмотрим еще раз
подпрограмму ввода с клавишного пульта, приведенную в гл. •·
Эта подпрограм'~{а для удобства еще· раз повторена на· рис. 9.4 .
Отметим, что значения переменных, установленные подпрограм
мой рис. 9.4, являются десятичными числами, определяющими
вес ключа в матрице пульта. Функция подпрограммы может
быть представлена в виде блок-схемы, приведенной на рис. 9.5 .
Согласно рис. 9.5, выход из подпрограммы ввода ключа в
основную программу не происходит до тех пор, пока не опре
делен требуемый ключ и не записан его десятичный вес в ячей
ку памяти. На рис. 9.6 приведены десятичные веса для всех
ключей матрицы пульта. Видно, что после выполнения подпрог
раммы ввода. ключа в ячейку KWGT заносится целое число~
принимающее значения от О до 24 включительно.
•
Напомним, что функции ключей матрицы пока еще •не оп
ределены. Определим эти функциq так, к~к показано на рис.
9.7 . Отметим, что для всех ключей данных число в ячейке
KWGT соответствует значению ключа. Это означает. что при
16-814
1 0000
2 0000
J 0000
4...0000
5 0000
6 0000
7 0000
8 0000,
9 0000
10 0000
11 0000
- 120000З1r'F1J
1З 0003 AF'
14 0004 Е'В
15 0005 DJ FO
16 0007 DЗ F1
17 0009 DЗ F2
:
ПРОГРАIША ВВОДА ДАШIU: С ПУ.ЛЬТА И ВЬIВОДА НА ДИСПЛЕЙ
_***"***ПРОГРАММИСТ
ДЖИII КОФФРОН 8-28-79 ***"************•
*
'
ORG 00
*
УСТАНОВИТЬ НАЧ.АДРЕС ПРОГРАМЬ!,\
: ВО-ПЕРВЬIХ,НЕОВХОДИЫО ИНИЦИАЛИЗИРОВАТЬ ВСЕ ПЕРЕМЕН!liЕ
SP 1 1ЗFFH ИНИl.\ИАЛИЗИРОВАТЪ УКАЗАТЕЛЬ СТЕКА
А
НАЧ.ЗНАЧЕНИЯ ФЛАЖКОВ,ОБНУЛЕНИЕ AКKYII
РАЗРЕШИТЬ ПРЕРЬlВАНИЯ
ОБНУЛИТЬ ДИСПЛЕЙ
18ОООВ320010•
19ОООЕJ2О11О
200011320210
210014J20310
22OOi7JC
LXI
XRA
EI
оuт
оuт
оuт
STA
STA
STA
STA
INH
STA
ОЕ'ОН
OF1H
ОЕ'2Н
KTIME
cnAa
KWGHT
КСОМР
А
ЩЦАТЬ НА ДИСПЛЕЙ 000000
КТI.ILE=Q
CFLAG=O
KWGНT=O
КСОМР=О
АКttУМУЛЯТОР= 1
KROW=00000001
~э001sэ20410
24 001В
25 ОО1В
26 001В
27 001В '
28 001В
29 001В
:30 001В
:31 001В
J2 001В
J) 001В
J4 001В
J5 ОО1В
J6 001В·
:37 001В
J8 001В
J9 001В
400018CDЕВ00
41001ЕCDDB00
42OJ21JA01 10
4J 0024 FE 00
_44
0026 СА 1В 00
450029CDВ100
46 ОО2С
47 ОО2С
48 ооэс
49 ОО2С
50 ОО2С
51 ОО2С
52 ОО2С
5) ОО2С
54 ОО2С
55ОО2С)А0010
56 O'J2F
57 оо2Е'
58 002F
59 002F
60 002F FE 00
KROW
*
*
* УСТАНОВИТЬ АДРЕСА ПЕРЕШ:ШiЫХ
KTIMt
CPLAG
КWGHT
KCOiiP
кюw
NROW
.*
*
EQU
EQU
EQU
EQU
EQU
EQU
1ОООН
КТIМЕ+1,
CE'LAG+1
КWGНТ+1
КСОМР+1
KiiOW+1
************* НАЧАЛО ПРОГРАММЫ
*
*
*
НАЧАЛО РИС,4,20
SRO\V
*
*
CALL
CALL
LDA
CPI
.
JZ
CALL
OROW
СОLМ
CE'LAG
оон
SROW
КЕУW
КОНЕЦ РИС,4,~О
НАЧАЛО РИС,4,21
ВЫВЕСТИ АКТИВНi:,lЙ НАБОР
ВЪlЗВАТЬ ПОДПРОГРАММУ COIJL
НЕОБХОДИМО ПРОВЕРИТЬ ФЛАЖОК СТОЩЩА
ПРОВЕРИТЬ АКТИВНОСТЬ ЦИКЛА
И& АКТИВНЫЙ СТОЛБЕЦ,ПQВТОРИТЬ ЦИКЛ
АКТИВНЬIИ СТОЛБЕЦ, KAКOVI ИМЕ:!ШО???
ВЪiЛИ.НАЖА'Ш КЛАВИШИ ~*************************
*
******(ШАГ 1)
*
LDA КТiм.1!:
*
*
****"*(G!АГ 2)
*
CPI ООН
ПЕРЕЗАГРУЗИТЬ КТIМЕ ИЗ ПАМЯТИ'
КТIМЕ=О??
Рис. 9.4 . Программа ввода КJIЮча и вывода информации на табло д.11я микро-
процессора 8080.
•
-
-
\\\
610031СА5В00
*
,JZ KCL01
ДА,это ПЕРWЙ РАЗ
62 0034
6J ООН
64 оон
65 оон
66 оон
******** НЕ ПЕРWЙ РАЗ
*
*********
67ООН-JA0210
68 0031 4F
690038ЗАОЗ10
70 0038 В9
71ООЗССА4600
12 оозF
1з оозF
74 оозF
75 OOJF AF
760040320010
77004)сз6600
78 0046
79 0046
80 0046
810046JA0010
82 0049 зс
8J004АЗ20010
84 004D
85 004D
86 004D
87 004D FE )2
88004FС26600
890052CD6Е00
900055CDА700
910058СЗ1В00
****** (ШАГ 7)
*
LDA КWG:НТ
моvСА
LDA К~ОМР
СМР с
JZ KCL02
*
*****" (ШАГ 8)
..
XRA А
STA КТIМЕ
JМР КСLОЗ
*
-~***** (ШАГ У)
*
KCL02 LVA КТLМЕ
INR А
SТА КТIМЕ
..
****"*(ШАГ 10)
..
CPI 50
JNZ KCLOJ
CALL K0PN
CALL КОUТ
JМР SROW
92 ОО5В.
,
*
9J 005В
******(ШАГ Э)
94 ОО5В
*
95 ОО5В JA 02 10 KCL01 LDA XWGHT
КАКАЯ ЦИФРА EblJIA НАВРАНА???
РЕГИСТР C=КWGHT
РЕГИСТР ~КСОМР
КСОМР=КW Т???
дА;они РАВНЫ!! 1
ОНИ НЕ РАВНЫ:
ПЕРЕЗАПИСАТЬ КТIМЕ
ИДТИ НА ПЕРЕЗАГРУЗКУ АКТИВНОГО
выз~ть KTIME из ПАМЯТИ
КТIILE=KTIМE+1
КТIМЕ=КТIМЕ+1
КТIМЕ= 50???
ЕЩЕ НЕ 50
ПРОВЕРИТЬ ГОТОВНОСТЬ ПУJIЬТА
ШДАТЬ НА ПУЛЬТ
НАЗАД К НАЧАЛУ
96005ЕJ2ОЗ1О
STA КСОМР - КСОМР=КWGНТ
97 0061
98 0061
99 0061
100 0061 JE 01
101 ООбJ 32 00 10
..
****** (ШАГ 4)
!<
МVI А01
STA КТIМЕ
102 0066
*
10J 0066
******(ШАГ 5)
104 0066
*
УСТАНОВИТЬ КТIШ:=1
НАВОР-4
105 0066 ЗЕ 01
КСLОЗ МVI А,01
106 0068 32 04 10
STA KR0W
УСТАIЮВИТЬ АКТИБНЬlЙ НАБОР=ОООООООJ
107 0068
*
1 08 0068
****** (ШАГ 6)
109 ООоВ
*
ИДТИ К НАЧАЛУ ПРQГР.А,М!,Ш
110 0068 СЗ 1В 00
111 ОО6Е
112 ообЕ
11J ООбЕ -
114 ООбЕ
11 5 ООбЕ
116 ООбЕ
117006Е
118 ООбЕ
119 ообЕ
120 ООбЕ
JМР SR0W
*
*
***********************************************~**********
*
************ НАЧАЛО ПОДПРОГРАММЫ
*"*******************
:********************************************************
*
..
* РИС.4.22
121 ОО6Е,
_
122 ОО6Е
12) 006Е
124 006Е
125 ОО6Е
126 ОО6Е
: ПРОГРАМ11А ПОДГОТОВКИ ПУЛЬТА
:*************************.***************************•***•
******(ШАГ 1)
*
127 ОО6Е )Е 01
КОРN
128 0070 32 04 10
129 007) 3D
-
1ЭО 0074 32 05 10
131 0077
*
JilVI А,01
SТА KROW
DSR А
STA NROW
1)2 0077
******(ШАГ 2)
13) 0077
*
134 0077 32 00 10
STA КТIЫЕ
135 007А
*
136 007А
******(ШАГ 3)
1)7 007А
*
1)8 007A.CD ЕВ OQ KOPN1 CALL OROW
139 007D
*
НО 007D
******(ШАГ 4)
141 007D
*
142 007D CD DB 00
143 0·080
*
CALL CQLМ
144 0080
******(ШАГ 5)
145 0080
*
146 0080 3А 01 10
147 0083 FE·oo
148 0085 С2 бЕ 00
Н-9 0088
*
LDA CFtAG
CPI 00
JNZ KOPN
1 50 0088
****** (ШАГ 9)
151 0088
*
1,2 0088 3А 05 10
1,3 008В 3С
154 оовс 32 05 10
LDA NROW
INR А
STA NROW
155 oo8r'
*
156 000F
******(ШАГ 10>
157 oo8F
*
158 008F FE 05
159 0091 С2 7А 00
160 0094
1 61 0094
162 0094
163 0094 ЭА 00 10
164 0097 эс
165 0098 32 00 10
166 009в 47
167 009С
168 009С
1 69 009С
170 009С AF
171 009D 32 05 10
172 ООАО
173 ООАО
174 ООАО
175 ООАО 3Е 32
176 ООА2 В8
177 ООА3 С2 7А 00
*
CPI 05
JNZ KOPN1
****** (ШАГ 6)
*
*
LDA КТI14Е
INR А
STA КТI14Е
.МОV В,А
****** (ШАГ бА)
*
XRA А
STA NROW
*
******(ШАГ 7)
*
МVI -А,50
СМР В
JNZ KOPN1
118 ООАб
*
179· ООА6
******_(ШАГ 8)
180 ООА6
*
КROW=00000001
NROW=oooooooo
К'l'IIIE=O
ВШЭЕС'l'И НАБОР
ВВЕСТИ ДАННЫЕ СТОJ!ВЦА
ВВЕСТИ CFLAG
CFLAG=O???
ПУЛЪ'l' ЕЩЕ НЕ СВОБОДЕН .
ВВЕСТИ АКТИВНЬIЙ НАБОР
ЗАПИСАТЬ АКТИВНЫЙ НАБОР
СКАНИРОВАНИЕ НЕ ЗАКОНЧЕНО
РЕГИСТР в=КТIМЕ
ЗНАЧЕНИЕ НАВОРА=О
КТIМЕ=50???
НЕТ,СКАНИРОВАНИЕ _ПОВТОРИТЬ
-
181 ООА6 С9
182 ООА7
18) ООА7
184 ООЛ7
185 ООА7
186 ООА7
187 ООА7
188 ООА7
189 ООА7
190 OCJA7
191 ООА7
RЕТ
*
ВЫХОД ИЗ ЦОдПРОГРАJОIЫ ПОДГОТОВКИ
*
*************~*******************************************
*
ПОЩIРОГРАIОIА КОUТ
: ЭТА ПОДПРОГР.АJIIIА ВЫВЕДЕТ ДАНШЕ С ПУЛЬТА НА ДИСПЛЕЙ
*****************************************************•*••
*
192 ООА7 )А 02 10 КОUТ
19) ООАА D) Е'О
LDA
OUT
OU'l'
OU'l'
RET
КWGНТ
OFOH
QF'1H
OF2H
ДАННЫЕ С ПУЛЬТА В АКНУМУЛЯТОРЕ
194 ООАС D) }'1
195 ООАЕ DJ r2
1 96 ООIЗО С9
197 ООВ1
1 98 ООВ1
199 ООВ1
200 OVB1
201 ООВ1
202 ООВ1
203 00В1
204 ООВ1
205 ООВ1
20 6 ООВ1
207 OvB1
208 ООВ1
209 ООВ1
21 О 00В1 AF·
211 ООВ2 )А 01
212 ООВ5
21э оов5
214 ООВ5
215 0085 Об OJ
21 б ООВ7
217 ООВ7
218 ООВ7
219 ООВ7 1F
220 ООВВ Е'Е 00
221 ООВА-
222 ООВА
22) ООВА
10
224 ООВА СА С1 00
225 OOBD
226 OOBD
227 OO~D
228 OOBD 04
229 ООВЕ С) В7 00
230 ООС1
231 ООС1.
232 ООС1
233 ООС1 Al''
234 ООС2 )А 04 10
235 ООС5
2)6 ООС5
ZЗ7 ООС5
238 ООС5 ОЕ 00
2)9 ООС7
:цо ООС1
*********************************************************
..
*
ПОДПРОГР ЛNo4А КЕУIЧ
* ЭТА ПОДПРОГРАММА УСТАНОВИТ ЗНАЧЕНИЕ НАЖАТОЙ КЛАВИПИ
..
***********************~**********************************
..
БЛОК-СХЕЫА ЭТОЙ ПРОГРАШli нА РИС.4. 18
*
*"*"'"*(ШАГ 1)
..
KEYW XRA А
LDA 'Cl'LAG
*
*****~.(_ШАГ 2)
*
МVI в,оо
*
******(ШАГ Э)
*
КEYWf
*
RAR
CPI
JZ
00
KEYW2
******(ШАГ 5)
*
INR В
JMP KEYW1
*
******(ШАГ 7)
*
XRA А
LDA KROW
МVI с,оо
*
******<ШАГ 9)
ОВНУЛИ'l'Ь ФЛАЖКИ И АККУМУЛЯТОР
ПРИНЯТЬ ФЛАЖОК СТОЛБЦА ИЭ ПАМЯТИ
ОБНУЛИТЬ СЧЕ'JJЧИК
сдвинпь ВПРАВО НА 1 БИТ,о в D7
РЕГИСТР В"О,1 1 2 1 3,4 (ШАr' 61
УВЕЛИЧИТЬ ЗНАЧ.СЧЕТЧИКА И 11.ЦТИ НА ПОВ,
ОБНУЛИТЬ ФЛАЖКИ
ВЫЗВАТЬ АКТИВНЫЙ НАБОР
ОБНУЛИТЬ СЧЕТЧИК Т2
241 ООС7
*
242 ООС7 1F
КЕУ11i3 • RAR
СДВИГ ВПРАВО НА 1 ВИТ,О в·D7 •
243 ООС8 l''E 00
CPI 00
J
244 оосл
*
J
245 ООСА
**-**** (ШАГ 10) -
J
246 ООСА
..
)
247 ООСА СА D1 00
JZ к,пщ
ЕСЛИ О , ТО ВЫПОЛНЕНО
)
248 OQCD
*
1
249 OOCD
******(ШАГ 14)
1
250 OOCD
*
J
251 OOCD ОС
INR с
УВЕЛИЧИТЬ ЗНАЧЕНИЕ· СЧЕТЧИКА
1
252 ООСЕ С3 С7 00
JMP KZY\'!J
ИДТИ НА ПОВТОР
J
253 OOD1
*
254 OOD1
******(ШАГ 11 )
2 55 OOD1
*
256 OOD1 АР
КЕУW4 XRA А
ОБНУЛИТЬ ФЛАЖКИ
257 OOD2 78
моv А,В
АКRУМУЛЯТОР=СЧЕТЧИК СТОЛБЦОВ (Т1)
258 OOD3 17
RAL
В*2
259 OOD4 17
RAL
В*4
260 OOD5 80
ADD в
В*5
261 OOD6 8,1
ADD с
(В*5)+С=О-24
2 62 OOD7
*
2 63 OOD7
., . .*'*** (ШАГ 12)
2 64 OOD7
*
265 OOD7 32 02 10
[~ 1ГА КvVGHT
2 66 OODA
*
267 OODA
***11 * * (ШАГ 13)
1,
2 68 OODA
*
269 OODA С!)
RET
выити из этой ПОДПРОГРАММЫ .
1
270 OODB
*
,.
271 OODB
***************************************************~*****
1,
.272
OODB •
*
1·
273 OODB
*
ПОДПРОГР АМ!'4А со:t.М
1·
274 OODB
*
1·
275 OODB
* ЭТА ПОДПРОГРАММА ОПРЕДЕЛИТ АКТИВНЫЙ СТОЛБЕЦ,
1·
276 OODB
* ЕСЛИ ОН СУЩЕСТВУЕТ
217 OODB
*
278 OODB
***********~**************** ~****************~***********
279 OODB
*
1·
280 OODB
...
ЭТА ПОДПРОГРАММА-РИС.4,15
1
281 ООDВ
*
1,
282 OODB
*********************************************************
283 OODB
*
1,
284 ООDВ
******(ШАГ 1)
1,
285 OODB
*
,.
286 OODB AF
COLIII XRA А
I•
287 OODC 32 01 10
STA CFLAG
УСТАНоВИТЬ ФЛАЖОК СТОЛВЦА=О
1,
288 OODF
*
j,
289 OODF
**!<**·* (ШАГ 2)
I•
290 OODF
*
1,
291 OODF DB FE
IN OFEH
ВХОДНЫЕ ДАНNo.Е ИЗ ПОРТА FE
1'
292 OOEI
*
j'
293 ООЕ1
******(ШАГ 3)
J
294 ООЕ1
*
1'
295ООЕ\FбЕО_
ORI ОЕОН
УСТАНОВИТЬ БИ1!i D5 1 Dб 1 D7=1
J'
296 ООЕ3
*
J'
297 ООЕЭ
******(ШАГ 4)
J
298 ООЕ3
*
J
299 ООЕ3 }'Е FF
CPI ОFЕН
J
100 ООЕ5 св
RZ
ШАГ (4А)
.J
Зо1 ООЕб
J02 ООЕ6
J03 ООЕ6
J04 ООЕ6 2F
305 ООЕ7
306 ООЕ7
107 оОЕ7
108 ООЕ7 32 01 10
109 ООЕА С9
110 ООЕВ
J11 ООЕВ
112 ООЕВ
313 ООЕВ
114 ооЕв·
11 5 оо~в
116 ООЕВ
117 оОЕВ
118 ООЕВ
119 ООЕВ
120 ООЕВ
)21 ООЕВ
1/2 ООЕВ
11) ООЕВ
1,4 ООЕВ-
125 ООЕВ
11.б ООЕВ
127 ООЕВ 3А 04
128 ООЕЕ
129 ООЕЕ
IJO ООЕЕ
1J1 ООЕЕ }'Е 10
1J2 OOFO С2 F8
133 OOF3
1J4 OQFJ
1J5 OO}'j
116 OQF3 3Е 01
10
00
1J7 OQF5 С3 1''9 00
138 OQF8
1J9 ooF8
140 ooFs
141 ooFs 01
142 00}'9
14) Q0}'9
*
******(ШАГ 5)
*
CUA
*
****** (ШАГ 6)
*
STA
JTh'Т
CFLAG
ИНВЕРТИРU.ВАТЪ ,LмnliE
УсrАновить Ф~АЖок СТОЛБЦА.
ШJ!IТИ ИЗ ЭТОИ ПОДПРОГРАIОS
***********************************************************
*
..
"
ПОДПРОГРАММА JЭЫ.ВОДА АКТИВНОГО НАБОРА НА -ПУЛЬТ
*
* ИМЯ ЭТОЙ ПOДПPOГPAWIIЬI-OROW
*
*
*
***********************************************************
**************************************************~********
* ПОДПРОГРАММА К РИС,4, 10 В МНЕМОНИКЕ 8080
*
*
*
OROW LDA KROW
*
******(ШАГ 2)
*
CPI !ОН
JNZ OROWt
*
****** (ШАГ· "2А )-
*
*
МVI
JJJ4P
А.1.01Н
s·1·3
*****"(ШАГ 2В)
"
OHOIV1 HLC
*
******(ШАГ 3)
*
ПОВТОРНЫЙ В!il.ЗОВ АКТИВНОГО НАБОРА
СКАНИРОВАНИЕ: НАБОРА ЗАКОНЧЕНО???
ЕСЛИ НЕТ, ТО ШАГ 2В
ПЕРЕМЕСТИТЬ АКТИВНЬI.Й НАБОР
ИДТИ НА ШАГ 3
СДВИНУТЬ ДАН!J!iЕ ВЛ.l!;ВQ,О В DO
144 OOF'9
145 QOF9
146 OoFC
'4 7 OQ}'C
320410ST3
STA KROW
СОХРАНИТЬ АКТИВWЙ НАБОР
148 ooF'C
149 О~'С 21''
150 OQFD
151 OOFD
J52 OOFD
153 OQFD DJ FE
154 ooFF
J55 QOFF
156 ooFF
157 QOFF С9
158 0100
.J60 0100
*
******(ШАГ 4)
*
СМА
ИНВЕРТИРОВАТЬ СЛОВО НАБОРА
*
****** (ШАГ 5)
оuт OFEH
WВЕСТИ АКТИВНЫЙ НАБОР В ПОРТ FE
*
****** (ШАГ 6)
*
RET
********************************************************•·~
Начало
Управление
устройс:гвом
ввода с
пульта
Ro
R1
R2
Rз
R4
,,
Со
х
о
х
5.
х
10
х
15
х
20
С1
х
1
х
6
х
11
х
16
х
21
u •ф;~,·~·~',
,·!,111~
-
С2СзС4
-
х
х
х
2
3
4
'
х
х
х
7
8
9
х
х
х
12
13
14
х
х
х
17
18
19
х
х
х
22
23
24
Запись деся -
тичного веса
ключа II па-
мять системы
Рис. 9.6 . Аналогичен рис. 4.17 . Пока
зывает десятичный вес каждого пе
реключателя матрицы пульта размер-
•
иостью 5Х5.
Возврат
Рис. 9.5 . Блок-схема, демонстрирую•
щая реализацию фующии ввода клю-•
ча с клавишного пульта. Дав.ная
последовательность действий повто
ряется каждый раэ при_ выпоJШешtи
Рис. 9.7.
Функция
о
1
2
3
4
5
6
7
8
9
А
8
с
D
Е
F
Ввод
Ключи
данных
Стирание ввода
.
Установка ·адреса
Стирание ОЗУ
Программирование
ВеtтФикация
kопировавие
Пе используется
Фуикцик ключей (левая
программы рис. 9.4
•
Вес ключа, вычисляемый
подпрограммой вво,ца ключ~
о
1
2
3
4
5
6
7
8
9
10
11
.12
13
14
15
16
17
18
19
20
21
22
23, 24
колонка). и их веса (правая хопопа).
Проектирование ynpaвn~IC)Щ!.rO . ·"роrраммноrо обеспечения 249
нажатии на пульте ключа «В:. в KWGT записывается двоичное
число ·1011, представляющее значение десятичного 11 (В1 6). Та
ким образом, при программной реализации процедуры нет не
обходимости вычислять двоичное значение к.iпоча данных, по
скстьку это значение автоматически записывается в ячейку.
оооооо
о
2
з
4
Сброс
ооооо
5
6
7
8
9
ооооо
А
8
с
D•
Е
ооооо
f
Ввод
Стирание Установка Стирание ОЗУ
ввода
адреса
·Оооо._л
Програм- Верифи- Копиро- Не используется
мироваиие кация
ванне
Рис. 9.8 . Пространственное расположени~ клавиатуры с пометкой функций
ключей. К:люч сброса ие является частью матрицы• пульта. Этот ключ играет
особую роль и используется просто для сброса системы.
В соответствии с определением ключей, приведенным на
рис. 9.7, физическая реализация клавишного пульта будет со
ответствовать представленной на рис. 9.8 . Здесь ключ сброса
не входит в матрицу ключей. Этот ключ играет особую роль,
осуществляя немедленный сброс системы вне зависимости от
выполняемой ею функции;
.
На рис. 9.4 были приведены программные средства микро
процессора 8085, необходимые для реализации функции подпро
граммы KEYIN. Эти средства подробно рассматривались в
гл. 4, так что любые неясности рис. 9.4 можно устранить, ис
пользуя материалы этой глав~.
9.4 .
Гnмная уnрввnяющвя nроrрвмм•
Обратимся теперь к особенностям построения главной управ
ляющей программы. Эта программа управляет работой систе
мы на основе значения введенного ключа. После реализации
каждой частной функции системы управление возвращается в
J'
250
Гnава 9
главную управляющую программу. На рис. 9.3 была показана
укрупненная блок-схема этой основной операционной програм
мы. На рис. 9.9 представлена более подробная блок-схема этой
программы.
.
Видно, что одним из первых действий главной управляю•
• щей программы является вызов подпрограммы ввода ключа -
шаг la. Вспомним, что система выполняет эту подпрограмму
до тех пор, пока не будет введено требуемое значение ключа.
После выхода из подпрограммы ввода ключа производится про
верка значения ключа, записанного в ячейке KWGT. Если это·
значение соответствует допустимой функции, осуществляется
переход к шагу 5.
Система ожидает ввода функционального ключа, а после
осуществления этой операции ей безразлично конкретное зна
чение ключа. По значениям функциональных ключей видно.
что любое число в ячейке KWGT, большее чем 15, определяет
допустимую функцию. Поэтому на шаге 2 блок-схемы рис. 9.9
осуществляется проверка логического условия, является ли
число в ячейке KWGT больше 15.
Если же число в KWGT не больше 15, на табло высвечива
ется системная ошибка. Этой частной ошибке приписан номер
1, так что на табло заносится число ЕОООО1 16 . Это число, опре
деляющее факт ввода недопустимого ключа (ошибки), высве
чивается до тех пор, пока не •будет нажат ключ сброса. По
скольку в процессе написания программного обеспечения ге
нерируются коды других ошибок, необходимо привести ц вклю
чить в документацию список кодов ошибок и их смысловые зна•
чения.
•
На шаге 5 рис. 9.9 вычисляется адрес программного моду
ля, который осуществляет управление системой при реализа
ции заданной функции. Вычисление адреса производится сле
дующим образом. Прежде всего подготовим таблицу операто
ров перехода, содержащую обращение к меткам системы,· как
это показано на рис. 9.1 О. Адрес, определяемый на основе чис
ла, записанного в ячейку KWGT, указывает на один из опера
торов перехода, приведенных на рис. 9.10; этот оператор поз
воляет осуществить передачу управления в ячейку, с которой
начинается частный модуль программного обеспечения, соот•
ветствующий введенному ключу.
Оператор перехода рис. 9.10, выбираемый для щ,шолнения,
соотносится конкрётному значению числа в KWGT. Например.
если в эту ячейку записано число 161 0, то будет выполнен опе..
ратор JMP ENTER; в случае числа 1710 -оператор JMP
CENTY. Отметим, что каждый раз при увеличении на единицу
числа в KWGT, получаемого в результате выполнения по.в.проr•
раммы KEYIN, осуществляется выбор следующего по порядку
оператора перехода на рис. 9.10.
Начало
Инициализация
программы
5 Вычисление
адреса '
Нет
Нет
Установка
на·табло - 3
кода ошибки
EOOOOI
-
Рис. 9.9 . Блок-схема главиой управляющей программы системы.
Таблица
JMP
ввод
JMP
Стирание ВВОДА
J:vtl'
Уоа11овка Ад РЕ<- А
JMP
Стирание ОЗУ
J~1P
Про-граммщюва1111~
JMP
Верификация
JMP
Копирование
JMP
NA1
JMP
NA1
Рис. 9.10 . Таблица ,операторов перехода, указывающих модул,и программы,
реализующие отмеченные фуикции.
252
Гnава 9
Поэтому требуемый оператор JMP относительно первого опе-
ратора может быть вычислен следующим ()бразом-t
,
JMP относительно JMP ENTER=KWGT-1610.
Для иллюстрации этой формулы положим, что в ячейке
KWGT записано число 1910, сформированное подпрограммой
KEYIN, что сооответствует KJIIOЧY СТИРАНИЕ ОЗУ. По приве
денной формуле вычисляется следующий оператор перехода:
JMP относительно JMP ENTER=KWGT-16=19-lб=З.
Таким образом, выполняется третий по порядку (от JMP
ENTER.) оператор перехода. Выполнение этого оператора при-
r 0000
8 0100
9 0100
10 0100
11 0100
120100СЭЭЭ0F
IЭ 0103 сэ.н or'
Н0106СЭЭ5QF
150109СЭ360F
16010ССЭ370F
-17
010F С) ЭВ 0F
180112CJ390F
19 0115 СЭ ЭА,ОF
200118СЭJB0F
*
*
0RG 0I00H
УСТАНОВИТЬ НАЧАЛО ТАБJIИЦЫ:
**** НАЧАЛО ТАБЛИЦЫ:******
JМР ENТER
JМР СЕNТУ
JМР ADDSE
JМР CLRAМ
JМР PR0G
JМР VEY
JМР СОРУ
JМР NA1
./МР NA2
21 011В
•·
2201IB
**** КОНЕЦ ТАБЛИЦЫ ******
23 011в
*
•
Рис. 9.11. Таблица операторов перехода рис. 9 .10 после трансляции. Начало
таблицы соответствует адресу 0100 (шестнадцатеричному). Каждый ·оператор
перехода заиимает·З байта памяти.
•
ведет к реализации последовательности команд, управляющей
стщ.>анием ОЗУ.
Однако проведенное рассмотрение не раскрывает полной
картины. Если осуществить трансляцию программы, то модуль
рис. 9JO предетавится в виде, показанном на рис. 9.11, где ука
заны абсолютные адреса каждого оператора перехr;ща в таб
лице. Теперь использование указанных взаимосвязей так, как
они приведены, порождает следующий порядок действий.
Предположим, что адрес первого оператора перехода в таб
лице принят в качестве базового. Тогда указатель нового адреса
(NEWA) в таблице вычисляется как функция базового адреса -
и некоторой переменной V1. В соответствии с рассмотренным
выще соотношением имеем NЕWА=Базовый_ aдpec+(KWGT-
- 16), что tзызывает определенliое беспокойство, поскольку при- ;
пятый базовый адрес, как показано на рис. 9.11, есть O-lOO1s• ·
• Как и прежде, KWGT= 19, и требуется определить адрес
NEWA, соответствующий оператору JMP CLRAМ. В соответст-
Начало
TEMP=KWGT - 16 10
.ТЕМР=ТЕМР * 3
Рис. 9.12. Блок-схема вычисления точ.
иого адреса входа в таблицу опера~
торов переходов.
NEWA = NEWA + ТЕМР
Переход к NEWА
7 0000
В00003А0010
90003D610
10 0005 .Н
11 0006
12 0006
13 0006 87
14 0007 во
15 0008
1б 0000
170008010000
18 ОООВ "F.
.
19ооос210001
20 oooF
21 OOQF
22· ooo:t' 09
23 0010
24 0010
25 0010 Et
26 0011
.2 7 0011
2в-001t
29 0011
ORG 00
LDA КWGHT
SUI 1б
МоV в,А
ADD А
. :A.DD В
АККУ14УЛЯТОР=КW<1НТ
АККУМУЛЯТОР=КWGНТ-16
ЗАПОМНИТЬ В РЕГИСТРЕ В
АККУМУЛЯТОР* 2
АККУМУЛЯ ТОJ?* 3
LXI В100
ОБНУЛЕНЮ!: FЕГИСТРОВ В 10
МОV СА·
ЗАПОМНИТЬ В РЕГИСТРЕ С
LXI н;тлвLЕ ЗАГРУЗИТЬ БАЗОWЙ АДРЕС ТАЕJ!ИЦl
DAD В
lЮWЙ.АДР.=ВАЗ.АДР.+СОДЕРIИЫОЕ Р.ЕГ. В
РСНL
ПЕРЕХОД По АДРЕСУ. TAВJ!иtJJl
*•**********************************************************'
..
ORG О1ООН УСТАНОВИТЬ НАЧА110 ~~
.эо 0100 •
*
Э1 0100
**** НАЧАЛО TAБJiи:tlJ,t ************
эz 0100
*
ЭЗ 0100 с, ЭЭ OF ТАВLЕ JМР ENТ.ER
Э4- 0103 С) Э4 oF
JМР СЁNП
J50106СЭЭ5oF
JIIP ADDSE
Эб0109С)36oF
JIIP CLRAI(
37otocС)37oF
JJIP PROG
ЭВ 01oF СЭ .38 oF
JJIP VEY
390112СЭ39oF
JМР СОРУ:
400115С)ЭАоF
JIIP NAt
410118С33Вof
JIIP ВА2
_. 2 О11В
•
•
.
4:) ot 1В.
**** }{()ВЕЦ ЖAJIJl[Ql *!!**********"'
Рис. 9.13. Реализация б;ок-схемы рис. 9.12 в кодах символического языка
микропроцессора 8080.
254
Глава 9
вин с рис. 9. ~1 этот адрес имеет значение OlOB. И вышеприве
денное соотношение дает
NЕWА=БАЗОВЫй АДРЕС+ (KWGT-16),
NEWA=OlOO+ (1910-1610),
NEWA=OlOO+OOO3,
NEWA=O1O3.
Таким образом, получен адрес 0103 вместо требуемого
OlOB, указывающий оператор JMP CENTY (0103), а не требуе
мый оператор JMP CLRAМ (O1OВ). Ситуация ухудшается, ког
да KWGT= 17 10. В этом случае в результате аналогичных рас
четов получается NEWA=O1O1 16, т. е. абсолютный адрес, соот
ветствующий среднему байту 3-байтовой команды, что является
программной ошибкой. Анализируя положение, можно gаме
~rить, что в расчетах не учитывался tот факт, что каждая коман
да JMP занимает 3 байта памяти, а не 1. байт, как ранее пред
полагали. По этой причине вторая JMP команда смещена по
отношению к первой не на один, а на три адреса. Для различ
ных микропроцессоров трансляция команд JMP осуществля
ется по-разному. При этом необходима осторожность при вы
числещш адресов перехода по описанной сх·еме для заданного
программного обеспечения.
Однако допущенная ошибка может быть легко исправлена
путем изменения схемы расчета адреса перехода: NЕWА=БА-
ЗОВЫй АДРЕС+ (KWGT-16) Х3.
.
С целью иллюстрации новой расчетной схемы рассмотрим
прежний пример. Пусть значение KWGT= 10 10. БаэовЬtЙ адрес
есть О 100 16, как это показано на рис. 9.11. Тогда значение но-
вого адреса. будет следующее:
.
'
. NЕW А=Б АЗО ВЫй
AДPEC+(KWGT-16)X3,
NEWA=O1OO1в+ (1910-1610) Х310,
NEWA= 01001s+ (310Х310),
NЕWА=O1O910-
Из рис. 9.11 видно, что абсолютный адрес 0109 .является
правильным для входа в таблицу при KWGT= 19. На рис. 9.12
приведена блок-схема реализации описанных вычислений для
микропроцессора 8085. Соответствующая программа представ
лена на рис. 9J·3 .
9.5.
Проrраммные средства реаnизации
функции установки вдреса •
Рассмотрев средства управления реализацией программных
функций, перейдем к обсуждению программ, которые выполня
ют каждую из таких функций,
Отметим, что подпрограмма КЕУ INPUT может быть вызва
на в любой точке програ!11МЫ. С помощью этой подпрограммы
вызываются данные, необходимость в использовании которых
возникает в данной т.очке. •
...
Проектирование управляющеrо проrраммноrо . обеспечения 255
Прежде всего рассмотрим функцию УСТАНОВКА АдРЕСА,
которая может быть описана следующим Gбразом. Функция ус
тановки адреса задает адрес памяти в интервале 0000-03FF1в,
являющийся начальным адресом для проверки данных в ОЗУ2
программ или для ввода данных. Еслu нажимается ключ функ
ции установки адр€са, система автоматически переходит в ре
жим ожидания ввода трех шестнадцатеричных цифр. По завер
шении такой операции система использует эти цифры в каче
стве адреса ОЗУ2 .
.Теперь на табло отображается адрес ОЗУ (0000-03FF) и
данные, записанные в этой ячейке. Если необходимо скоррек
тировать данные, вводятся две новые шестнадцатеричные циф
ры. Эти данные записываются в ОЗУ2 при нажатии ключа
ввода.
Если же мы хотим лишь проверить данные, то последова
тельным нажатием ключа ввода осуществляем перезапись ис
ходных данных и увеличение на единицу адреса памяти. Блок
схема реализации подобной функции приведена на рис. 9.14.
Из рис. 9.14 видно, что реализация функции начинается с
вывода на табло значения А30000 16 с целью проинформировать
пользователя, что система ожидает ввода трех цифр адреса
(ниблов). Затем программа их вводит. Отметим, что основной
блок на схеме, помеченный как шаг 2, лишь устанавливает, что
программа будет считывать три цифры. Считывание и отобра
жение на табло цифр будет показано на примерах реа.льных
программ. Описание. же всех деталей Qсновноrо блока шага 2
схемы может запутать общую картину.
Необходимые пояснения по программной реализации дан
ного блока, позволяющие получить о нем детальное представ
ление, будут даны при рассмотрении его описания с помощью
мнемОIJИКИ микропроцессора 8085. Приведенное предваритель
ное упрощенное описание блок-схемы процесса имеет целью
облегчить понимание основных идей. Поскольку для реализации
программной функции необходимо ее подробное представление,
то такое представление функции содержится в программных
модулях, отображающих элементы блок-схемы, и может быть.
использовано при обсуждении материала.
Сл.едующим шагом блок-схемы рис. 9.14 является чтение
данных из ОЗУ2 по адресу, который введен пользователем. Си
стема должна рассчитать абсолютный адрес считывания, по
скольку ячейке 0000 ОЗУ2 в действительности соответствует
адрес 140016• Этот системный адрес получается на основании
таблицы распределения памяти рис. 9.1. Поэтому, если введен
адрес 10316, чтение будет осуществляться с абсолютно си~
стемноrо адреса 140016 +010316 = 1503. Отсюда становится ясно,
что, до того как начать писать программы, необходимо соста
вить хорошую таблицу распределения памяти.
Начало
Установка на табло
АЗОООО
L-----~-----'
Заnрос 3-х знаков адреса
у· пользователя
2 Ввод 3-х знаков с пульта ЧAIN 1 , переменная в памяти
3
Чтение данных из ОЗУ
(AIN2 + 1400) = АДРЕС
4 Отображение адреса
и данных
Да
,Да
Введен
байт
11 Запись новь1х данных
по адресу ОЗУ
6
Перехо_д на начало ВЫХОД
главнои проrраммы
.
Увеличение адреса
на1
8
Выводы новых
данных на табло
Рис. 9.14 . Блок-схема функционирования системы при реаJ!изации фунщин
установки адреса.
Проектирование управляющего· программного обеспечения 257
После чтения данных по заданному адресу ОЗУ2 адрес и
данные отображаются на табло. Это преду.смотрено блоком 4
схемы рис. 9. 14.
Далее система анализирует. следующий ключ. Если таким
ключом является ключ стирания ввода, • реализация функции
sавершается и осуществляется возврат в главную управляю
щую программу. При нажатии же ключа ввода производится
приращение адреса ОЗУ2 на единицу (шаг 8) и отображение
на табло нового адреса ОЗУ и данных, хранимых по этому ад
ресу. Таким образом можно просмотреть память программ
(ОЗУ2 ) и проверить данные.
Если осуществляется ввод ключа данных 0-F (шаг 9), то
программа рассмf!,'I'ривает это как ввод новых данных по со
ответствующему адресу ОЗУ2 и ожидает ввода двух цифр. По
сле того как эти цифры введены, проверяется факт отработки
ключа ввода (шаг 1О), «подтверждающего» введенные данные.
Если же вводится какой-либо иной ключ, выполнение програм-
1 0000
,- 0000
J 0000
4 0000
'; 0000
1, 0000
·r
0000
В 0000
9 0000
1() 0000
11 0000 JE АЗ
1? 0002 D) F2
1·1 0004 AF
14 0005 DЭ F1
1'; 0007 DJ FO
1 r, 0009
,· , 0009
1(10009CDСЗМ
1<J ОООС ЭА С2 00
.· ,J oooF DЗ r'o
.'1 0011 З2 ВF 00
,I00\4
_.
J 0014
4lI014CDСЗ00
·, \.Ю17
ЭАС200
1, ОО1А 32 ВF' 00
1001DЗАBt;00
\J020 17
1 0021 17
J СЮ22 17
,1
0023 17
u024 Еб }'О
,
<J026 )2 С1 00
,
0029 ЭА ВF 00
ОО2С 21 С1 00
*****~****•*********~**************************************
*
* ПОДПРОГРАММА ADDSE.
* ЭТА ПРОГРАММА ВВЕДЕТ АДРЕС ИЗ ТРЕХ ЦИФР С ПУЛЬТА,
* ВЫВЕДЕТ АДРЕС НА ДИСПJ!ЕЙ И ЗАПОМНИТ ДАННЫЕ В
:
ПРОГРАММЕ ПЗУ ПО АДРЕСУ,УНАЗАННОМУ НА ДИСПЛЕЕ
*
ADDSE
*
*
*
*
ORG 00
МVI АFОАЭН
оuтО2Н
:XRA А
оuт OF1H
оuт оiон:
CALL KDET
LDA КWGНТ
оuт OFOH
STA AIN1
CALL КDЕТ
LDA КWGHT
STA AIN2
LDA AIN\
ЛАL
RAL
RAL
НАL
AIN QFOH
STA AIN4
LDA AIN2
LXI H1 AIN4
УСТАНОВИТЬ АДРЕС ПЕРВОГО БАйТА ПРОГ.
ВЫВЕСТИ НА ДМСПJ!ЕЙ АЭОООО
ПРИНЯТЬ ПЕРВУЮ ЦИФРУ С ПУЛЬТА
АКкntУJ!ЯТОР=ПЕРВОЙ ЦИФРЕ
ЕЬl.ВЕСТИ ПЕРВ~ ЦИФРУ
ЗАПО14НИТЪ ПЕРВУЮ ЦИФРУ
ПРИНЯТЬ ВТОРУЮ ЦИФРУ С ПУЛЬТА
А!tltУМУЛЯТОР=ВТОРОИ ЦИФРЕ
ЗАIIОМНИ'l'Ь ВТОРУЮ I1J1ФРУ
ПРИНЯТЬ IIEPBYIO ЦИФРУ ИЗ ПАМЯТИ
СДВИНУТЬ ВJIEBO НА 4 БИТА
МАСКИРОВАТЬ .М.ЛАДUIИЕ 4 БИТА
СОХРАНИТЬ !IРОМЕЖУТ. РЕЗ.
,
АККУМУЛЯТОР=МЛАДШИЕ 4 БИТА ВТОРОИ ЦИФ.
УСТАНОВИТЬ В H,L АДРЕС AIN4
Рис. 9.15. Реализация блок-схемы рис. 9 .14 в кодах символического языка
микр.опроцессора 8085.
17-814
)6 002F В6
)7 00:Ю- D) FO
)8 0032
)9 00)2
40 00J2CDОJ00
41 0035 JAС200
42 00)8 32011')')
4J (')()JB JA BFOQ
Н OOJE 17
45 003&' 17
46 0040 17
47 0041 17
4,8 0042 Еб FO
49004421со00
"
0047 В6
51М48DJF1
52ОН4А)2BF00
53 004D
54 ')() 4D
55 004D AF
56 004Е D3 FO
57 0() 7'
58 00~
59 rY)7) JAВ&:00
60 Of)5) DJ F2
61 М55
62 0055
6J 0055
64 ')055
65 0055
66')l552100ц
67 0058JABF00
68 005В 5F
69 0050 JAJ3E()0
1) 005F 57
71 0060 D5
72 0061 19
7J М62
74 0062
75 0/J62 7Е
76 (ЮбJ DJ FO
77 М65
78 0065
79 ()06 5
Ю 0065
81 0065
82 0065Е5
8J ОГJ66 CD CJ 00
84 0069 JA 020()
85 0060FE 11 -
86 006.F СА В9 00
87 0071 FE 10
86 ,:,о 73 СА АВ о,:,
*
*
*
*
*
*
*
--
,г
ORA l,f
оuт оrон
OALL KDET
LDA КWGНТ
STA AINJ
LDA AIN2
RAL -
RAL
RAL
RAL
AIN 'JF'JH
LXI H,AINJ
'JRA М
l'\UT OF1H
STA AIN2
XRA А
')UT OFOH
LDA AIN1
l)UT ')&'2Н
JD Г. "ИЛИ"АККУ!,f. И ПЕ:РООЙ ЦИФРЫ В AIN4
ЗАПИСАТЬ НА ДИОПJIЕ t\ ХХХХ--
-
ПРИНЯТЬ ТРЕ ТЬD ЦИФРУ
АККУМУЛЯТ')Р=ТРЕТЬЯ ЦИФРА
ЗАПОЩ!ИТЬ РЕЗУЛЬТАТ
•
ВЫЗВАТЬ ВТ'JРУЮ ЦИФРУ
СДВИГ диФРЬI ВJ!ЕВ') НА 4 ВИТА
ВЬI,1.f:ЛИТЬ 4 МЛА,!Щ!ИХ ВИТА
JDГ. "И.ЛИ"ВТ1'1Ю Й И ТРЕТШЙ ЦИФР
ВЫВЕСТИ tмФРУ НА ДИСПЛ&Й ХХ--ХХ
ВТОРАЯ И ТРЕТЬЯ ЦИФРЬI В AIN2
ДИСПЛЕЙ=ХХ--00
ДИС[Ш Й,00 ХХ~О ,Г Д1,: ХХХ-АДРЕС
4
ШШРЬ ЧИТАЕМ ДАННШ: ИЗ ПАМЯТИ
4
Н.111.НЯЯ ГРАНИЦА=АIN2,БЕРХНЯЯ ГPAH.11ЦA=AINI
*
*
*
LXI H,140'JH
LDA AIN2
"'1V Е ,А
LDA AIN1
М'JV D,A
PUSH D
DAD D
l(f)V А ,М
оuтомн
Н, 1'0НАЧАЛЬНЬIЙ АДРЕС
D ,Е =АДРЕ_С О ЗУ
ЗАПИСАТЬ
Н,L=НАЧАЛЬНЬIЙ АДРЕС
ЗАГРУЗИТЬ В АККУМ. ДАННЬI& ИЗ ОЗУ
УСТАН')ВИТЬ ДИСПJ!ЕЙ'{)ХХХDD,ГдЕ DD-ДАНН
* МЫ Тс)ЛЬК() Ч'l"J ГJК')НЧИ.ЛИ ШАГ 4 -В.ЛОК-СХЕ МЬ1
*
*
PUSH Н
CALL KDET
LDA KWGHT
CPI 17
JZ ADEX
CPI 16
J~ STP8
ЗАП"IМНИТЬ АДРЕС
ЖДАТЬ CJii!:ДYl)l!EГn НАЖАТИЯ КЛАВИШИ
АККУМУЛЯ'F1Р=ЗНАЧЕНИi КЛАВИШИ
ДА ,ИДТИ НА ВЫХ':JД ИЭ ЭТОЙ ПРl)ГРАММЫ
НАЖАТА КЛАВИША ENTER??
ДА ,ИДТИ НА ШАГ 8 ВЛОК-ОХЕW
89 0076
*
9J 0076
*
91 0076
* НЕОВХОДИI() ПРИНЯТЬ ДЕЕ н,:,вш: ЦИФРЬI И эАтмнить ИХ В ~Зу
92 0076
•
9J ()076 CD CJ 00 ТIПВ
94 0079JA0200
95007С)2С1on
96007FDJМ
97 0061CDCJ00
98 0064JAС200
99 0()87
*
CALL KDi:Т
LDA KWQHT
STA AIN4
l')UT,- () МН
CALL KDET
LDA КWGHT
ПРИНЯТЬ НОВУD ЦИФРУ
АККУМУЛЯТl'\Р=ЗНАЧЕНИЕ КЛЛВКШИ
IIPOW:JКY'roЧH!:iE ЗАffiМИНАНИЯ
ЗАПИ.СЬ НА ДИСПЛЕЙ
ПРИНЯТЬ CJIEДYIO!ЦYD ЦИФРУ
юо 0087)20000
101 008А ЗА С1 00
11'12 006D 17
11')) 00SE 17
104 ')l6F 17
105 0090 17
106 0091 21 са оо
107 оо94 Вб
108 0095 J2 СО 1)0
109 0098 DJ FO
1Ю 009А
111 009А
112 00 9А
11J 009А
114 009А CD CJ00
115 009DJAС200
116ООЮFEЮ
117 ООА2 С2 76 00
116 МА5
119 оо.А,
1Ю ООА5
121 МА5
122 ООА5 ЗА СО 00
12) ООАВ i:1
124 ООА9 77
125 00.АА Е5
1 26 ООАВ
127 ООАВ
128 00АВЕ1
129 'ООАС 2J
1J0 OOAD Df
1J1 ООАЕ 1J
1J2 00AF D5
1JJ ООЮ 7В
134 00В1 DJ F1
1'35 OOBJ 7Л
1J6 0084 DJ F2
1З7 ООВб CJ 62 00
1 J8 OdB9
1J9 00В9
1() 00В9 Е1
141 ООВА D1
142 00ВВ СJ С400
ЦJ оовз
144 ООВЕ
145 OOБli:
146 ')OJ3E
Ц1 00Б1i:
148 ООВЕ
149 ООВЕ 00
11) OOBF 00
151 оосо 01'1
152 ООС1 00
1 5J ООС2 01'1
154 MCJ 00
1 55 ООС4 01'1
156 ООС5
О ERR'JRS
17°
*
*
STA AINJ
LDA АIЩ
RAL
RAL
RAL
RAL
LXI H,AINJ
'JRA М
•
STA AINJ
аuт оrон
* ПЮ ВЕРИТЬ ДАННШ:
*
*
*
CALL КDЕТ
LDA KWGHT
CPI 16
JNZ TNIB
ВРЕ!.ЕЩ!О СОХРАНИТЬ В ПАМЯТИ
ВЫЗВАТЬ ПЕРВУЮ ЦИФРУ
СДВИнУТЬ ВЛЕВО НА 4 ВИТА
JDГ." ИЛИ" !ВРВОЙ и втоrо й ЦИФР
СОХРАНИТЬ ДА.НИШ В ПАМЯТИ
ВЫВЕСТИ НА ДИСПIIЕ А
ПРИНЯТЬ КЛАВИШУ
АККУ!ОЛЯТJ P=ЗHAЧiJlil-!E КЛАВИШИ
КЛАеИIIIА ENТER???
Ш:Т ,ПОВТОРНО ЗАПРОСИТЬ НОВЫi ДАННЪЕ
* ЗАПИСАТЬ ДАННЫЕ В ПАМЯТЬ
·*
"
*
LDA AINJ
РОР Н
W)V М,А
PUSH Н
STP8 РОР Н
..
*
INX Н
P'JP D
INX D
PUSH D
4QV д_,»
OUT "IF1 Н
М"V A,D
' JUT OF2H
JMP NRED
ADEX р:,р Н
*
"
*
*
МРD
JMP ВEGIN
ВЫЗВАТЬ ДАННЫЕ
ВОССТАНОВИТЬ АдРЕС В ПАМЯТИ
ДАННЫЕ В ПАМЯТЬ
УВii:ЛИЧИТЬ АДРЕС НА 1
ЮССТАЮВИТЬ АДРЕС ОЗУ
СОХРАНИТЬ ЗНАЧЕНШ:
ВЬIВЕСТИ АДРЕС НА ДИСПЛЕЙ
ВЫВЕСТИ АДРЕС НА ДИСПJIЕЙ
ЕШЕ РАЗ НАЧАТЬ ОПЕРАЦИЮ
ИДТИ НА HAЧAJD УПРАВ11ЯЮПВЙ DIOГPAI(.
"
НЮ ВЮ ДИIЮ У'КА::ЭАТЬ МАКЕТ РАЭNo:Щ!:НИЯ IEPE!li:ННЬIX
*
AIN1 NOP
AIN2 NOP
АПО Nr'1P
AINЗ N')P
KWGHT Nr'1P
KDET N'~ P
ВEGIN N')P
END
12 SYМOOLS
ПРЕДЛ)!ЕНИЕ END АССЕМRЛЕРА
260
Глава 9
мы не будет продолжено, чему соответствует условие «нет>
шага 10.
_
·Если отрабатывается ключ ввода, то _данные, считанные на
шаге 9, записываются в ОЗУ2 , КаН! это показано на шаге 11.
После этого осуществляется переход к шагу 8, на котором ад
рес ОЗУ2 увеличивается на 1. По завершении шага 8 снова про
изводится переход к шагу 3. Программа реализации функции
УСТАНОВКИ АДРЕСА приведена на рис. 9.li5.
-9 .6.
Проrраммные средства реаnиэации
функ~ии СТИРАНИЯ ОЗУ
Перейдем к рассмотрению программных средств, предназначен
ных для реализации системной функции СТИРАНИЯ ОЗУ, для
чего прежде всего определим эту функцию. Функция СТИРА
НИЕ ОЗУ заключается в записи единиц (FF1 6) во все ячейки
ОЗУ2 .
,
Укрупненная блок-схема реализации рассматриваемой функ
ции приведена на рис. 9.16. После записи единиц во все ячейки
ОЗУ2 осуществляются возврат в основную программу и ожида
ние ввода новой функции. Программная реализация блок-схе
мы рис. 9.16 средствами символического языка микропроцессо
ра 8085 показана на рис. 9.17 .
9.7 .
Проrраммные средства реаnиэации
функции проrраммирования
Программирование ППЗУ осуществляется в том случае, когда
возникает необходимость хранения информации (отлаженных
программ), длительное время используемой без перепрограм
мирования. Подобные запоминающие устройства, сохраняющие
информацию при отключении питания, находят применение во
многих областях. ППЗУ обладают еще одним важным свойст
вом, которое заключается в том, что при необходимости запи
санную информацию можно стереть, а устройство - перепрог
раммировать в соответствии с новыми потребностями. При прог
раммировании ППЗУ требуемая программа вначале размеща
ется в другом ЗУ, в нашем случае это ОЗУ2 , а затем
пересылается при выполнении операции программирования в
ППЗУ, где и хранится до тех пор, пока не возникнет потреб
ность ее затереть.
Рассмотрим теперь программные средства. необходимые для
программирования ППЗУ. Система устанавливает ППЗУ в ре
жим программирования. Даннь1е из ОЗУ2 поступают на выход
ные линии ППЗУ. Далее на вывод программирования ППЗУ
iюдается импульс. Выдача импульса программирования произ
водится последовательно для каждого адреса _(ОООО-ОЗFF1в):,
Начало
Системный
адрес= 1400 Начало ОЗУ2
Рис. 9.16. Бл_ок-схема работы
системы при реализации функ
ции стирания ОЗУ.
Запись "FF" по
системному адресу
r 0000
2 0000
J 0000
4 0000
5-0000
6 0000
7 0000'
80000JEFF
90002210014
10 0005 77
11 0006 F5
12 0007 JE 17
13 0009 вс
14ОООАСА1200
15 OOOD Fi
16 оооЕ 2э
17oooFсэо5оо
Все ОЗУ2 заполнено,
Выход
Переход к главной
управляющей.
программе
Нет
Адрес = Адрес + 1
Следующий адрес
******************************************·****************
*
*
ПОДПРОГРАММА ЧИСТКИ QЗУ
*
*
CLRAМ
CL1
ORG 0000
МVI A,oFFН
LXI Н 1 1400Н
MOV М,А
PUSH PSW
МVI А, 17Н
СМР Н
УСТАНОВИТЬ- НАЧ. АДРЕС ПРОГРАJОIЫ
АККУМУЛЯТОР•FF
В H,L НАЧАJ!ЫilЙ АДРЕС ОЗУ
FF В ПАМЯТЬ
СОХРАНИТЬ СОДЕРЖАНИЕ АККУМУЛЯТОРА
ПРОВЕРИТЬ СТАРШИЙ ВАЙТ=ПРЕДЕJI, ЗНАЧ•
ДА ,ИДТИ НА ПРОВЕРКУ JIJIAДIIIEГO ВАЙТА
ВОССТАНОВИТЬ АККУМУЛЯТОР
УВЕЛИЧИТЬ АДРЕС ОЗУ
18 0012 F1
LСНК
JZ LСНК
РОР PSW
:шх н
JIIP CL1
РОР PSW
CIIP L
~ ОБРАБОТАТЬ
СЛЕ.ЦУПIIИЙ АДРЕС
ВОССТАЗ)ВИТЪ АК!МIУЛЯ'lОР
ПРОВЕРИТЪ:W!АДШИЙ i,AIT•FF
КОНЕЦ ЭТОЙ ПОДПРОГРАIОВ··
УВЕЛИЧИТЬ АДРЕС ОЗУ
19001)BD,
200014СА1В00
21 0017 2)
220018С)0500
23001В
,
*
*
*
JZ BEGIN
INX Н·
JШ' CL1
ПОВТОРИТЬ ЗАНОВО С ДРУГИJ( AДPEC<JI
24 001В
25 ОО1В
26 0018
27 ОО1В
*
НЕОВХОДИJ( АДРЕС ДЛЯ МЕТКИ ВEGIN
28 001В 00
29 ОО1С
:ю 0010
*
BEGIN NOP
*
END-.
О E!IRO:RS
4 SYIIВOLS'
ЭТО ПУСТОЙ ОПЕРАТОР АССЕМВJIЕРА
ПРЕДЛОЖЕНИЕ END ACCEJIВJIEPA
Рис. 9.17. Реализация блок-схемы рис. 9.16 в кодах символического языка
микропроцессора 8085.
18-814
6
Начало
Установка
на табло
"DDDDDD"
'-----т------'
Установка 2708
2 в режим про
граммирования
3 Выдача данных
по адресу ППЗУ
Индикация по~ьзователю
режима программирования
системы
Подача импульса
4 программирования
на вывод 2708
Нет
8
Нет
Сравнение
ППЗУ с ОЗУ
J(JI
96
Ожидание на- •
жатия клавиши 1~
, сброса
-Переход к
главной
1f
управляющей
программе
Рис. 9.18 . Блок-схема работы системы в реж11ме программярования-_
1 0000
2 0000
З 0000
4 ooro
5 0000
б 0000
7 0000
8 ()ООО
9 ()000
1() 0000
11 ()000
12 0000
tЗ 0000 'Е DD
14 0002 DJ FO
15 00()4 DJ F1
16 0006 DЭ F2
17 0008 JE 00
18 О()ОА DJ 32
19ОООСJ2ОJ14
2) OOOF JC
21ООЮDЗЗ4
22 0012
"" РЕАЛИЗАЦИЯ КОМАНДЫ PROG для в~во.
"
ЭТА ПР()ГРА!,(Щ СЛУЖИТ ДЛЯ УПРАВЛЕНИЯ ПЕРЕПРl)Г. ПЗУ.
"
ИНФ'JРМАЦИЯОЗУ ХРАНИТСЯ НАЧИНАЯ С ЯЧ.Ь:ЙКИ 1.РОН.
: АДРЕСА ПЕРЕЩ>(}ГРАММИРУЕIЮГО ПЗУ НАЧИНАЮТСЯ С 0000.
*
"""""****"""" ПРОГРАММИСТ ДЖИМ Kl)~~POH *"*"""**""*******•
*
"
PROG
*
ORG 0000
MVI
оuт
оuт
оuт
MVI
r"UT
STA
пн
r')UT
A,ODDH
OFOH
OFIH
OF2H
А,00
З2Н
CNT1
А
нн
УСТАНl)ВИТЬ НАЧ. АДРЕС ДЛЯ АС5Е МБЛЕРА
ВЫШ:СТИ НА ДИСПЛЕЙ DDDDDD
РАЗРЕШИТЬ Пii;РЕДАЧУ ДАННЫХ В ПРОГ. ПЭf
О.БНУЛИТЬ СЧЕТЧИК ЦИКJll)В
CS/WE=1 2 V')LТS
2З М12 11 1')0 ()() PROGJ
240015210014
LXI
LXI
D,0000 Н
Н,14')0Н
ЗАГРУЗИТЬ НАЧ. АДРЕС ПРl')Г. ПЗ:t
ЗАГРУЗИТЬ НАЧ. АдF'.!i:СОЗУ
25 0')18
26 0018 Tl
27 0019 DJ J)
2В 001В7В
29001СDJ,,,
)"1 001Е 7А
J1 001F DJ )4
J2 0021
PROG2
*
'/IIOV
оuт
ьюv
оuт
lf'1V
оuт
А,М
J)H
A,F
ззн
A,D
J4H
ДАННШ: ИЗ О ЗУ В АККУМУЛЯТl)Р'
ВЫВЕСТИ ДАННЫЕ В ПР'JГ. ПЗJf
Ю -А 7 В АККУМУЛЯТОР
JO -А7 В ПРГJГ. ПЗУ
АВ-А9 В АККУМУЛЯ'NР
А8-А9 В ПР'1Г. ПЗУ
'ЗЗ 00 21
"
ПРИ!€НИТЬ ПFОГРАММИРУЮ~Й ИМПУЛЬС
J4 ()О 21
З5 002106О8
Зб 002J :Е ОЗ
З7 0025 DJ )5
18 002705
19 002ВС22700
.f1 ОО.2ВЗЕО1
41 002D DJ З~
42 M2F
4З 002F
44 002F
45 002F 7В
-tб 00J) FE F'P
47 0032 С2 JBOO
4В 0035 7А
49 00)6 FEО3
5') 0038 СА40оо·
"
MVI В,08
·M'iI A,OJ
OUT J5H
1'ULSE DC~ В.
*
JNZ PULSE
MVI А,О 1
OUT З5Н
* ПОСЛЕДНИ~ АДРЕС
*
А,Е
OFFH
PROG1
A,D
оз
LOPC
51 OOJB 2З
'
PROG1
J,IOV
CPI
JNZ
'/IЮV
CPI
JZ
INX
INX
JМР
н
52 003С 1З
5З ООЗDС31800
54 ()1)4()
D
PROG2
ВКЛЮЧИТЬ CS/WE И ПРОГ. ИМПУЛЬС.
ШИJ>ИНА ИМПУЛЬСА
ВЫКЛЮЧИТЬ ПРОГ. ИМПУЛЬС
ПРr>ГРАММИF()ВАЛСЯ?
ПОСЛЕДНИЙ БАЙТ Ю -А 1,
mСЛЕдниЙ БАЙТ АВ-А9
!ГСJ!ЕДНИЙ АДРЕС' (ДА)
УВ::ЛИЧИТЬ АДРЕСА О ЗУ И ПРОD. ПЗ.f
О ВРАВОТАТЬ СЛЕДУЮ!G!Й АдРЕС
55 0040
56 00'40
57 0040
58 ООО
59 0044
,;n 0047
"
ПОСЛЕДНИЙ РАЗ ОБРАБАТЫВАЛИСЬ BCIJ) 10 24 АДРЕСА?.
*
ЗА О) 14 LOPC
JC
J2ОJ14
FE СВ
LDA CNT1
INR 'А
STA CNT1
CPI ZOO
ЗАГРУЗИТЬ СЧЕТЧИК
ЮО ЦИКЛl)В'/??
Рис. 9.19. Реапизацвя блок-схемы рис. 9.18 в кодах символического
микропроцессора 8085.
*
JNZ PROGJ
НЕ ЮО 1\ИКЛ'">В ,ПОВ'ЮРНЪJЙ СТАРТ
61 OQ49 С2 1200
,2 004С •
• 6J 004С
64 004С
•* ПРОГРАММИРОВАНИЕ О K"1Htft:НO, n<:Ш:РЬ ПР')аgрить
6,004СЕО1
66 004Е D3 32
67 00" 3D
68 0051 DJ 35
69 0053
1)·005)
7·1 00 5J
72005)110000
7.) 0056 21 78 05
Н 0059
75 0059 7В
76 005А DJ 3J
77 ОГ5С 7А
f8 005D J)J З4
79 0()5F DB 31
Ю 0061 fE
81 0062С27600
82 0065
8) 0065
84 0065
а,· 006 5
86 0~65
87 0065 7В
88 0066 FE. FF
890068С27100
~ 006В 7А
. 91 006СFEОЭ
.
92 006:Е САО214
9) 0071
94 0071
95 0071
96 0071 23
97 0072 13
96 007JС35900
99 0076
юо 0076
Ю1 0076
to 2 00176 7В
Ю) 0077 DJ FO
Ю4 0079 7А
105 007А DJ F1
106 007С DB 31
107 007Е DJF2
106 оою
1')9 оою
1V,) оою
*
*
MVI Ар1
оuт з2н
DCR А
OUT J5H
ЗАПРЕТИТЬ ПЕРЕДАЧУ дАННЬ1Х В ПРОГ. ПЗУ
АККУМУЛЯ'IОР=О
CS/WE =О/) V
* ИНИЦИАЛИЗИР'JВАТЬ АДРЕС ПРОr .: ПЗУ И О ЗУ
*
*
PROG4
*
*
*
LXI
LXI
MOV
оuт
r,v
' 1UT
IN
СМР
JNZ
D,00
Н,I400
А,Е
JJH
A,D
-З4Н
J1H
м
PR'1GF
* АдР.Е С ПОСЛЕ ДНИ.Й ?
*
*
mv А,Е
CPI tH'FH
JNZ PRQG5
М'1V A,D
CPI OJ
JZ ВEGIN
АДРЕС О ЗУ
Ю-А7· В АККУМУЛЯТ')Р
АДРЕС В ПРОГ. ПЗУ
А6-А9 В АККУМУЛЯТОР
А6-А9 В ПР'">Г. ПЗУ
ЧИТАТЬ ДАН!ШЕ ИЗ ПР()Г.ПЗУ В АККУМУЛ,
сРАВНИТЬ ДАННЫЕ В0$УИ В IJPl)Г, ПЗУ
НЕ РАВНЫ ,ОШИБКА
!У1СЛЕ ДНИЙ JO -А 7
Нсl ПОСЛЕДНИЙ
IЮСЛЕДНИ~ АВ-А9
ПОСЛЕДНИЙ.НАЧАТЬ H:")JЭYD КОМАНД1'
* УВЗJIИЧИТЬ АДРЕСА О ЗУ И ПР") r. ПЗУ
*
PR'1G5 INX Н
INX D
JMP PR()G4
*
СРАВНЕНИЕ ПО CJIEДYIO!mM АДРЕСАМ.
*
БЛ'Ж О БРАВО ТКИ О ШИБОК
*
PROG!? l.fYV А,Е
ID-A7 в АККУМУЛЯТОР
оuт OFOH
МОУ A,D
АВ-А9 В А.~КУМУЛЯТОР
0UT О!?1Н
НА ~СПЛЕЙ
IN 31Н
ПРИНЯТЬ МННШ: ИЗ ПРОГ.. ПЗУ
оuт 0!?2Н
НА ~СПЛЕЙ
,
*
·: ЗАЦИКЛИТЬ ПР')Г. П')КА НЕ БУ.lаТ НАЖА'J.'А КЛАВИША СЕ
11t 00Ю CD 00 14 PRl)CJ6
112 0063 JAOI 14
CALL KDET
LDA KWGT
CPI 16Н
JNZ PROCJ6
JМР ВEGIN
113 0086 FE 16
1140068С2Ю00
115 006ВCJО214
116 006:Е
117 008Е
116 008Е
119 008Е
12) 008Е
НАЖАТА КЛАВИША СЕ??.?
J3gРНУТЬСЯ И О ВРАБОТАТЬ ДРУГУЮ КOIW{,
*
* УКАЗАТЬ РАЗIЕ:!!!i:НИЕ ПЕРЕ.No:ННЫХ
*
*********~**********************************************•
*
,
121 ООВЕ
122 008Е
12) ОО8Е
1Н ОО8Е
125 ОО8Е
126 О08Е
127 О08Е
128 ООВЕ
129 ООВЕ
1)0 ООВЕ
1)1 ОО8Е
flроектирование управ,l'lяющего программного о6есnечениа 265'
'
О ERRORS
~ УСТАНОВИТЬ IIEPEIIEHWE.
*
-
***********************************•********************~
*
КDЕТ EQU 1400Н
КWGT EQU 1401Н
BEGIN .t:QU 1402-Н
CNТI EQU 14О)Н
*
*
END
14 SYМВOLS
END для АССЕ.UВЛ -
Через каждые 200 шагов программирования, в диапазоне
адресов 0000-0ЗFF система выполняет операцию сравнения
данных, записанных в ППЗУ с исходными данными, хранящи
мися в ОЗУ2 . В случае когда вся информация, записанная в
ППЗУ, совпадает с исходной информацией из ОЗУ2, считается,
что операция программирования была выполнена успешно. Ес
ли же данные для какого-либо адреса ППЗУ не совпадают с
соответствующими данными ОЗУ2, то этщ· адрес и данные ото
бражаются на табло. Блок-схема описанной про~едуры приве-
дена на рис. 9.18.
•
Из рис. 9.18 видно, что работа подпрограммы начинается с
записи на табло числа D,DIЭDDD 16• Это делается с целью инди
кации факта реализации операции программирования ППЗУ.
Для того чтобы полностью запрограммирьвать ППЗУ, необхо
димо затратить более минуты, так что индикация этой опера
ции необходима.
Далее система переводит ППЗУ в режим · программирова
ния (шаг 2), что осуществляется, как известно, путем подачи
напряжения +12 В на вывод CS/WE устройства 2708. Затем
реализуе~я циклическое повторение шагов 3, 4, 5, в: реализу
ющих ~бственно программирование устройства 2708 с по
мощью данных из ОЗУ2.
•
По завершении полного прохода программирования всех
1024 ячеек осуществляется проверка на выполнен;ие 200 цик
лов программирования, что показано на рис. 9.18 (шаг 7). Ес
ли 200 циклов не выполнено, производится переход к шагу_ 3.
' В противном случае осуществляется верификация запрограм
мированных данных, что выражается шагами 8 и 9.
Несравнение данных означает наличие ошибок при програм
мировании устройс-rва. В этом случае на табло отображается
а) адрес первой по порядку ячейки, где обнаружено несрав
нение и б) данные в ППЗУ, заключенные по этому адресу, что
выражается шагами 10 11 12. При полном сравнении данных
осуществляется индикация правильности программирования пу•
тем выдачи на табло значения FDDDDD и производится пере-
266
Глава 9
дача управления в начало головной программы, что показано
на рис. 9.18 (шаг 11).
На рис. 9.19 приведена программная реализация блок-схемы
рис. 9.18 средствами символического языка микропроцессора
8085.
9.8 .
Проrраммные средства реаnиэации
функцми верификации
Перейдем к рассмотрению функции верификации, заключаю
щейся в сравнении данных ППЗУ с данными из ОЗУ2. В слу-
6
Увеличение
на l адреса
ППЗУ и OЗУ2
Начацо·
Установка адреса ППЗУ= О,
установка адреса ОЗУz= О •
Нет
Отображение ад-
3
реса и данных-
_
Ожидание пажа - 4
тия ключа сброса
Возврат в главную
7
управляющую проrамму
Рис. 9.20. Блок-схема работы системы при реализации функции верификации.
чае несовпадения какого-либо элемента данных на табло отоб
ражается адрес этого элемента и соответствующие данные.
Рассматриваемая функция особенно необходима в том случае,
когда существует сомнение в правильном программировании
ППЗУ. Она используется также для правильности затирания
информации в ППЗУ.. С этой целью вначале производится сти
jрание ОЗУ2 и затем - проверка правильности стирания ППЗУ
rc помощью ключа верификации.
Блок-схема реализации; функции верификации приведена на
рис. 9.20, по которой видно, что вначале система устанавливает
значение 0000 для адреса сравнения (шаг 1)., Далее осущест-
Проектирование управляющеrо п ограммного обеспечения
267
t O00
2О.
)о
4 0000
5 0000
6 000()
7 0000
8 0000
9 0000
1() 0000
11 0000
12 0000
1J 0000 AF
14 ООО1 ЭС
150002DЭН
16 0004 AF
17 ООО5DJ)5
18 1")007DJ )3
19 СОС9D1 34-
ю ()00В110000
21 000.1!": 21 00 14
22 0011
2J 0011
24 0011
25 0011 DB 31
26 001) ВЗ
27 0014 .С2 :эt 00
28 0017 ЗЕ 1З
29 0019 ВА
З) 001.АС2 2600
J1 M1DJEFF
J2 001F ВВ
J")ООЮС22600
J4- 002)СJ)С00
J5 0()26 1)
36 0027 7А
JT оо28DJ34-
JB 002А7В
J9 002ВD) J)
40 002D 23
41 002S СЗ 11О/)
42 OOJ1 DЗ FO
43 00З3 7В
44 0034 DJ F1
45 0036 71;
46 00)7 DЗ F2
47 0039С))900
48 оозс
49 00 эс.
, :) OOJC
51 Ot> JC
52 003С 00
5J 00'.!D
********************************··············••**********
*
.
* НА РИС. 9.21 !У)КАЗАНА f!Р()ГРАММА ViY ,БJIOK-CJ(gl(A.
* КО'ЮРОЙ: ИЗ')ВРАЖЕНА НА РИС. 9. Ю.
*ПРОГРАМ14ИСТ ДЖИМ КОФФFОН
*
*******4*************************************************•
*
ORG 0000
УКАЗАТЬ ACCIJ)МWJEPY HAЧAJI.O Dl!'Pr- .
* УСТАНОВИТЬ РЕiИМ ЧТЕНИЯ из ПРОr.пзУ
..
'/FY
*
XRA
INR
' 1UT
XRA
оuт
' )UT
fJUT
LXI
LXI
А
А
J2H
А
З5Н
JJH
J4H
D/)000
H,lf)Oi!
О ВЕСПЕЧИ'DЬ РЕЖИМ Ч'lЕНИЯ
cs,. ,o.o v·, PGM=a .ov
АДРЕС /О -А 7 '()
АДРЕС А8-А9 ,()
•,
YCTAHl1J3И:T Ь АДРЕС ПРО!.. , ПЗУ
УСТАНОi'ЫТЪ АДРЕС О З'f
•* НАЧАТЬ ЦИit,1 ЧТ!!:НИЯ ii{ ПРС:а&РКИ:
*VFYt IN J1H
СМР М
JNZ VFAIL
MVI А, 1JH
СМР D
JNZ VNEX
МVI A,OFFH
СМР Е
JNZ VNEX
JМР START
VN.i:X:. . I NX_ .
D.
МОV A,D
OUT J4H
:МОV А ,Е
OUT JJH
INX Н
JMP VFY1
VFAIL оuт OFOH
MOV А,Е
QUT OF1H
МОV A,D
OUT OF2H
V01JT JMP VOUT• .
*
)
ЧИТАТЬ ДАННЫЕ ИЗ ПРОГ. ПЗУ
СРАВНИТЬ ДАННЫЕ О ЗУ И Ш'ОГ. ПЗУ
ЕСJ!И НЕ РАВНЬ1,'1'> НА VFAIL
Г.ЮЕЕРИТЬ СТАРШИЙ ВАЙ:Т ,ПОСЛЕД. АДРЕС
НЕ ПОСЛЕдниЙ,ПРИНЯТЬ СЛЕДУЮ!WIЙ АДРЕС
ПР08i!:РИТЬ WIАДШИЙ ВАйТ ,П!"1СЛЕДНИЙ АДРЕС
НЕ mСЛЕДНИЙ,ПРИНЯТЬ СЛЕДУЮ!W!Й АДРЕС
НАЗАД К О сн,вю Й ПРОГР AMIIE
НОВЫЙ: АДРЕС ПРоГ. ПЗУ
ВЬJдАТЬ ДАННЬIЕ
ВЬ1дАТ Ь ДАННЫЕ
НОВЫЙ АДРЕС О ЗУ
СРАВНИТЬ СJIЕДУЮПИЕ дАННШ:
ВЫдАТЬ НА ~СПJJЕЙ----ХХ
ВЫВ()Д АДРВСА НА ~СПШ:Й:
ЖдАТЬ ПРЕРЫВАНИЯ
:***** ТЕПЕРЬ вJДi: М ФИКТИВНУЮ ПSРЕNo!;ННУD
*
***************
START NOP
END
END ДЛЯ АОСЕМВJ!ЕР:t
О ERIORS
6 S'!IIШOLS
Рис. 9.21 . Реализация блок-схемы рис. 9.20 в кодах символического языка
микропроцессора 8085.
вляется сравнение данных по адресу О из ОЗУ2 с данными по
адресу О ППЗУ. Если эти данные не сравниваются, на табло
выводятся адрес данных и собственно данные, что показано на
схеме (шаги 3 и 4). При сравнении данных производит<;я уве-
личение на 1 адреса (шаг 6).
.
При последовательном увеличении адреса осуществляется
сравнение данных по каждому адресу. В случае когда данные
Начало
Установка адреса ППЗУ= О
установка адреса ОЗУ = О '
Чтение данных ППЗУ 2
Запись данных
нз ППЗУ в ОЗУ
Да
з
Увелнченне иа I адреса
ППЗУ нОЗУ
Рис. 9.22. Блок-схема работы систе
мы при реализации функции копиро
вания.
ереход в главную
управляющую про-- 6
rрамму
1 0000
2 0000
3 О.ООО
4 0000
5 0000
6 0000
7 0000
8 0000
9 ООО();
10 ооос
11 0000
12 0000
1) 0000
14 0000 No
15 0001 JC
16 0002 DJ )2
17 0004 AF
18 0005 DJ )5
190007110000
20ОООА210014
***********************************************************
*
* НА РИС.9.2J ПОКАЗАНА ПРОГРАММА соРУ,влоК-СХЕМА
* КОТОРОЙ ИЗОБРАЖЕНА НА РИС.9.22
*
* ПРОГРА1411ИСТ Д1ИК НОФФРОН
·*
***********************************************************
*
ORG ОООН
*
.* РЕЖИМ ЧТЕНИЯ ИНФОFМАЦИИ ИЗ ПРОГ • ПЗУ
XRA А
INR А
AККY.IUJIЯTOP=1
оuт J2Я
XRA А
оuт J5Я
CS=O.OV 1 PGМ=O.OV
LXI D10000 АДРЕС ПРОГ. ПЗУ=О
LXI
21 OOOD 7В
- СОРУ1 IIIOV
и, ноон УСТАIЮВИТЬ АДРЕС ОЗУ
А!Е
22 ОООЕ DJ))
2) OOfO 7А
24 0011 DJ 34
25 001) DB )1
26 0015 77
27 0016 JE 1)
28 0018 ВА
290019С22200
)О 001C_JE FF
)1 Q01F ВВ
32001FСА2700
,, 0022 2)
34 002) 1)
CNEX.
)50024С)OD00-
оuт
моv
оuт
IN
JiIOV
м:vt
CIIP
JNZ
l4VI
СМР
JZ
INX
INX
JIIP
Jн
АДРЕС АО-А7
A,D
нн
АДРЕС А8-А9
)1Н
ЧИТАТЬ :ИИФОрМ:АЦИЮ ИЗ ПРОГ. ПЗУ
141А
ШВЕСТИ :ИИФО.t>::.tЩИЮ В ПЗУ
А113Н
D
ПРОВЕРКА НА ПOCJIEДН!-tli АДРЕС
CNEX
ЕС.ЛИ АДРЕС НЕ ПОСЛЕ.~.; 'IИЙ I ТО НА CNEX
A10FFH
"WIАДIПИЙ: Б.АЙТ ПOCJIEJЩE1 ::> АДРЕСА.
Е
STARТ ECJIИ АДРЕС ПОСJIЕДНИЙ 1 'Ю КОНЕЦ .
и
· СJIЕДПiций
АДРЕС ОЗУ
D
СJIЕДУЮЩИЙ АДРЕС IIaY
СОРУ!
ПРИНЯТЬ СJIЕдmциЕ ДАНWЕ
36 0027
*
37 0027
* ТЕПЕРЬ ВВЕДЕ11 ФИКТИВНУI) ПЕРЕМЕННУЮ
38 0027
*
39 0027 00
STARТ NOP
-40 ()028
END
ПРЕДЛОDНИЕ. END ,АССЕМБЛЕРА
О ERIORS
4 SYIIВOLS
Начало
Установка адреса ППЗУ = О,
установка адреса ОЗУ = О •
Чтение данных ППЗУ 2
Зап 11 сь д;JIII-IЫX
11з ППЗУ в ОЗУ
3
Рис. 9.22. Блок-схема работы систе
мы при реализации функции копиро
вания.
Нет
Да
Увелич ение на I адреса
ППЗУ II ОЗУ
Пер еход в rлав11ую
у.лр авляющую npo- 6
rpaмr-.-1y
1 0000
2 0000
З О.ООО
4 0000
5 0000
6 0000
7 0000
8 0000
9 ООО();
10 ооос
11 0000
12 0000
1З 0000
14 0000 АУ
15 0001 30
16 0002 D3 32
17 0004 AF
18 0005 D3 35
19ООО7110000
20оооА21оо14
**~******************************************************* *
*
* НА РИС.9.2J ДОКАЗАНА ПРОГРАММА СОРУ 1 ВЛОК-СХЕМА
* КОТОРОЙ ИЗОБРАЖЕНА НА РИС,9.22
*
* ПРОГРАЮ{ИСТ ДЖИМ НОФФРОН . _
*
***********************************************************
*
ORG ОООН
*.
.* РЕЖИМ ЧТЕНИЯ ИНФОРМАЦИИ ИЗ ПРОГ • ПЗУ
:*
•
СОРУ XRA А
INR А'
ОUТ J2H
XRA А
ОUТ 35Н
LXI D10000
АККУМУЛЯТОР= 1
CS=o.oV,PGM=o .ov
• АДРЕС ПРОГ , ПЗУ,=О
УСТАНОВИТЬ АДРЕС ОЗУ
21 OOOD 7В
• СОРУ!
LXI Н 1 140Qtl
:МОV А,Е
22 ОООЕ D3 3)
•2J00107А
24 0011 DJ 34
25 0013 DB J1
26 0015 77
27 0016 3Е 1J
28 0018 ВА
290019С22200
JO 0010 JE FF
J1 001F ВВ
J2001FСА2700
JJ 0022 23
-
CNEX
34002)1i-
J50024CJOD00
Jб 0027
*
ОUТ JJH
АДРЕС АО-А7
АДРЕС АВ-А9
ЧИТАТЬ ИНФОРМАЦИЮ из ПР0Г , пз:r
ВЫВЕСТИ ИНФ Оt'М!.::.ЩЮ В ЛЗУ
MOV A1D
оuт нн
IN J1H
:МОV M jA
МVI A,1JH
СМР D
ПРОВЕРКА НА ПОСЛЕДНИЙ АДРЕС
JNZ CNEX
ЕСЛИ АДРЕС НЕ ПОСЛЕ;.; iИЙ, ТО КА CNEJt
МVI A10FFН
СМР Е
JZ STARТ
INX Н
INX D
JКР СОРУ 1
МЛАДШИЙ вАйт ПОСЛЕ.Щ!Еl J АДРЕСА
ЕСЛИ АДР:§С ПОСЛЕДНИЙ I ТО КОНЕЦ
СЛЕДУЮЩИИ АДРЕС ОЗУ
СЛЕДУЮЩИЙ АДРЕС ПЗУ
ПРИНЯТЬ СЛЕДУЮЩИЕ ДАННЫЕ
J7 0027
* ТЕПЕРЬ ВВЕДЕМ ФИКТИВНУЮ ПЕРЕМЕННУЮ
J8 0027
1 J9002700
40 0028
О ERRORS
*
START NOP
END
ПРЕДЛОЖЕНИЕ END -ДCCEI.IBJIEFA
4 SYМВOLS
Рис. 9.23. Реализация .блок-схемы рис. 9.20 в кодах символического языка
микропроцессора 8085.
1 0000
2 0000
) 0000
4 0000
5 0000
ti 000()
7 0000
8 0000
9 0000
10 0000
11 0000
12 0000 З\ _FF 1J
******** ** ********* ******* **** ********** * ** ***** **** ***·••·
*
* 1ПРАВJ!ЕНИЕ ПРОГРАММИРОВАНИiМ ПРОГ, ПЗУ
*
*******
ПРОГРАММИСТ ДIИМ КОФФРОН *********************•
4
4
ORG 00
УСТАНr")ВИТЬ НАЧАJIЫШЙ АДРЕС
4
*
ЗАДАТЬ НАЧАЛЪНЪDi1 ЗНАЧЕНИЯ ДЛЯ BCIJ)X !ЕРЕIЕННЫХ
*
НАЧ, ЗНАЧЕНИЕ УКАЗАТЕЛЯ С'JЕКА
1J ОООJ AF
ВEGIN
LXI SP 1 1JFFH
XRA А
НАЧ, ЗНАЧ!i:НИЯ ФЛ.UКОВ,ОВНУЛИТЬ АКК1L
РАЗРЕШИТЬ ПРЕРЫВАНИЯ
14 0004 FB
15 ООО5DJ FO
16 0007 DJ F1
170009DJF2•
18 ОООВJ200 10
19 ОООЕ J201 10
Z) 001132О210
21 0014J2OJ10
22 0017 JC
2J 0018 )204 10
24 0018
25 001В
26 001В
27 001В
28 001В
29 001В
JO 001В
З1 0018
J2 001В
JJ 0018
Н 001В
• J5 001В
J6 001В
J7 001В
J8 001В
)9 001В
41) 0018
41 001В
42 001ВCD6400
О 001Е
Н 001ЕJAО210
45 0021. FE 16,
46 002J СА 2С00
47 0026 DA2С00
48 0029 CJOJOO
*
•
EI
оuт
оuт
оuт
STA
STA
STA
STA
INR
STA
ОМН
OF\H
OF2H
КТIМЕ
CFLAG
KWGHT
КООМР
А
КROW
НОЛЬ НА ДИСПЛЕЙ
ВЫДАТЬ НА ДИСПЛЕЙ 000000
КТIМЕ=О
CFLAG=O
КWGHT=O
КСОМР=О
АККУМУЛЯТОР=1
KROW~OOOOO 1
* УСТАН'>ВИТЬ АДРЕСА ПЕРЕIIЕННЫХ
•
КТIМЕ EQU 1000 Н
CFLAG EQU KTIIIE+1
КWGHT EQU CFLAG+1
КС'>МР EQU KWGHT+1
KROW EQU KC'JMP+1
Nlr>W
EQU J<ROW+1
С1'Т1 E.QIJ NIOt+1
AIN1 EQU CNT1 +1
AIN2 EQU AIN1 +1
AINJ EQU AIN2+1
AIN4 EQU AINJ+t
*
*
НАЧАЛО ОСЮВН'JЙ ПРОГ, ОБРАБОТКИ ВВОДА КОМАНД
*
*
CALL КDЕТ
LDA KWGHT
CPI 16Н
JZ ВEGN1
JC ВEGN1
-
JMP ВEGIN
ЖДАТЬ НАЖАТИЯ. КЛАВИШИ
ВЫЧИСЛИТЬ ЗНАЧЬ:НИЕ КЛАВИШИ
КЛАВИШ& ВIЭQДА Kl)lfAHДЫ???
ЕСЛИ ПЕРЕХО.ЦЬl. CPAIIOTAJIИ ;ТО КОМ, ПРАВ~
. ИГНОРИЮВАТЬ
ВВОД
49 002С
*
~ 002С
*
ВЪJЧИС.ЛИТЬ АДРЕС ПЕРЕХОДА
51 002С
*
РИС, 9,1J
52 оо2d
*
5J 002С ЗАО2 IQ ВEGN1
54 002F Dti 10
55 00J1 47
56 00)2 87
57 00ЭJ Ю
58 00J4
59 00)4-01 00 00 *
LDA
SUI
)f)V
ADD
ADD
LXI
KWGH'l '
16
Jl,A
А
в
в,оо
АККУIUЛЯТОР=КWGНТ-16
АККУIIУЛЯТОР*2
АККУ.IIУЛЯТ)Р*J
Рис. 9.24. Попиая программа для микропроцессора 8085, реализующая все
операции сие-темы.
"1) оо37 н·
61 0038 21 )))00
- 62 003809
6) OOJC Е~
64- OOJD
*
!8.JV С ,А
LXI H,TABLE
•DADВ
I'CHL
ВЪIЧИСЛ&ННОЕ CliEI!EJiИI:: В РЬ;ГИСТР С
ЗАГР~ИТЬ ВАЗ')ВЫЙ АдРЕС ТАВJIИЦЫ
ПРИБАВИТЬ Cl>El!Ei-lИE к ВАЗ')В) 11У АДРЕСУ
ИДТI'!. К ВЫЧИСЛС:НН')МУ АДРЕСУ ТАБЛИЦЫ
65 Ol')JD
*
66 00JD
* !rАБJIИЦА ДЛЯ АДРЕС')Э I1EPEXl")д')B
67 МЗD
*
,f i8 ООЭD С) 58 00 ТАБLЕ JMP
,t;9 0040 С) 5800
JMP
1} ()()4) СJ НО1
JМР
71 0046 СЭСН()2
JMP
72 M49C31D02
JMP
73 Of)4C CJАВО2
JМР
74 004F С) F202
JMP
75 0052СЗ5Е00
JMP
76 0()55 С:) 6100
JМР
71 0058
'*
ENTER
CENTY
ADDSE
CLRAМ:
PR()G
Vr-'Y
С'1РУ
NA\
NA2
78 !)0 58
*** R':НЕЦ ТАВJ!ИЦЫЕNТRУС *******
·79 М58
*
,ю ()0 58
*
КОМАНДЫ ENTR'f ,CENTRY ,NAI 1NAZ
-81 ()()58
w-
-82 М5В CJО300 ENТE!t
,i\J 005В CJ()3()0 CENTY
i\4 1)()5ЕCJОJ00 NA1
-З5 1'061 "С) (1) 00 NA2
86 0064
*
87 О()64
~***~-,.--.
-8 8 ()064
~~
~9
0064
*
JMP Вt;GIN
JMP ВEGIN
JMP Вt;GIN'
JMP 1БEGIN'
9') 0(')64
*
НАЧАЛ() РИС, 4, 20
·91 .М64
*
92 1')1')6 4 CD 2? О 1 I<))ET
93 0067 CD 1FOt
CALL
CALL
LDA
CPI
JZ
CALL
l)Rl')W
ФLМ
CFLAG
l')l")H
KDET
КЕУW
94 006АЗАО1Ю
95 006D- FE 00
96 006FСАб400
97 on72CDF500
98 r,n75
99_ 1')1) 75
К"Нl,Щ РИС, 4, 20
НАЧАЛО РИС,4, 21
*
ВЫВ!':СТИ АКТИВ!iЬIЙ HABl')P
ВЫЗВАТЬ ПОДПр:'!'ГРАММУ OOL/l
,,
lbl:r')BX")ДИI() ПРОВе:РИТЬ ФЛАJ.')К сrолвЦА:
f!Рl')Ве:РИТЬ АКТИВН')СТЬ СТ')Л~
НЕ АКТИВНЫЙ С~ЛВIЩ,П(')В'l")РИТЬ ЦИКЛ
АКТИВНЫ;\ СТ')ЛВЕЦ 1 КАКОЙ И!е!~JЮ???
·1n.o оо 15
1n1• 1'11'175
102 М75
1" J 1")() 75
~ 4 ()()75
105 0()75
У)б <И 75
*н"н ВЫЛИ НАЖАТЫ RЛАВИIDИ
1')7 01")75 JAOO 10
11') 8 1)0 7В
1')9 ()078
11'1 0() 78
·11 1 01)78
112 М78 FE ◊О
11'3 ()1)7А СА !,IF 0()
·1 Ц 007D
115 (Ю 7D
116 006D
117 00 7D
118 0')7D
119 007D )АО2 10
*
**НП(ШАГ 1)
*
LDA кт:~;ш
CPI МН
JZ· КСIЛ1
Н* НЕ П~i:РВЫЙ: РАЗ
*
'"'"***С!Ш.r 1>
*
LDA KWGHT
ЛЕРi:ЗАГРУЗИ1~ КТIМЕ ИЗ ПАМН'rИ
KTIМE=I)??
ДА,Эр flaPBЫ:i РАЗ
*****
КАКАЯ ЦИФРА 6ЬIЛА ЯАВРАНА???
/
11
12> оою 41.1'
JIOV СООА
РЕГИСТР C=KWGHT
121 0081 JAОJ tO
LDAк~
РЕГИСТР А=КСОМР
122 0084 89
СМР с
KOOМP=KWGHT??
12J 0085 СА 81.1' 00
JZ KCI/)2
ДА,ОНИ РАВНЬП!!!!!
124 0088
*
125 0088
******(ШАГ 8)
126 00 88
*
127 0086 AF
XRA А
ОНИ НЕ РАВНЫ
128 0069 J2 00 10
STA КТIМЕ
ПЕРЕЗАПИСАТЬ КТIМЕ
129 008С CJ АА 00
JШ' КСLОЭ
ИДТИ НА IЕРЕЗАГРУЗКУ АКТИВ. НАБОР
J1) 008F
*
131 008F
***"'**(ШАГ 9)
1)2 О()6F
*
1JJ 006F 3А 00 10 KCID2 LDA КТIМ&
ВЫЗВАТЬ КТIМЕ ИЗ ПАМЯТИ
134 0092 3С
INR А
КТПШ=КТIМЕ+1
1)5 0093 32 00 10
STA КТIМЕ
KTI18=KTIМE+t
1 )б 0096
*
1 )7 0096
*****t(ШАГ 10)
1)8 0096
*
1)9 ()096 FE 32
CPI 7)
KTIIIE=,:)??
140 0096С2ААОО
JNZ КСIЛ)
.EПJj: НЕ 71
Н1 0098CD8200
CALL. КОРН
ПРОВЕРИТЬ Г'>'l">ВНОСТЬ ПУЛЬТА.
Н2 О09Е С9
RET
К'ЧIЕЦ зrой mдnРОГРАОЬI
143 009F
*
144 009F
***°***(ШАГ 3)
145 0091!'
*
146 009F JA 02 10 KCW1 LDA KWGHT
Н7 ООА2 J20) ю
STA KCOIIP
КООМР=КWGНТ
146 ООА5
*
149 ООА5
******(ШАГ 4)
,,, ООА5
*
1'1 оом :Е ot
MVI А,01-
152 О0А7 'Э2 00 10
STA КТПIЕ
УСТА!ЮВИТЬ KTIМE=t
153 ООАА
*
-
154 ООАА
******(ШАГ 5)
155 ООАА
*
156 OOAJ. 'Ео1
KCLOJ МVI А,01
157 ·ООАС 32 04 10
STA KRQW
УСТАНОВИТЬ АКТИВНЫЙ НАВ'">Р=ООООООО 1
158 OOAF
*
159 OOAF
***"**(ШАГ 6)
160 ООА!.1'
*
(-
161 Q()AF С3 64 00
J:MP KDET
Идт'Л К НАЧАЛУ ПРОГРАММЫ
\
16 2 0082
*
16 J 0082
*
164 0082
******************~*************************************
165 0082
*
166 0082
***""" JIАЧ.МО ПОДПРОГРАIОIЫ
*****************
16 7 0082
*
168 00В2
********************************************************
169 0082
*
11) 00В2
*
171 0082
"
рис.,. 22
172 0082
*
!1РОГРА141111 ПОДГО'ЮВКИ ПУЛЬТА
17J 00В2
*
174 00В2
**********•*••·····••***************~······•·У**********
175 ()082
*
176 0082
**""""(ШАГ 1 )
177 0082
*
178 00В2 :ЕО1
I{')PN MVI А 1() 1
179 0084 32О4 10
STA КROW
КROW~0000001
180 ООВ7 )D
181 00В& )2 05 10
DCR А.
STA NROW
182 оовв
*
183 ООВВ
******(ШАГ 2)
184 оовв
*
185 оовв )2 00 10
186 ООВЕ
187 ООВЕ
188 ООВЕ
STA КТIМЫ
*
******(ШАГ З)
*
189 ООВЕ CD 2F О 1 КОРN1 cдLL onow
190 ООС1
*
191 ООС1
192 ООС1
·* ***** (ШАГ 4)
*
19) 0001 OD
194 ООС4
1F01
CALL CvLМ
195 ООС4
196 ООС4
.
197 ООС4 3А 01
198 ООС7 FE 00
10'
199 0009 С2 BZ 00
*
******(ШАГ 5)
*
LDA CFLAG
CPI 00
JNZ K0PN
200 оосс
•t
201 ООСС
'******(ШАГ 9)
202 оосс
*
20) ООСС JA 05 10'
204 oocF эс
205 00DO )2 05 10
206 OODJ
207 OOD)
208 OOD)
209 00DJ FE 05
210 OOD5 С2 ВЕ 00
211 00D8
212 OOD8
21 J 00D8
214 OOD8 )А 00 10
215 00DB )С
216 0JDC J2 00 1О
217 00DF 47
218 ООЕО
219 ООЕО
220 ООЕО
221 ООЕО AF
222 ООЕ1 )2 05 10
22) ООЕ4
224 ООЕ4
225 ООЕ4
226 ООЕ4 JE )2
227 ООЕб В8
228. ОоЕ7 С2 ВЕ 00
229 ООЕА
230 ООЕА
*
LDA NHOW
INR А
'SТА NRO\V
CPI 05
JNZ K0PN1
****** (ШАГ 6)
*
LDA КТIМЕ
INR А
STA КТIМЕ
*
:МОV В1А
******(ШАГ 6А)
*
*
ХНА А
STA NRoW
******(ШАГ 7)
*
:МVI А15О
С!11Р в
JNZ КО!'N1
*
******(ШАГ 8)
*
NRoW=oooooooo
КТ:tМЕ=О
БЫВЕСТИ НАБОР
ВЫВЕСТИ. ДАННЫЕ СТОЛБЦА
ВВЕСТИ CFLAG
Cli'LAG=O??
ПУЛЬТ ЕЩЕ НЕ СВОБОДЕН
БВЕСТИ дктивны~1 НАБОР
ЗАПИСА:П, АКТИJЭНЬUi 11AOOI'
СКАНИРОВАНИЕ НЕ ЗАКОНЧЕНО
РЕГИСТР B=KTI!i!E
..
ЗНАЧЕЮ{Е НАБОРА=О
КТIМЕ=50???
11ЕТ 1 СКАНИРОВАНИf! ЕЩЕ РАЗ
/
---231 ООЕА
2)2 ооЕА 09
RET
выход. из ПоДПРОГРАWS nодrо·i'овки
233 ООЕВ
234 ОоЕВ
2)5 ООЕВ
2)6 ООЕВ
237 ООЕВ
2)8 ООЕВ
· 2)9 ОоЕВ
*
.
********-*****************************************""*****Н
** ПОДПРОГР А1О1А КОUТ
*
* ЭТА ПОДПРОI'i'АМIIА БЪIВЕДЕ'l' ДАНWЕ С ПУЛЬТА НА ДИСПЛЕЙ.
241'1 ООЕВ
241 ООЕВ
242 ООЕВ
"
· ·····••************••······························•·* ·•
*
243 ООЕВ 11.('!2 I0 КОUТ
,244 ООЕЕ D1 FO
LDA
.оuт
OUT
оuт
RET
KWGHT
OFOH
OFIH
OF2H
ДАННЫЕ С_ЛУЛЬТА В АККУМУЛЯТО~
245 00FO DЭ FJ
246 ')О !1'2 DJ F2
247 00F4 09
248 OOF5
:249 OOF5
.250 00 F5
251 00 е'5
.252 00 F5
25) 00 F5
254 OOF5
.255 0015
.256 00F5
.257 00 F5
258 OOF5
259 00 F5
260 OOF5
261 OOF5 А1!'
262 OOF6 JA01 10
26.J 00 F9
264 OOF9
265 00F9
266 ооF9Об00
267 00РВ
268 OOFB,
269 OOFB
270 00FB Н'
271 00FC FE 00
272 00 FE
273 OOFE
274 00 FE
275 OHFE САО501
276 О101
277 О101
278 О101
279 010104
280 ОЮ2CJFB00
261 О1()5
282 0105
28) О105
284 О1()5 А~
285 0106 :)АО4 Ю
286 О 109
287 0109
288 ОЮ9
289 О109ОЕ-00
29?.Оюв ·
•
291 010В
292 ()t,B
29з оr,в 11i'
294 О!ОСFE00
295 О IOE
296 Оюz
297 О IOi
298 ~10Е СА1SО1
29!} {) 111
"
* fl:)ДПР')ГРАМ!IЛ КЕУW
"
* :ЭТА mдnl")ГPAМIIA УСТАН')ВИТ ЗНАЧЕНИЕ HAJiA'l'1Й КJ\АВИШИ
*
·· ·· ·· ·· ~ ·· ·· ·· ·· ·•***********•*•*••···••***•************
"
****" БЛОК-СХЕМА ~Т')Й ПРОГРАIIIМЬI НА РИС,4,16
"
*,..*"*(ШАГ 1)
*
КЕУW ХНА А
LDA C?LAG
*
* Н***(ШАГ 2)
*
M'lI В,00
*
""*":"" (ШАГ 3)
*
КЕУW1 RAR
CPI 00
"
**"*"*(ШАГ 4}
"
JZ КЕУW2
*
*•!'•*Ч!ПАГ- 5)
*
!NH В
JМР КEY'ifl
"
"'"*•**(ШАГ 7)
*
КЕУW2 XRA А
LDA KROW
"
**"*"*(ШАГ В)
"
MVI с,оо
*
"*"*""(ШАГ 9).
"
КEYWJ RAH
CPI 00
"
*""*,..(ШАГ 10)
*
JZ КЕУ\У4
*
О ВНУЛИТЬ ФЛАЖКИ И АККУМУЛЯ'1'1Р
ПРИНЯТЬ ФЛАЖОК СТОЛВЩ ИЗ ПАМЯТИ
О ВНУЛИТЬ СЧЕТЧИК
СДВИНУТЬ ВПРА~ НА 1 ВИТ 10 В D7
РSГИСТР В=О,1 ,2,J ,4 (ШАГ 6)
УВЕЛИЧИ~Ь ЗНАЧ,СЧБТ. и идти НА mвтор
О ВНУЛИТЬ ФЛАЖКИ
ВЬIЭВАТЬ АКТИВНЬIА НАВСР
О ВНУЛИТЬ СЧЕТЧИК Т2
СДВИГ ВПРАОО НА 1 ВИТ ,О В 1'7
ЕСЛИ НОЛЬ,ТО ВЬ!Пr')J!Ю:НО
:юо
:ю1
1)2
'J) J
1)4
:D'
1'6
D7
:ю8
J)9
J11)
)11
)12
J1J
)14
315
:316
317
)18
119
)2)
~21
322
нз
324
325
З2б
327
J28
329
JJ)
JJI
3.12
JJJ
3J4
' ))5
зЗб
JJ7
ЗJВ
339
)40
З41
342
34J
344
145
З46
34'7
34В
349
,,,
351
J52
J5J
354
3'5
З5б
З57
358
З59
О 111
0111
О111ос
О112CJ08о1
()115
О 11'
О 11,
О 115 AF.
0116 78
О117 17
О118 17
0119 Ю
ОIIA81
() 118
О 118
011В
о~10з202ю
О 11Е
011Е
О11Е
011Е С9
1'111F
О 11F'
О11F
О 11F
О 11F
О 11F
О11F'
011!"
011F'
011F
О11F'
О 11F
О 11F
О 11F
О11F'
О 11F
о11!!' А!?
О1а1 J2О1Ю
О 12)
О 12)
О 123
О12JDBFE
О 125
О 125
О 12,
о125 Fб Ю
О 127
О 127
О 127
() 127 'FE FF
О129св
О 12А
О 12А
О 1lA
О12А2F
О 128
,о 128
О 128
О128J2О1Ю
*""*"*(ШАГ 14)
*
INR С
JШ' КEYWJ
*
**""** (ШАГ 11)
*
КЕУW4 XRA А
lf')V А,8
RAL
*
RAL
ADD В
ADD С
***"** (ШАГ 1 2)
*
STA КWGHT
*
******(ШАГ 1,J)
'lf ,,
RET
*
*
*
ПОДПРОГРАММА. СОLМ
*
У.Еi;JIИЧИТЬ ЗНАЧЕНИЕ СЧЕТЧИКА
ИДТИ НА IЮ8'ЮР
О ВНУJIИТЬ ФЛАЖКИ
АККУМУJIЯЮР=СЧЕТЧИК СТОJIВЦ')8(Т1)
В*2
В*4
8*5
(8*5)+С=О - 24
8ЬlАТИ ИЗ ЭТОЙ rr>дПРОГРАММЬI
* ЭТА ПОДПРОГРАММА О ПРЕЩ:ЛИТ АКТИВНЫЙ СТ'1ЛВЕЦ,
* ЕСЛИ ОН СУПЕСТВУЕТ.
*
******************************************************•
*
* ЭТА ПОДПРОГРАММА-РИС,4.15
*
********************************************"**********
*
*" ****(ШАГ. 1)
*
COLM XRA А
STA CFLAG
*
*"****(ШАГ 2)
1*
.:J;N OFEH
*
******(ШАГ J)
*
ORI OE,:'JH
****Н• (ШАГ 4)
*
CPI OF~H
RZ
*
******(ШАГ 5)
*
СМА
*
****** (ШАГ 6)
*
STA CFLAG
УСТАНОВИТЬ ФJIАЖОК СТОJIВЩ.=О
ВХОДНШ: ДАННШ: ИЗ Пt')рТА FE
УСТАНОВИТЬ БИТЪi D5 ,Dб ,D7= 1
ШАГ(4А)
ИНiЕРТИРОВАТЬ ДАННЫS
УСТАН()ВИТЬ ФЛАЖОК СТОJIВЩ
)@1
Эб1
Зб2
ЭбЗ
364
Зб,
Збб
Зб7
Зб8
'369
З1'
' 371
;72
З7J
З74
J75
З7б
'377
J78
J79
зю
З81
)82
)83
З84
385
ЗВб
387
З88
З89
J<л
З91
392
З9J
394
J95
J96
З97
398
399
4"11')
41) 1
41') 2
40З
41') 4
41')5
4/')6
4') 7
4'1 В
4">9
410
411
412
41З
41(
415
416
417
418
419
О1ZE С9
О 12F
О 12F
012F
012F
О 12F
') 12F
О 12F
О 12F
О 12F
О 12F
О 12F
О 12"
() 12F
О 12F
О 12F
О 12F
О 12F
ВЫЙТИ ИЗ Э'l")Й mдПРОr?АМ!Ш
"
••••••••••~••••••r**************************************
*
*
ПОДПРОГРАММА ВЫООДА АКТИВНОГО НАБОРА НА ПУЛЬТ
*
* ИМЯ Э1'1Й ПОДПРОГРАММЫ: - OROW
*
"
ЭТО Pi1C,4 ,12
*
*******************************************•************
*******·~**************************••··········*********
*
"
РИС,4.12
ПОДПРОГ, К РИС,4, 10 В мн.нт1и1~ Ю En
*
······················••*************************4******
*
*
012"' зАо4 ю o~ow
LDA KROW
П'1ВТ"РНЫЙ B:.IЗl)B АКТИВНГ)Гr'1 НАБОРА
О 1З2
*
0132
* ШАГ2
О 1З2
О1З2-.-Е ю
О134С2:,СО1
01 З7
О 1З7
() 1J7
0137 3Е 01
О119СЗ ЗDО1
01 JC
О 1JC
О 1зс
()1зс()7
() 1JD
О 1ЗD
О 11D
*
*
CPI
JNZ
"
ШАГ 2А
*
*
MVI
.JMP
*ШАГ2В
*
r'1R"IW1
*
*ШАГЗ
*
1f1H
OROW1
А,') 1Н
STJ
СКА..ЧИР"ВАНИJ:; HABclPA 3АК"НЧJ,Н'1"'??
.,;ели НЕТ,'!") ШАГ 2В
ПЕРЕ!Ь~СТИТЬ АКТИВНЫЙ НАБОР
ИДТИ НА ШАГ J
СДВИНУТЬ ДАННJ:JЪ: ВЛЕОО, О !3 !У)
01ЗD 1204 Ю SТЗ
С"IХРАНИТЬ АКТИВНЫ~ НАВ')Р
,., 140
"
0140
n140
О140 2?
О 141
0141
О 141
()141 DJ FE
о14З
')14),
"10
r')14J С9
0144
'1144
' )144
')144
0144
1'1144
n1н
11144
1')!44
О 144
О 144
* ШАГ4
*
СМА
ИН$ РТИР'1ВА ТЬ СЮМ НАООРА
*
* ШАГ5
*
' 1UT
ВЫВЕСТИ АКТИВНЫЙ НАБОР В ПОРТ F&
"
*
ШАГ 6
*
*
*
*
"
*
ПОДПРОГРАММА ADDSE ,РИС, 9, 1 5
ЭТА ПРСГРА!\VАА 13ВЕ дИ АДРt:С ЛЗ TPt:X ЦИt>Р С ПУЛЬТА,
ВЫВЕ,!ЕТ АДР.i:С НА ДИС~~ И 3АП'1МНИТ ДАННЬ!li: В
ПРОГРАМI.Е ПЗУ ПО АДРЕСУ, УКАЗАННГJМУ НА ДИСПЛЕЕ
-420 01Н
*
-421 01Н ЗЕ AJ
ADDSE MVI А ,OAJH
--422
'J146DJF2
OUT 'l)F2H
-4 23 11148 А"'
ПАА
!
-4
24 OH9DJF1
оuт 0f1H
-425 1)ЦВDJFO
оuт OFOH
ВЫВЕСТИ НА .n;tC!l/lEЙ А JO(IOO
--4 26 014D
*
-427 ОЦD
*
426 О1НCD6.$00
CALL KDET
ПРИНЯТЬ IEPBЛJ ЦИФРУ С ПУЛЬТА
-429 ('1 1'Ю 'JA'12 1'1
LDA КWGHT
АККУМУЛЯТОР:-:m:роой ЦИФЯ: •
-4)') ()15J.D, FO
' 1UT '>F')H
выаr;сти nEPBYJJ ЦИФРУ
-4-31 О155J2О7 10
STA AIN1
ЗАПОМНИТЬ 'IЕРВУЮ -ЦИФРУ
-432 ()156
*
,43) О 156
"
-434 0158 CD6400
CALL КDЕТ
ПРИНЯТЬ BТ('JPYI) 1.\ИФРУ С ПУЛЬТА.
-435 О15ВЗАО210
LDA KWGHT
АККУМУ.ЛЯТОР=Вrомй .ЦИФРЕ
- 436 015Е 3206 Ю
STA AIN;г
ЗАПОМНИТЬ ВТОРУЮ ЦИФРУ
"37 0161 3А')7 10
LDA AIN1
ПРИНЯТЬ IEPВYD ЦИФРУ ИЗ ПАМЯТИ
"438 О164 17
RAL
--4 39 0165 17
RAL
440 0166 17
R.l\L
-441 0167 17
HAL
СДВИНУТЬ ВIIEB'1 НА 4 ВИТА
- 44 2 0166Е6!Ю
AIN '1F'1H
МАСКИР:,ВАТЬ МЛАДПIИЕ" 4, БИТА
--443 О16А J2ОА 10
STA AIN4
С'>ХРАНИТЬ ПРОNo::М.~Т. РSЗ,
-444 0I6D JA 08 1()
LDA AIN2
АККУМУЛЯ'l"'!Р 0 МЛАД111ИЕ 4 ВИТА В'ЮР .ЦИФ,
-445 0170 21 ОА ю
LXI H,AIN4
УСТАН11ВИТЬ В Н ,L АДРЕС AIN4
- 446 О173В6
ORA м
ЮГ. "ИЛИ"АККУМ. И ПЕРВОЙ l\ИФ,В AINf
.447 О174.DJ FO
оuт о~н
ЗАПИСАТЬ НА .n;tC!l/lEЙ ХХХХ--
-4 48 0176
11
--449 О 176
*
..~ О176CD6400
CALL KDET
ПРИНЯТЬ ТРВ Тьt ЦИФРУ
-451 О179JAО2 10
LDA KWGHT
АККУМУЛЯ'IОР=тmтья ЦИФРА
-452 ()17СJ2о9 У)
STA AINJ
ЗА!ЮМНИТЬ РЕЗУЛЬТАТ
..5;"1Н'ЗАr,В10
LDA AIN2
ВЫЗВАТЬ ВТ:-,РУI) ЦИФРУ
--454 .о162 17
'1AL
-455 О163 17
RAL
--456 О 164 17
RAL
--457 О 185 17
RAL
сдвиг ЦИФРЫ ВЛЕ8" НА " ВЩ'_А
-456 О1В6i6 FO
AIN OFOH
В!iДЕЛИТЬ 4 МЛАДШИХ ВИТА
-459 О166 2109 10
LXI Н ,AINJ
лоr."или"ВТОРОй и ТРЕТЫR ЦИФР
- 460 016В В6
ORA м
-,4,;1 О16СDJF1
оuт OF1H
ВЬIВ~-:СТИ ЦИФРУ НА JJ;ICПJl&Й ...
- 462 ()18Е J20B 10
STA AIN2
В'l")РАЯ И ТРЕТЬЯ· ЦИФРЫ В AINZ
-46Э О191
"
-464 О 191
*
--46 5 0191 AF
ВАА
-466- О192 DJ FO
~uт М'1Н
ДИСПJIЕ ~=ХХ•-00
-467 О194
"
-466 О194
*
-469 О194 JAО7 10
LDA AIN!
,41) () 197 DJ F2
(')UT 'Н'2Н
.п;~сrш й :() ххюо ·, г ДЕ ХХХ-АДР.ЕС
-471 О199
*
-472 0199
*
"7J () 199
* 'IЕП&РЬ ЧИТАЕМ ДАННЫЕ ИЗ ПАЫЯТИ
-4 74 0199
* НИIНЯЯ ГРАНИЦА=АIN2,&:РХНЯЯ ГРАНИЦА=АIN\
•И5 О 199
*
-476 0199 21 00 14
1-XI Н, I.-ООН Н ,L=НАЧАJIЬНЫЙ- АДРЕС
"17 О1QCJAО6ю
LDA AIN2
"78 О 19F 5"'
'IIOV .Е ,А
:4 79 01.Ю JA07 10
LDA AIN1
•во 01AJ )7
l,!J!/ D,A
D,В=АЩЕС ()ЗУ
481 О1А4 D5
PUSH D
ЗАПИСАТЬ
482 О1А5 19
DAD D
Н ,L=НАЧАJIЬНЬIЙ АДРЕС
•вз о IA6
*
•В4 О 1А6
•
4В5 ,., 1А6 1Е
NRED !IDV А,М
ЗАГРУЗ'1ТЬ В АККУМ,. ДАННЫЕ ИЗ ОЗУ
486 OIA7 DJ FO
оuт OFOH
УСТАW)ВИТЬ ДИСП, =О XXXDD ,Г ,$ DD-ДАНН.
407 r') 1А9
•
•в0 OIA9
•
•в9 l)IA9
* МЫ. 'Тr')ЛЬJ<r') ЧТО О Кl)НЧИ.ЛИ ШАГ ·4 БЛОК-СХЕМЫ
• 9') ()IA9
*
Н1 1'\ 1А9
*
492 ОtA9Е5 -
PUSH н
ЗАП(')МНИТЬ АДРЕС
49) ()1АА CD 64 00
CALL KDET
ЖДАТЬ СЛЕДУЮПЕМ НАЖАТИЯ КЛАВИШИ
49• ()IADJA(12Ю
LDA KWGHT
АККУМУЛЯТОР=ЗНАЧЕНИЕ КЛАВИШИ
•95
rJ1В" FE 11
CPI 17
НАЖАТА ХJ!АВИША CLEAR??
•9б О1В2СА FDО1
JZ ADEX
ДА ,ИД~ •НА BJ:lXr')Д ИЗ Э'Г')Й ПР')ГРА/~IМЬl
497- О1В5 ?ЕFE10
CPI 16
НАЖАТА КЛАВИША ENТER??
498 OIB7 СА "'fi' 01
JZ STPB
ДА ,идrи НА ШАГ 8 БЛl)К-СХЕМЫ
•99
О 1ВА
*
500 О 1i3A
*
501 01ВА
* НЕОБХОДИМ:) ПРИНЯТЬ ДВЕ Н'1ВШ: ЦИФРЫ. И ЗАПОМНИТЬ ИХ В О ЗУ
'12 •О1ВА
*
5') з 1)1ВА CD 64 00 TNIR CALL KDET
ПР'АНЯТЬ lf.)ВYI) ЦИIРУ
,:\ 4 n1BO JArJ2 n
LDA КWGHT
АККУМУЛЯТОР=ЗНАЧЕНИЕ КЛАВИШИ
'15 nICDЗ2ОА 1n
STA AIN•
ПМNoЖУТ')ЧНЫЕ ЗАПОМИНАНИЯ
'Лб (') 1CJ DJ F')
оuт fJMH
ЗАПИСЬ НА ДИСПЛЕЙ
,., 7 r')1С5CD64or,
CALL КDЕТ
ПРИНЯТЬ СЛЕДУЮ!:!УЮ ЦИФРУ
'181'\1СВЗАО21n
t·DA KWGHT
~9 n!СВ
*
510 О!СВ З2n910
STA AINJ
BPENoHHfJ Сl)ХРАНИТЬ В ПАМЯТИ
511 О1СЕ ЗА1)А !()
LDA AIN4
ВЫ.ЗВАТЬ !ЕРВУЮ ЦИФРУ
512 О1D1 17
RAL
513 ОID217
RAL
514 (') 1DЗ 17
~АЬ
515 1'\ 1D4 17
RAL
СДВИНУТЬ ВЛЕВ') НА • ВИТА
516О1D521О9ю
LXI H,AINJ
517 О1DB86
ORA м
ЛОГ, "ИЛИ"Гl,;РВfJit И BТOJ'()lt ЦИФР
518 О1D9 З2О9 1О
STA AINJ
СОХРАНИТЬ ДАННЫЕ В ПАМЯТИ -
519 О1DC DЗ FO
O\JT OFOH
ВЫВЕСТИ НА ДИСrt}IЕЙ
520 О 1DE
*
521 О 1DE
*
5,2 О 1DE
* ПР')ВЕРИ ТЬ ДАННЫЕ
52J О 1DE
*
52• о1DECD6400
CALL KDET
ПРИНЯТЬ КЛАВИШУ
525 t'1Е1JAО2n
LDA KWGHT
АККУМУЛЯМР=ЗНАЧZНИЕ КЛАВИШИ
526 () 1Е4 FE \r)
•CPI lб
КЛАВИША ENТER???
527 r11E6 С2ВАО1
JNZ TNIB
Нli:T ,ПОВТ')РНО ЗАПРОСИТЬ Н'1ВЫЕ ДАННЫЕ
528 О IE9
*
529 (') 1Е9 -
*
5J() () 1Е9
*
ЗАПИСАТЬ дАННЫЕ В ПАМЯТЬ
5J1 OIE9
512 О1Е9ЗАО9IП
LDA AINЗ
ВЬ!ЭВАТЬ ДАННШ
5ЗЗ 1) IEC EI
РОР н
ВОССТА!!ОВИ1Ь АДРЕС В ПАМЯТИ
534 () IED 77
NIJV М,А
ДАННЫЕ В ПАМЯТЬ
535 fJ IEE Е5
PUSH н
5)6 () 1FF
*
5З7 n 1EF
*
536 ()1EF EI
SТРВ РОР н
539 О1F0 2J
INX н
УЕЕЛИЧИТЬ АДРЕС НА 1
/
540
541
542
54J
544
545
546
547
548
549
5'1
551
552
55)
554
555
556
557
558
559
56'1
561
562
56З
564
565
566
567
568
569
570
571
572
57)
574
575
576
577
578
579
58')
581
582
58)
584
585
586
567
588
589
590
591
' 592
59)
594
595
596
597
598
599
ОН'1 D1
0,1 Р2 1,J
О 1F'J D5
0.1 F'4 7В
01F5 DJ F1
О1Р7 7А
О1F8 DJ F2
О1FACJА6О1
О 1FD
О 1F'D
О 1"'D Е1
О1FED1
О 1fi'F CJ ()З
Оа,2
о 202
Оа12
О 202
О 202
О 202
() 202
О 202
О 2'">2
О 2'12
О2'J2JE FF
о204 21rю 14
о207 77
О208 F5
0209 JE 17
О20ВВС
020ССА14Ог
020F F1
О2102З
0211 CJ()702
О214 F1
О2158D
0216CAOJ()()
о219 ~з
О21АСЗ()1О2
О 21D
О 21D
О 21D
О 21D
О21D
О 21D
021D
О 21!)
О21D
О 21D
О 21D
О 21D
О 21D
О 21D
*
ADEX
*
*
*
РОР
INX
PUSH
1/t)'l
оuт
М()V
оuт
JMP
D
D
D
А,Е
OF1H
A,D
OF2H
NRE.D
ЮРН
ЮРD
JMP ВlsGIN
В')ССТАН')ВИТЬ АДРЕС О ЗУ
СОХРАНИТЬ ЗНАЧ!i:НИВ
ВЫ.ВО: СТИ АДРЕС НА Щ!СПJIЕЙ
выа.сти АДРЕС НА ·щicrun,:й
:r; 111> РАЗ НАЧАТЬ О !ЕР.(,ЦИЮ
ИДТИ НА НАЧАЛО УПRАВЛЯК:ПЕЙ ПРОrРАМ.
*
********************************************************
*
*
mдпРОrРАММА чистки () ЗУ
•._
РИС.9.17
~--···················································•*
CLRAM
CL1
LCHK
*
*
*
*
MVI A,OFi'H
txr н,т~nн
l{()V • М,А
PUSH PSW
MVI А, 17Н
СМР Н
JZ LCHK
Р)р PSW
INX ,Н
JMP CL1
МР PSW
СМР L
JZ ВEGIN
INX Н
JMP CL1
АККУ МУЛЯТ()р =F F
В H,L НАЧАЛЫ!ЫЙ АДРЕС ОЗУ
FF В ПАМЯТЬ
СОХРАНИТЬ СО~Р. АККУМУЛЯТ'JРА
ПРОВЕРИТЬ СТАРШИЙ БАЙТ=ПРЕ~Л. ЗНАЧ.
ДА,ИДТИ НА ПРrJВЬ:РКУ МЛАД!l!ЕМ ВАЙТА
ВГJССТАН'1ВИТ Ь АККУМУ ЛЯТ')Р
УШЛИЧИТЬ АДР,i;С ОЗУ
О БРАВ'JТАТЬ СJJ,;ДУ'l:ПИЙ АДРЕС
В')ССТАН'JВИТЬ АККУМУЛЯТ'JР
!IРО.&:РИТЬ:МЛАJJI]ИЙ BAЙT=FF
КОНЕЦ ЭТ'JЙ ПОДПРrJrРАММЫ.
У&ЛИЧИТЬ АДРЕС ОЗУ '
П'1ВТ')РИТЬ :зАН()ВО с ДРУГИМ АДР,i; сr,м
'
*
mдПРОrРАММА РЕАЛИЗАЦИИ К'JМАНДЫ PROG,
*
ЭТА ПР()ГРАММА СЛУЖИТ для УПРАВЛЕНИЯ ГЕРЕПРnr. ПЗУ.
*
ИНФОРМАЦИЯ О ЗУ ХРАНИТСЯ НАЧИНАЯ С ЯЧt:ЙКИ 1401)Н.
*
АДРЕСА ~PEПP'1rPAMl\l,'\PYEJ',f)M ПЭУ НАЧИНАЮТСЯ с аооо.
*
*
*
*
*
PROG
A,nDDH
OFOH •
0F1H
OF2H'
А,00.
ВЫВЕСТИ НА )_!ИСПJIЕЙ DDDDDD
О 21D
02TD
О 21F
О 221
О 22)
О 225
О 227
О l29
ЗЕ DD
DJ FO
DJ F1
DJ F2
ЗЕ 00
DJ J2
З206 10 ..)
MVI
оuт
оuт
оuт
MVI
OUT
STA
J2H
CNT1
РАЗРЕШИТЬ Щ:РЕДАЧУ ДАННЫХ В nр(')Г.ПЗУ
о ВНУЛИТЬ с~:штчик цикж,в
-бОn 022С JC
601 02?D,D;1'J4
60Z- •022F '·
'
P:IOGJ
INR А
rщт J4H
ЦI
LXI
CS/WE = 12 V')LТS
6'1'J О 22F 1,1' 0"' 00
6')4 .(),,432 <'1 ()" 14
605 '0-ZJ~•
*
6С16 1) 2J5 7i.
PR1'1G2
Dl)OOO Н
Н, 1400 Н
ЗАГРУЗИТЬ НАЧ.АДРЕС ПРl'JГ, ПЗУ'
ЗАГР~ЗИТЬ НАЧ. АДРЕС ОЗУ
ДАННЬ[g ИЗ О ЗУ В АККУ ;1\УЛЯТ()Р
ВЫВ!,;СТИ ,ДАННЫЕ В ПР()Г. ПЗУ
АО-А7 В АККУМУЛЯТ')Р
,607С2)6DЗУ'
:16а0 о 2зе 1в
6')9' ()2)9 DЗ JJ
610 02JB 7А
611 02JC DJ J4
612 02:JE
61) 02Ji
614 ()2Ji
615 О2JiО6оВ
616 '124'1JE()J
617 О242DJ J5
618 ()244О5
619 0245 С2 44 02
62'1
' J24B JE01
621 024А DJ 35
622 n24С
62) 024С
624 О 24С
625 n24С 7В
626 О24DFB FF
627 О24FС2 58О2
628 02527А
629 О25JFEОJ
6J'1 ()255СА5D()2
6)1 0258 2)
6)2 0259 1J
6JJ О25АСJJ5О2
6J4 025D
6)5 ()25D
А,М
У\Н
АЕ
3jн
А')-А7 В ПР'JГ. ПЗУ
A,D
АВ-А9 В АККУМУЛЯ'Г'1Р
J4H
АВ-А9 В ПМГ. ПЗУ
*
*
ПРЮ1.:ни-rь ПРОГРАММИРУЮП:ИЙ ИМПУЛЬС
PULSE
MVI
MVI
оuт
DCR
JNZ
MVI
' 1UT
в,1;в
A,n J
з,н
в
PULSE
А,() 1
J5H
ВКЛЮЧИТЬ CS/WE И ,ПРОГ. ИМПУЛЬС
ШИРИНА ИМПУЛЬСА
выключить ПPnr. ИМПУЛЬС
* П')СJ]r,;ДНИЙ АДРJ,;С ПРr1ГРАММИР()ВАЛСЯ?
*
P~G1
*
М"1V А,Е
CPI 'Ji>FH
JNZ PIOG1
М'1V А ,D
CPI ()J
JZ LOPC
ПIХ Н
INX D
JMP PR'1G2
П')СJ!ZДНИ:1 БАЙТ АО-А 7
пnсЛЕ ДНИЙ БАЙТ А8 -А9
!ЮСЛЕДНИЙ АДРЕС(ДА)
УВЕЛИЧИТЬ АДРЕСА О ЗУ И ПР')i'. ПЗУ
О ВРАБОТАТЬ СЛt:ДУЮП:ИЙ АДРЕС
* - Пf)-CШ:.IIIIИЙ: РАЗ о БРАВАТЬIВАЛИСЬ ВС.: 1024 АДРЕСА?
*
6)6 () 25D
637 О 25D
6)8 026')
6J9 n261
64'1 О 264
641 О266
642 О 269
64J О 269
JA 06 10 LOPC
JC
LDA
INR
STA
CPI
JNZ
' CNT1
ЗАГРУЗИТЬ сч.,;тчик
А
644 О 269
J206 Ю
FE СВ
С22FО2
645 О269 JlО1
646 026!:!DJJ2
647 О26DJ1)
648 О26Е DJ J5
649 О 27'1
65'1 Он,
651 о 21а
652 О27'J11()000
65J 027J 21 7805
654 О276
655 О276 7В
656 0277 DJ JJ
657 0279 7А
65В П27АDЗ '34
659 ()27С- D8 J1
*
CNT1
2'1')
PROGJ
200 UИКЛ'1В??
No: 2'1() UИКЛ'JВ, ПОВ'ЮРНЬI~ СТАРТ
*
ПР'1ГРАММИРОВАНИl ()i<OHЧl!:HO, Тh:ПЕР Ь ПР'16,;РИТЬ
*
MVI А,') 1
OUT J2H
DCR А
OUT J5H
*
ЗАfJРi:ТИТЬ П&РЕДАЧУ ДАННЫХ В ПР.ПЗУ
АККУIUЛЯТ:-JР-=О
CS/WE = '),О V
*
ИНИUИАЛИЗИРОВАТЬ А]!РЕС ПРОГ. ПЗУ И ОЗУ
*
LXI
LXI
М"1V
' 1UT
M')V
'JUT
IN
D,00
н,цrю
А,Е
JJH
A,D
J4H
J1H
АДРЕС О ЗУ
А'1-А7 В АККУМУЛЯТОР
АДРЕС В ПРОГ, ПЗУ
А8-А9 В АККУМУЛЯТ'1р
А8-А9 В ПРПГ, ПЗУ
ЧИТАТЬ ДАННШ: ИЗ ПР')Г.ПЗУ В АККУМ,
660 О27Е ВЕ
661 О27FС29JО2
• 662 О282
66J О 282
664 'о 202
665 0282
666 О 282-
667 О2827В
668 028J FE F'F
669 OZ85 С2 8Е 02
670 0288 7А
671 (')289 FEОJ
672 О28В САОJ00
67J О 28.1:;
6Н О28Е
675 О 28Е
676 О28Е 2J
677 О28F 1З
678 О29')СJ760·2
679 О 29J
6во о29J
681 О29J
682 О293 7В
68J 0294DJ?'J
б84 0296 7А
685 О297 DJ FI
686 О299DBJ1
687 029BDJF2
688 О29D
689 О 29D
69') О 29D
691 О29DCD6400
692 ·о2А'))АО2Ю
69J 02AJ FE 16
694 ()2115 С2 9DО2
695 02АВ CJ OJ 00
696 О 2АВ
697 О 2АВ
698 О 2АВ
699 О 2АВ
1аа о 2АВ
7'11 О 2АВ
7'12 О 2АВ
7r,3 О 2АВ
• 704 О2АВ
7')5 О 2АВ
7')б О 2АВ
707 ('I JAB AF
708 О2АСJC
709 !12ADDJJ2
710 О 2AF' А?
711О2В')DJ35
712 ()2В2DJJJ
713 02В4 DJ З4
714 ()2В6 1100 0()
715 О2В921:JO 14
716 О 2ВС
717 О 2ВС
'718 О 2ВС
719 О2ВСDB:Э1
*
*
*
СМР М
JNZ PW1GF
СРАВНИТЬ ДАННЫЕ В ()ЗУ И ПРОГ,ПЗУ
НЕ РАВНЬl,ОШИВКА
*
АДРЕС П"'CJIE ДНИЙ
*
IOV А,Е
CPI OFFH
JNZ PROG5
IOV A,D
CPI ОJ
JZ ВEGIN
-
ПОСЛЕДНИЙ A"I -A7?
Ш ПОСJu;;@ШЙ
ПОСЛЕДНИИ А8-А9
ПОСЛЕДНИЙ,НАЧАТЬ НОВУЮ КОМАНД1
*
УШ:Л;1ЧИТЬ АДРЕСА ОЗУ и ПРОr.пзУ
*
PROG5 INX Н
INX D
JMP РRОЩ
СРАВНJ!:НИ& П') C.IISДYIOU}'IM АДРЕСАМ
*
RJJl)K () ВРАВl)ТКИ () шивr,к
*
PRnGF M'JV А,Е
OUT OF'JH
M'JV A,D
OUT Мtн
IN J1H
OUT OF2H
Al)-A7 В АККУМУЛЯТGР
А8-А9 В АККУМУЛЯТОР
НА ДИСПJIЕ Й
ПРИНЯТЬ ДАННЫ.: ИЗ ЛРОГ. ПЗУ
НА ДИСПJIЕЙ
•
* ЗАЦИКЛИТЬ ПРОr.ПОКА НЕ ВУ)tт НАЖАТА КЛАВИША CF
*
Pci0G6 CALL KDET
LDA • KWGHT
CPI 16Н
JNZ PW1G6
JМР ВEGIN
НАЖАТА КЛАВИША CF??
ВьРНУТЬСЯ И ОВРАВОТАТЬ ДРУГУЮ ·КОМАН,
*
НА РИС, 9, 21 ПОКАЗАНА Пр')rРАММА VFY I БЛОК-СХЕМА
* КОТОрОЙ ИЗОВР АЖЕНА НА РИС, 9. 20
.
*
********~***************************** ·*****•***********
*
: УСТАНОВИТЬ РЕЖИМ ЧТЕНИЯ ИЗ ПРl)Г,ПЗУ
*
VFY
ХАА А.
INR А
оuт 3 211
XRA А
OUT 3511
OUT JJH
OUT J4H
LXI D,0000
LXI Н, 14001!
() Ш:СШ:ЧИТЬ РЕЖИМ ЧТЕНИЯ
CS=o .o V,PGM=O.OV
АДРiС АО-А7=0
АДРЕС А8-А9 =О
УСТАНОВИТЬ АДРЕС ПРОr.пзУ
У СТАН'1ВИТ Ь АДРЕС О ЗУ
* НАЧАТЬ ЦИКЛ ЧUЮ!Я И ПРОВЕРКИ
*
Vr'YI IN JIH
ЧИТАТЬ ДАННЫЕ ИЗ I1PQГ, ПЗУ
720 О2ВЕ 1m
721 О2вF С2 DC 02
722 О2С2 3Е 1)
72) О2С4 ВА
724 О2С5 С2 DI 02
725 О2С8 )Е FF
726 О2СА ВВ
727 О2СВ С2 D1 02
728 О2СЕ С) О) 00
729 02D1 1З
VNEX
730 02D2 7А
731 02D) D) Н
732 02D5 7В
73) 02D6 D) ))
734 02D8 2)
735 02D9 С) ВС 02
736 02DC D3 FO VFALL·
737 02DE 7В
738 02DF D) F1
739 О2Е1 7А
740 О2Е2 D) F2
741 О2Е4 CD 64 00 VOUТ
742 0217 )А 02 10
743 02.ЕА FE 16
744 02.ЕС СА О) ОН
745 02EF С2 Е4 02
746 02F2
*
*
С1(р )(
JNZ VFALL
МVI А, 1)Н
СМР D
JNZ VNEX
:МVI A,OFFя
С11Р Е
JNZ VNEX
JМР BEGIN
INX D
МОV A1D
ОUТ З4Н
:ЫОV А,Е
OU'l ' ))Н
INX Н
J.61:P VJY1
ОМ OFOH
lfOV АЕ
оuт оf1н
МОV АD•
оuт оt2н
CALL КDЕТ
LDA КWGНТ
CPI 16Н
JZ BEGIN
JNZ VOUТ
СРАВНИТЬ ДАНШЕ ОЗУ И ПРОГ, ПЗУ'
Е~И НЕ РАВW 1 ТО НА VFALL
ПРОВЕРИТЬ С'!'АРIПИЙ ВАйт,послЕд. АДРЕС
НЕ ПОСl/IЕДНИИ,ПРИНЯТЬ СЛЕДУDЦИЙ АДРЕС
ПРОВЕРИТЬ МЛАДШИЙ вАйт,поСЛЕд. АДРЕС
НЕ ПОСJIЕДНИЙ,ПРИНЯТЬ СЛЕдУDЦИЙ АДРЕС
НАЗАД Н ОСНОВНОЙ ПРОГРАММЕ
НОШЙ АДРЕС ПРОГ ." ПЗУ
lllДАТЬ ДАН!llЕ
ШДАТЬ ДАНШЕ
:НОВIЙ АДРЕС ОЗУ
сРАВНИТЪ CJIEД~E ДАННЫЕ
ВЫДАТЬ НА ДИСПJ!Ей---П
ВЫВОД АДРЕСА НА ДИСПЛЕЙ
Jl!ДАТЬ НАЖАТИЯ ЮIАВИШИ
НАЖАТА КЛАВЮIIА СЕ?
IЩТИ НА ОЖИДАНИЕ НАЖАТИЯ Ю!АВИПIИ
747 02F2
748 02FZ
749 02F2
*********** **** ***** ** **tl:*М-*ff'*.** *** ** * * ** * **4****** ********
*
750 02F2
751 02F2
752 02F2
75) 02F2
754 OZF2
755 02F2
756 02F2
757 02F2
758 02F2
759 02FZ. 11"$
760 02F) 3С
761 01F4 D) )2
762 OZF6 АУ·
76) 02F7 D) )5
* НА РИС,9,2) ПОКАЗАНА ПРОГРАММА СОРУ 1 ВЛОК-СХЕМА
* КОТОРОЙ ИЗОБРАПНА НА РИС,9,22
*
*
*
*
* PEIИII ЧТЕНКЯ ИНФОFМ.АЦИИ ИЗ ПРОГ, ПЗУ
*
СОРУ XRA А
INR А
АК1U'ЫУЛЯТОР=1
оuт )2Н
XRA А
Q\JТ )5Н
CS=O,OV,PGМ=O,OV
LXI D1 0000 АДРЕС ПРОГ, ПЗУ=О
LXI н, 1400:\{ УСТАНОВИТЬ АДРЕС ОЗУ
764 02F9 11 00 00
765 02FC 21 00 1i
766 02FF 7В
СОРУ! :ЫОV
оuт
А}Е
)н
АДРЕС AQ-A 7 •
767 о,оо D3 ЗЗ
768 0)02 7А
769 0)0) D) Н
770 0)05 DB )1
771 0307 77
772 0)08 )Е 1)
773 ОЗОА ВА
774 О)ОВ С2 14 О)
775 О)ОЕ )Е FF
776 0)10 ВВ
777 0)11 СА О) 00
776 О)14 2)
CNEX
779 0)15 1)
780 0316 С3 FJ. 02
781 0319
782 0319
. о SiRCliS
19-814
•
60
JIOV A1 D
·оuт нн
,АДРЕС А8-А9
IN З1Н
ЧИТАТЬ ИНФОРМАЦИD ИЗ ПРОГ, ПЗУ
!,!QV Jf1A
ВЫВЕСТИ ИНФОР!4АЦИЮ В ПЗУ
!i4VI А, 1ЗН
СМР D
ПРОВЕРКА. НА ПОСJIЕДНИЙ АДРЕС
JNZ CNEX
ЕСЛИ АДРЕС НЕ ПОСЛЕДНИЙ I ТО НА CNEX
:МVI А,о~'FН
00Е
W!АДШИЙ БАИ.Т ПОСЛЕДНЕГО АДРЕСА
JZ BEGIN ЕСЛИ АДРЕС ПОСЛЕ,ЦНИЙ. 1 ТО КОНЕЦ
INX н
СЛЕДУЮЩИЙ. АДРЕС ОЗУ
INX D
СЛЕДУПЦИИ АДРSС ПРОГ, ПЗУ
JUP COPI1
ПРИНЯI'Ь СЛЕДУЮЩИЕ ДАННЫЕ
DD
ПРЕДЛОЖЕНИЕ END АССЕМВЛЕРА
8'1"11ВОШ
282
Гnава 9
совпадают для всех адресов, производится возврат в основную
программу (шаг 7). На рис. 9.21 приведена реализация функ
ции верификации средствJми символического языка микропро
цессора 8085.
9.9.
Проrра.ммные средства реаnизации
функции коnирований
Последней функцией, которую мы рассмотрим, является функ
ция копирования, С>Существля:iощая электрическое копир0вание
данных из лnзу в ячейки ОЗУ2. Эта функция используется
для размножения уже существующего ППЗУ. Блок-схема реа
щ1эации •функции приведена на рис. 9.22 . Из .этой схемы видно,
что на шаге· 2 производится чтение данных из ППЗУ, а на ша
ге 3 ~ их запись в ОЗУ. Подобные действия повторяются для
всего диапазона адресов 0000-03FF16 . На рис. 9.23 приведена
реализация функции копирования • средствами символического
языка микропроцессора 8085.
9.f0.
Выводы по проrра.ммным средствам
В настоящей главе были рассмотрены все основные аспекты
проектирования и написания программ для системы, управляе
мой с помощью микропроцессора. С целью более подробного
изложения частных ·вопросов был рассмотрен конкретный при-
. мер.
При этом были раскрыты общие вопросы, -характерные
для различных задач. Для большей наглядности использовался
аппарат блок-схем, а необходимая полнота изложения дости
галась с помощью примеров программной реализации приве
денных блок-схем.
В главе был последовательно изложен процесс ·создания про
граммного обеспечения системы. При этом правильный выбор
отправной точки гарантирует успех. В главе заострялось вни
мание на тех важных вопросах, решение которых необходимо
осуществить до начала разработки программного обеспечения.
Правиль1;1ое понимание рассмотренной задачи будет способст
вовать правильному 1:1спользованию других микропроцессоров
для решения конкретных задач.
На рис. 9.24 приведена полная программа управл~ния сис
темой для микропроцессора 8085 ..
Глава 10
ОТЛАДКА ТЕХНИЧЕСКИХ
СРЕДСТВ СИСТЕМЫ
В настоящей главе будут рассмотрены различные концепции
поиска неисправностей и отладки системы, управляемой мик
ропроцессором на примере устройства программирования
ППЗУ, описанного в гл. 8 и 9. При этом используется техника
поиска неисправностей, аналогичная той, которая обсуждалась
в гл. 5. Будет подробно показано, каким образом можно про
верить функционирование технических средств конкретной си
стемы.
Еще раз будут рассмотрены вопросы отладки технических
СJ)едств системы с использованием метода, известного под на-_
званием тестирования посредством статических сигналов. Этот
эффективный и сравнительно экономичный метод предполагает
единый прямой подход к пррблеме поиска неисправностей в
аппаратуре. Вследствие простоты и некоторых других преиму
ществ метода по Сf)аi3нению с динамическим тестированием при
решении большинства задач поиска неисправностей рассмотрим
еще раз общие принципы и применение тестирования· посредст
вом статически)\: сигналов.
10.1.
Тестирование посредством статических
сиrнаnов
В( гл. 5 были освещены общие принципы тестирования посред
ством статических сигналов, а собственно метод использовался
пnи изложении,вопросов отладки технических средств исходной
сиtтемы. В настоящей главе этот метод применяется при от
ладке аппаратуры устройства программирования ППЗУ. Еще
да установки микропроцессора в системе использование данно
г~ метода позволяет убедиться, что память и все схемы ввода
вьtвода функционируют правильно.
' На рис. 110.1 приведена схема используемого устройства тес
тирования посредством статических сигналов. Прежде чем пе
рецти к подробному-изложению вопросов отладки системы 8085
с помощью этого. устройства, кратко осветим некоторые nажные
момЕtнты, относящиеся собственно к используемому методу. Во
первых, отметим простоту технических средств устройства тес
тирования. Такое устройство можно построить с помощью стан-
19•-
П
а
н
е
л
ь
п
о
д
к
л
ю
ч
е
н
и
я
с
и
с
т
е
м
ы
к
У
Т
С
С
С
Х
)
r
,
.
.
.
.
(
C
I
U
'
)
"
q
'
C
"
)
N
.
.
-
N
N
N
N
N
N
N
N
!
1
.
1
.
1
.
1
.
1
.
1
.
1
,
,
~
2
0
-
=
-
-
:
:
-
i
О
?
~
~
~
~
:
!
:
~
~
0
1
•
1
•
1
•
1
·
1
·
1
•
<
{
5
1
7
1
9
1
1
1
1
1
:
э
_
I
С
з
7
4
L
S
3
6
7
-
=
-
-
·
о
N
s
d
'
С
"
'
)
С
"
)
м
м
1
i
1
~
1
1
~
В
с
е
т
о
ч
к
и
.
+
5
1
:
.
о
Р
и
с
.
1
0
.
1
.
П
о
i
и
а
я
·
·
с
х
ё
м
а
у
с
т
р
о
й
с
т
в
а
т
е
с
т
и
р
о
в
а
н
и
я
с
т
а
'
1
1
И
ч
е
с
к
и
м
и
с
и
г
н
а
л
а
м
и
д
J
I
Я
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
а
8
0
8
5
.
-
:
-
Отладка технических .. ~едсте системы
285
дартиых логических схем. Как видн<> из ри'с. 10.1, для этого до
статочно использовать лишь пять различных ИС.
Во-вторых, тестирование посредством статических сигналоВ"
чрезвычайно удобно в применении. Отметим, что устройство·
тестирования осуществляет управление системой точно так же,
как и микропроцессор. Поэтому дл.я использования _устройства
тестирования посредством статических сигналов (УТСС) необ
ходимо лишь понять особенности управления техническими
средствами системы со стороны микропроцессора.
В-третьих, УТСС можно приспособить к особенностям конк
ретной системы. Простота технических средств УТСС позволя
ет модифицировать это устройство с целью реализации специ
альной функции, присущей лишь .конкретной системе. Пользо_.
ватель может по желанию вносить изменения в УТСС. Об этом
свидетельствует тот факт, что фирма CMS поставляет версии
УТСС для любого из микропроцессоров, рассмотренных в книге.
10.1.
УстроАство тестирования посредством
статических сиrнаnов дnя .микропроцессора 8085
Рассмотрим функционирование УТСС, показанного на рис. 10.1, •
детально проанализировав назначение каждого компонента схе
мы. На рис. 10.1 можно заметить переключатели SA15-SA8•
Каждый из них одним концом соединяется с землей, а дру
гим - с согласующим··реэистором на 4,7 Ом, Н{ак это показано
на рис. 10.1 лишь для переключателя SA8•
Переключатели расположены на входах интегральных схем
IC1 и IC2 (рис. 10.~ ), представляющих собой устройства 7404.
Выходами IC 1 и IC2 являются адресные выходы А 15-А8 для
микропроцессора 8085. При разомкнутых переключателях вхо-
•ды IC 1 и IC2 - в состоянии логической 1, которое является ре~
зультатом воздействия источника питания в 5 В через согласу
ющий резистор 4,7 кОм. При замыкании переключате.лей входы
IC 1• и IC2 заземляются, что соответствует сигналу логического О.
Функционир~вание переключателей SA1s-SA8 может быть
в общем виде представлено следующим образом. В одном по
ложении переключателей на соответствующие выходы IC 1 или
IC 2 поступает сигнал уровня логической 1, в другом положе
нии -сигнал уровня логического О. Таким образом выходные
лиции A1s-A8 можно по желанию устанавливать в состояние О
или 1. При этом сигнал в систему поступает точно так же, как
сигнал, выдаваемый микропроцессором 8085 на адресные ли
нии, за исключением того, что соответствующий уровень логи
ческого сигнала для обеспечения отладки системы может под
держиваться произвольно долго.
Рассмотрим теперь блок вывода данных УТСС. Этот блок -
фрагмент рис. 10.1 и отдельно представлен на рис. 10.2 . Отме-
Гnава 10
тим, что переключатели S0-S1 подсоединены точно так же, как
ранее рассмотренные переключатели rSA1 5-SA8, т. е. размеще
ны на входе устройств 74LS367 IC3 и IC4• Выбор этих интег
ральных схем обусловлен использованием некоторых устройств
.с тремя состояниями для вывода данных. Необходимость по-
Панель подключения системы
191В171615141312
4,7
кОм
+5
·Все точки
s,
с~ссос
<(<(<(<(
<(
35791113
IC374LS367
246101214
оcr
<( <(
з51с.
74LS367
24
RD
Рис. 10.2 . Часть схемы рис. 10.1, отображающая б.'!ок вывода данных
УТСС 8085.
следних связана с обеспечением возможности ввода данных в
УТСС, что аналогично вводу в микропроцессор 8085, когда. ли
нии данных выступают в качестве входных. Поэтому следует за
блокировать выдачу данных УТСС формирователями IC3 и JC4
на время операции чтения, выполняемой УТСС, чтобы не соз
давать помех при вводе.
Блокировка выдачи данных формирователями осуществля
ется посредство_м управляющего сигнала :RП. Линия подачи это
го сигнала показана справа на рис. 10.2 . Ниже будет показано,
как этот сигнал вырабатывается. Теперь же важно понять лишь
то, что выдача данных формирователями на время выполнения
УТСС операции чтения блокируется.
Отnадка технических средств системы
287
Во время выполнения УТСС операции чтения данных вва
дятся в УТСС из тестируемой системы. Для проверки правиль
ности вводимых данных использую;ся индикаторы на светоиз
лучающих диодах. Схема включения этих индикаторов приве
дена на PJiC.
~ 0.3. Отметим, что все входы устройств 74L04 IC1r
и ICg подсоединены к отдельным линиям шины данных. Логи-
Вхо11
С ШIIIIЫ
данных
о..
о
ооQёё
QQ
<(
<(<(<(<(~
<( <( !Cg
13591113
13
74L04 !С8
74L04
24681012
24
IC5
!Св
1з591113
13
7407
7407
24681012
24
270
270
Свето-
излуч. D,,
Do
диоды
D,
Рис. 10.3 . Часть схемы ·рис. 10.1, отображающая блок вывода сигналов на
светоизлучающие диоды УТСС 8085.
ческие сигналы линий данных отображаются посредством по
казанных на рис. 10.3 светоизлучающих диодов.
Если на вход IC 8 и ICg подается сигнал 1, то на соответст
вующем выходе устройства 74L04 формируется сигнал О. Выход
74L04 соединен со входом 7407 (IC5 и IC6 ), являющимся'буфе
ром со свободным коллектором. В случае сигнала О на входе
7407 на выходе также присутствует сигнал О. Из теории уст
ройств со свободным коллектором известно, что выход устрой
ства 7407 может быть представлен в виде, изображенном на
рис. 10.4 .
Ясно, что если на вход 7407 поступает сигнал О, то транзис
тор открывается, в результате от коллектора к эмиттеру на
землю протекает ток. Обращаясь снова к рис. 10.3, видим, что
светоизлучающий диод анодом подключен к источнику +5 В,
а катодом - к выходу устройства 7407 через резистор 270 Ом.
Если на выходе устройства 7407 имеется сигнал О, резистор со
единяется с землей, в результате через светоизлучающий диод
2J38
rпan 10
от анода к катоду протекает ток от источника +~ В.- При этих
усл~виях последний имеет прямое смещение и излучает свет.
Если iже на выходах устройств 7407, IC5 и IC 6, имеется сигнал
1, транзистор на рис. 10.4 закрывается, в результате I_Iроисхо
дит разъединение с землей резистора, подсоединенного к кол
.лектору. При этих условиях ток через светоизлучающий диод
не протекает и последний выключ-ается.
Из проведенного обсуждения видно, что светоизлучающий
.диод включается при сигнале уровня логической 1 на соответ-
2
Рис. 10.4 . Схема устройства 7407, показывающая выходной транзистор, ис
попьзуемый д.пя отвода тока при ~к.пючен:ии светоиз.пучающих диодов.
ствующей линии шины данных и выключается при сигнале
уровня логического О. Это позволяе.т визуально наблюдать ло
гическое состояние шины данных в любой момент времени.
Отметим, что в УТСС на входе с шины данных имеется уст
ройство 74L04, что видно из рис. 10.3 . Может возникнуть во
прос, почему на входе включается инвертор и далее ус-rройство
7407 и нельзя ли применить устройство 7406 для реализации
функций устройств 74L04 и 7407? Принятое решение мотивиру-
- ется
тем, что устройство 74L04 потребляет на входе ток 0,1 мА
в состоянии логического О и 4 мкА - в состоянии логической 1.
Именно такой ток потребляется при работе с шиной данных.
Любое устройство, используемое в УТСС, является допол
нительной· нагрузкой для шины данных. Поэтому дополнитель
ная нагрузка, создаваемая монитором, должна быть _по возмож
ности минимальной. Устройство 7406, используемое в качестве
входного монитора, создает для шины данных большую нагруз
ку, чем ус.тройство 74L04, поскольку потребляет на входе ток
1,6 мА в состоянии логического О и 40 мА в состоянии логиче
ской 1. Поэтому применение устройств 74L04 и 7407 вместо
7406 позволяет снизить нагрузку на шину со стороны УТСС на
порядок, что вполне оправдывает схемную избыточность.
Отладка технических средств системы
289
Все точки
WR
.AL E
RD
RD
+5
4,7 кОм
1
Ю/М
о
WR
о
ALE
о
RD
о
.,,.
Рис. 10.5 . Часть схемы рис. 10.1, отображающая блок УТСС, предназначен
ный для регулирования логического уровня управпяющих разрядов микро-
процессора 8085.
.
-
Из рис. 10.3 видно, что светоизлучающие диоды постоянно
контролируют и отображают логическое состояние линий шины
данных, как во время выполнения операции ЧТЕНИЕ, так и
при операции ЗАПИСЬ. Прн операции ЧТЕНИЕ отображаются
290
Глава 10
«системные» данные, при операции ЗАПИСЬ - данные, •выво
димые УТСС. Это возможно, поскольку выходные формирова
телJi -IC3 и IC4 блокируются на время операции ЧТЕНИЕ.
Рассмотрим, каким образом осуществляется блокировка
этих формирователей при выполнении операции ЧТЕНИЕ. На
рис. 10.5 показана секция устройства УТСС, используемая для
регулирования логических уровней сигналов некоторых управ
ляющих выводов микропроцессора 8085. Эти выводы обозначе
ньr как RtD, WR, 1O/М, ALE. Существуют другие управляющие
+5
4,7
кОм
4,7
кОм
+5
7406
7406
Выход
Рис. 10.6 . Построение схе
мы гашения «выброса» с
помощью двух инверторов
со свободным коллектором
типа 7406.
выводы микропроцессора 8085, такие, как S0 и S 1; однако они
не· используются в нашей системе. Если же в проектируемой
системе используются другие управляющие выводы, то для ре
гулирования логических уровней состояний УТСС следует при
менить подобные же средства.
Рассмотрение событий, происходящих в течение выполнения
операци ЧТЕНИЕ микропроцессора 8085, показывает, что од-
ним из основных событий является выдача сигнала RD. При
переходе этого сигнала в состояние, соответствующее логиче
скому О, микропроцессор выполняет операцию чтения либо из
памяти, либо с устройства ввода, что идентифицируется логиче-
ским состоянием сигнала 10/1\1. По этой информации УТСС оп
ределяет необходимость блокировки выходных формировате
лей IСз и IC4.
Устройство 74LS367 блокируется, если на выводы 1 и 15
поступает сигнал уровня логической 1. Следовательно, в случае
когда сигнал соответствует логическому О, на эти выводы уст
ройства 74LS367 необходимо подать сигнал 1. Это достигается
путем :'Подачи на блокирующие выводы 1 и 15 схем IC3 и IC4,
приведенных на рис. 10.2, сигнала· RD, как это показано на
рнс. 10.5. Соответствующее соединение осуществляется всякий
раз, когда сигнал RD есть О, что определяет операцию ЧТЕНИЕ
Отладка технических средств снстемw
для УТСС микропроцессора 8085. При этом светоизлучающие
диоды отображают данные, вводимые в микропроцессор.
Управляющие сигналы УТСС поступают на - фиксатор, как
это показано на рис. 10.6, используемый с целью предотвраще
ния «выброса» сигнала, обусловленного действием механическо
го переключателя. Может возникнуть вопрос, почему бы не
поставить подобные схемы для каждого переключателя? Это
не делается по той причине, что адресные линии н линии дан
ных микропроцессора не оказывают влияния на коммуникаци
онные взаимодействия в системе до тех пор, пока эти взаимо
действия не распознаны посредством управляющих сигналов.
Именно с помощью управляющих сигналов и осуществляется
стробирование данных, передаваемых во внеwние схемЬI. Для
каждого положения переключателя требуется один стробирую
щий сигнал. Схемы, предотвращающие выброс, можно, по же
ланию, установить для каждого переключателя, однако это не
является необходимым.
10.3 .
Звмечання по отnвд1ее техннчес1енх
средств снстемь1
Рассмотрев особенности схемной реализации УТСС, изложим в
общих чертах один подход, используемый для эффективной от
ладки технических средств системы. Существо подхода заклю
чается в определении правильности функционирования всех
коммуникационных каналов в системе. При этом не принима
ются во внимание вопросы синхронизации сигналов, а опреде
ляется возможность электрического взаимодействия микропро
цессора со всеми логическими устройствами в системе. Подоб
ная проверка имеет большое значение для отладки технических
средств системы. -
Тестирование посредством статических сигналов предостав
ляет средства для осуществления проверки всех коммуникаци
онных каналов системы. Это является большим достоинством
данного метода, поскольку отпадает необходимость в проекти
ровании специальных схем тестирования в рамках специфичес
ких тестирующих устройств микропроцессорной системы. Кроме
того, основные средства устройства тестирования могут быть
реализованы технически при минимальных затратах. Это дает
возможность каждому пользователю, занимающемуся проекти
рованием системы на базе микропроцессора либо поиском в
ней неисправностей, иметь мощные средства отладки системы.
При использовании УТСС последнее подсоединяется к си
стеме посредством кабеля, как показано в гл. 5. Последователь
но рассмотрим проверку всех технических средств системы.
При этом УТСС используем как средство отладки системы IJa
292
Гnава 10
1
·;
базе !Микропроцессора ,8085. Однако приводимого материала до
статоч1;10 для построения УТСС для проверки системы на базе
любого другого микропроцессора.
10.4.
Отnадка адресноji wины системы
Полная схема интерфейса микропроцессора 8085 с ПЗУ и ОЗУ
приведена на рис. 10.7 . В последующем мы будем достаточно
часто обращаться к рис. 10.7. Поэтому желательно каким-либо
образом .пометить этот рисунок, например с помощью бумаж
ной полоски. Это позволит быстро его отыскивать каждый раз,
когда в этом будет возникать необходимость.
Адресная шина си_стемы - это . первый компонент системы
программирования ППЗУ, для которой мы будем осуществлять
проверку прохождения электрических сигналов. Определим, воз
можна ли передача сигналов логических О и 1 по адресным ли
ниям BA0-BA1s, С этой целью введем представленный на
рис. 10.1 УТСС в проверяемую систему вместо микропроцессо
ра путем установки вилки УТСС в гнездо подключения мик
ропроцессора. Проще всего проверить адресные линии ВА8-
ВА 15, поскольку последние в отличие от адресных линий ВА0-
ВА7 не имеют «временного мульtип~ексирования».
ПроцеАура проверки nиниji BAs-BA1s
посредством УТСС
1. УстаиоВJIТЬ переключатели УТСС, помеченные как SA8-
SA15, в положение, соответствующее логич·ескому О на выходе.
2. Соединить с землей один конец пробника логического
уровня ПVМ (или VOM).
3. Соединить другой конец пробника напряженJ1Я с выводом
5 IC9 системы (рис. 10.7).
4. Напряжение должно соответствовать логическому уров-
ню о.
•
5. Переключить SA8 УТСС в положение, соответствующее
логической 1.
6. Напряжение на выводе 5 IC9 :(рис. 10.7) должно соответ
ствовать уровню логической 1..
7. Теперь обеспечено переключение адресной линии ВА 8 с
уровня логического О на уровень логи.ческой 1.
8. Повторить шаги 3-7 для каждой адресной линии ВА9-
ВА 15, проверяя наличие требуемых уровней напряжения на со
ответствующих выводах устройства.
9. В случае отсутствия переключения сигнала на адресной
линии статически исследуется причина наполадки.
10. Теперь проверено, что для всех адресных линий BA8-
BA1s производится переключение сигнала с уровня О на уро-
~
0
8
5
~
3
0
1
o
j
)
-
,
,
;
o
~
v
-
-
-
T
R
A
l
'
I
6
R
S
T
7
.
5
7
-
~
E
§
.
!
.
o
f
8
H
S
T
5
5
9
I
N
T
R
I
1
0
т
'
'
i
:
:
:
i
:
.
.
j
О
+
5
~
4
,
;
,
-
.
к
о
~
"
'
~
(
1
)
~
§
'
;
,
.
.
1
1
1
3
П
З
У
0
1
4
2
7
0
В
1
5
-
0
0
0
0
0
3
F
F
1
с
1
4
1
6
B
D
1
7
7
+
5
~
-
-
-
-
-
-
~
,
П
1
.
ч
е
л
ь
Ц
П
1
0
1
1
1
3
1
4
1
5
B
D
7
1
6
+
5
-
5
+
1
2
s
a
,
в
'
м
i
'
"
м
А
П
З
У
,
2
7
0
В
U
4
0
0
0
7
F
F
I
C
1
s
-
"
/
Р
и
с
.
1
0
.
7
.
П
о
л
н
а
я
с
х
е
м
а
и
н
т
е
р
ф
е
й
с
а
м
и
к
р
о
п
р
о
ц
е
с
с
о
р
а
8
0
8
5
с
О
З
У
и
П
З
У
.
г
с
,
s
1
,
с
,
9
~
з
в
о
J
B
D
1
4
З
У
2
1
з
О
З
У
2
в
о
S
E
L
$
,
В
О
1
2
'
•
1
1
1
1
1
Начало
SA 8-SA 15 = логи
ческий О на УТСС
Нет
Нет
Нет
Нет
Определение
причины
Определение
причины
Определение
причины
Определение
причины
Нет
Проверка ВА 8-ВА 1 ,
завершена успешно
Нет
/
Определение
причины
Определение
причины
Определение
причины
Определение
причины
Рис. 10.8 . Блок-схема алгоритма проверкf! выходов ВА8-ВА 15 адресной шины
микропр-оцессора 8085.
Отnадка технических ~ред-ств системы
295
вень 1 под управлением микропроцессора; либо обнаружено,
что для некоторых линий такое переключение отсутствует, что
• требует дальнейшего исследования (с этой целью осуществля
ется проверка каждой цепи схемы путем прослеживания уров•
ня напряжения в выбранных точках на протяжении . всего ин~
формационного канала).
На рис. 10.8 приведена блок-схема последовательности дей
ствий при проверке адресных линий BAs-BA1s. Вспомним, что
мы не определяли правильность подсоединения линий ВА8 -
ВА 15 в системе. Этот вопрос будет затронут в данной главе
позднее.
Определим теперь возможность переключения линий ВА0 -
ВА 7 с уровня логической 1 на уровень логического О. Соответст
вующая процедура несколько сложнее процедуры для адрес
ных линий ВАs-ВА1s-
Процедура дnя' проверю• адресных
nиниii ВА0_;.ВА1
•
1. Установить переключатели, помеченные S0-S7, в поло
'жение, соответствующе,е логическому О.
2. Установить управляющие переключатели УТСС следую-
щим образом~
а) WR =логическая 1 (нерабочее состояние);
б) RD=логическая_ 1- (нерабочее состояние);
в) 1O/М=логическая 1 (безразлично); •
г) АLЕ=лоrический О (нерабочее состояние).
-
3. При сигнале. ~D, соответствующем логическому О, свето
излучающие диоды будут (должны) отображать информацию,
установленную с помощью переключателей S0-S7•
4. Установить RiD в положение, соответствущее логической 1~
При этом светоизлучающий диод D0 должен начать светиться.
5. Перебросить управляющи.й переключатель ALE из со-
стояния О в состояние 1.
•
6. Установить управляющий переключатель ALE обратно в
состояние О. Последовательность шагов 5 и 6 приводит к фик
сации адресных разрядов.
7. Измерить напряжение на выводе 10 IC. Это напряжение
должно соответствовать значению уровня логической 1.
8. Установить S0 в положение, соответствующее логиче
ской 1.
9. Повторить шаги 4-8 для каждой адресной линии ВА0-
ВА1. Если на шаге 7 выходной сигнал не ~оответствует введен
ным данным, повторить процедуру с шага 3 и измерить напря
жения на каждом шаге с целью проверки логической коррект
ности сигналов.
Нашей целью является реализация общей функции «фикса-
296
1
rпааа fO
16,15,12,9,6,5,2
~ыводы IC 10
16,15,12,9,6,5,2
( Повторить для S1·S:
Нача-ло
на
о
о
}Фиксаuи~t
адресньос
данНЬ11'
J
Определение
причины
Определение
причины
Рис. 10..9. Блок-схема алгоритма пр.оверки выходов ВАо- ВА7 адресной
шины.
.:,
~
ции» адресных данных. В случае неверной реализации функ
ции мы можем разложить эту функцию на «микро-шаги» 'С
целью локализации неисправности. На рис. 10.9 приведена .• .
блок-сiема, отражающая основные этапы проверки адресных. \~
• линий ВА0-ВА1.
•
'
Отладка технических средств системы
10.5 .
Отnадка шины уnравnени• системы
Обратимся теперь к проверке с помощью УТСС .шины управ
ления системы. Шина управления представлена на схеме
рис. 10.10, которая является частью общей схемы рис. 10.7, что
сделано с целью облегчить последующее обсуждение. В даль
нейшем следует еще раз изучить схему рис. ~0.7, чтобы убе-
~34
!О/М1----~~
LS32
з
6
в
11
2
5
9
12
'>--3----oвJOR
-,_
6
--uBIOW
>-8--о вмЕМR
11#
LS125
!С7
BMEMW
Рис. 10.10. Часть схемы рис. 10.7, опреде.пяющая шину управ.пения системы.
диться в правильном понимании роли схемы шины управления,
. приведенной
на рис. 10.10, в системе.
При настройке шины управления системы будем использо
вать управляющие переключатели УТСС, помеченные как RD,
WR, 1O/М. Из рис. 10.10 видно, что эти три сигнала являются
входами для комбинационной логической схемы, включающей .
шину управления системы. Управляющие сигналы_ вырабаты
ваются вентилем ИЛИ схемы IC5 и и~:~:вертором схемы IC5.
Перед вводом в систему эти сигналы буферируются устройст
вом 74LS125 IC7• При настройке шины управления системы мо
жет быть использована следующая процедrра.
20-814
298
Глава 10
Процедура настройки шины уnравnення системы
1. Установить управляющие переключатели, помеченные как
RD, WR, IO/M, в следующие положения:
а) RD=логическая 1 (нерабочее состояние);
б) WR:::алогический О (нерабочее состояние);
в) IО/М=логическая 1 (режим ввода-вывода).
2. При указанном положении переключателей на всех вы
ходах шины управления системы должен быть сигнал уровня
логической 1. Проверить наличие сигнала уровня логической 1
на выводах 3, 6, 8 и 1\1 устройства 74LS125 IC1.
3. Установить в состояние О переключатель, помеченный,как
WR, что соответствует подаче управляющего сигнала BIOW.
Проверить наличие напряжения логического уровня О на выво-
де 6 IC1 (ВIOW).
4. Проверить наличие напряжения логического уровня 1 на
выводах 3, 8 и 11 IC 7 (нерабочее состояние).
5. При проверке функционирования каждой линии шины
необходимо помнить, что на основании результатов предыду
щего обсуждения сигналы этих линий являются взаимоисклю
чающими. Это означает, что одновременно сигнал не может
быть подан ни на какие две линии.
6. Установить переключатель WR в положение, соответст
вующее логическрй 1.
7. Установить перекJJючатель RD в положение, сооtвете-тву
ющее логическому О, что соответствует подаче управляющего
сигнала ВIOR.
8. Проверить, что логический уровень напряжения О имеет
единственный ,управляющий сигнал BIOR на выводе 3 IC1.
9. Установить переключатель RD в положение, соответству
ющее логической 1.
10. Теперь проверена правильность прохождения сигналов
- B-IO_W _ и BIOR.
11. Установить управляющий переключатель IO/M в поло
жение, соответствующее логическому О, что переводит шину
управления в режим работы с памятью.
12. Установить· переключатель WR в положение, соответст
вующее логическому О, что соответствует подаче сигнала
BMEMW. Проверить наличие напряжения логического уровня
О сигнала BMEMW на выводе l\l IC1.
13. Проверить наличие напряжения логического уровня 1
сигналов ВIOR, BIOW, BMEMR.
14. Установить переключатель
.WR
в положение, соответст
вующее логической 1.
\
\.
Отладка технических средств систем1,1
299
15. Установить переключатель R.D в положение, соответст
. вующее
логическому о. что соответствует подач_е сигнала
BMEMR. Проверить наличие напряжения логического уровня О
сигнала BMEМIR на выводе 8 IC1.
• 16._ Проверить наличие напряжения логического уровня 1 уп-
равляющих сигналов BMEMW, BIOW, BIOR.
17. Установить переключатель RD в положение, соответст
вующее логической 1.
Теперь установлено, что выходные управляющие сигналы
системы правильно отражают входные воздействия микропро
цессора 8085. Если на каком-то шаге процедуры будет обна
ружено нарушение этого соответствия, можно легко осущест
вить статическую проверку логических сигналов и локализовать
неисправность.
10.6.
От.падка шины данных системы
Рассмотрим теперь отладку шины данных системы с помощью
УТСС. Приведем процедуру определения возможности двуна
правленной передачи данных по шине данных, проверив буфе
рирование шины данных и внешние устройства.
Процедура проверки канаnа выдачи данных
1. Установить упр~~~яющие переключатели R:D и WR УТСС
в положения:
а) RD=логическая 1;
б) WR=логическая 1.
При этих условиях существует канал из УТСС микропроцессо
ра 8085 к тестируемой системе. УТСС функционирует в режи
ме вывода данных, аналогичном. соответствующему режиму
микропроцессора 8085.
.
2. Установить переключатели УТСС, помеченные как S0-S1,
в положение, соответствующее логическому О.
3. Установить переключатель S0 в положение, соответству
ющее логической 1.
4. Проверить наличие напряжения логического уровня 1 на
выходе BDo (вывод 2 IСз).
5. Установить переключатель So в положение, соответствую
щее логическому О. Проверить наличие напряжения логического
уровня О на выходе ВDо (вывод 2 IC3). •
6. Повторить шаги 3-5 для всех: линий шины данных DB1-.
DВт,
7. На каждом шаге проверить правильность фун·кционирова-
•ния линий шины данных при выводе информации путем изме
рения напряжения логических уровней.
20•
300
rлава 10
Если выходцые сигналы на шине данных на некотором шаге
процедуры не являются корректными, необходимо статичес
ки проверить уровни напряжения постоянного тока с целью оп
ределить причины неисправности. Это достигается путем про
верки статических электрических сигналов на протяжении ин
формационного каиала.
•
Успешное завершение процедуры означает, что шина дан-
ных системы при выводе данных функционирует правильно,
т. е. шина данных должна выводить данные, соответствующие
правильным сигl-!алам от микропроцессора 8085. Теперь прове
рим правильность- функционирования шины данных в режиме
ввода и покажем, каким образом можно проверит_ь инфорv:э
ционный ка~ал от тестируемой системы к УТСС, чтобы убедить
ся в правильности его работы.
Процедура проверки канаnа ввода wины данных
1. Установить переключатели УТСС, помеченные как S 0-
S7, в положение, соответствующее логическому О.
2. • Установить адресные линии системы ВА0-ВА15 в состоя
ние О.
/
Начало
Установить УТСС
в режим ЧТЕНИЕ
с устройства ввода
вывода
Все светои1луч.
диоды на УТСС Нет
включены?
Да
Заземлить линию
В0 0 шины даннь,х
D1,D2 ,D3 ,D4 ,
D5,D5 ,D7
Повторить.
дляВD1-ВD7
Светоизлуч.
дИОДЬI вы
ключены?
Да
Нет
Определение
причины
Рис. 10.1.1. Укрупненная блок-схема алгоритма проверки сигналов BD, -
BD1
шины дан.ных системы.
"Отладка технических средств системы
801
3. Установить управляющие переключатели в положения:
'а) RD = логическая 1;
б) WR =логическая 1;
в) 1O/М=логическая 1 (режим ввода-вывода).
4. При указанном режиме управляющих переключателей
светоlj:злучающие диоды выключены.
5. Установить переключатель RП в положение,. соответству
ющее логическому О. Теперь все светоизлучающие диоды долж
ны зажечься, поскольку шина данных отключается. Тем самым
никакое устройство вывода не управляет линиями шины дан
ных. Входы устройств 74L04 IC8 и IC9 УТСС отключены, а от
ключение входа ТТL-схемы соответствует логическому уров
ню 1.
6. Взять проволочную перемычку и заземлить один ее конец.
7. Соединить другой конец перемычки с линией· BD 0 шины
данных, что соответствует выводу 2 IC3. Это позволяет. подать
на шину данных логический сигнал уровня О (заземление).
•8. Проверить, что светоизлучающий диод УТСС, помечен
ный как D0, выключен.
9. Заземлить поочередно линии шины данных BD 1-BD7,
проверяя выключение соответствующих светоизлучающих дио
дов. Блок-схема описанной процедуры представлена на
рис. 10.11 .
•
Теперь рассмотрены процедуры проверки шин адресной, даи
ных и управления системы. Эти шины будут правильно функ
ционировать при правильном поступлении сигналов от микро
процессора 8085. Однако мы не осуществили проверок правиль
ности соединения шин системы с другими схемами сцстемы.
Такие проверки будут выполнены в процессе дальнейшего об
суждения.
10.7 .
Проверка схем,деwнфрировання
выбора памяти
Пер-ейдем к проверке технических средств, предназначенных
для дешифрирования адреса памяти. Логические схемы дешиф
рирования сигнала выбора памяти для системы, приведенной
на рис. 10.7, представлены блоком IC 11 , являющимся устройст
вом 74LS42. Принцип действия устройства 74LS42 заключается
в подаче выходного сигнала О на вывод, соответствующий каж
дому входу. При этом выводы 1, 2, 3, 4, 5, 6, 7 соотвеrгствуют
двоичным входам 0-, 1, 2, 3, 4, 5, 6 соответственно. Допустим,
что код двоичного 0011 подан на выводы устройства 74LS42
12, 13, 14 и 15 соответственно (это соответствует двоичному
входу 3). Вывод 4 устройства 74LS42 теперь находится в со
стоянии логического О. -
З02
rnaвa 10
Процедура проверки устроАства 74LS42
1. Установить переключатели УТСС, помеченные как SA10-
SA13, в положение, соответствующее логическому О. Отметим.
исходя из рис. 10.7, что адресные входы ВА1 0-ВА1з являются
входами устройства 74LS42.
,
2. Проверить наличие напряжения логического уровня О на
выводе IC11.
3. Установить переключатели SA10-SA1 3 в положения:
а) SA10= 1;
б) SA11=0;
в) SA12=0;
.
г) SA13.=0.
Проверить наличие напряжения логического уровня О на вы-
воде 2 IC11,
•
4. Установить переключатели УТСС SA10-SA1з в положение
двоичных входов 2-6. Значение каждого двоичного входа юю
рождает логический уровень О для соответствующего вывода
устройства 74LS42 IC 11 . Необходимо проверить наличие логи
ческого уровня О для следующих выводов устройства 74LS42.
Двоичный вход
0010
2
0011
3
0100
4
0101
5
0110
6
Уровень О на выводе
з
4
5
6
7
Если все выводы имеют логический уровень О для всех вы
шеописанных шагов, можно считать, что правильность работы
логических схем дешифрйрования сигнала выбора памяти про
верена. Если же на некотором шаге процедуры проверки обна
ружена ошибка, ее причина может быть установлена путем ста
тической проверки системы. Отметим, что μравильность соеди
нения линий выбора памяти пока еще не проверена. Соответст
вующая проверка осуществляется ниже:
10.8.
Проверка интерфе~са ПЗУ системы
При проверке интерфейса ПЗУ системы необходимо быть уве
ренным в правильности:
1) адреса ПЗУ;
2) данных, выдаваемых из ПЗУ;
3) информации выбора блока ПЗУ;
4) подачи пи.тания на ПЗУ.
Обсуждение процедуры провер~и интерфейса ПЗУ разбива
ется на четыре раздела. В каждом из разделов раскрываетсл,
один из перечисленных выше пунктов.
.Отладка технических средств системы
303
Проверка nравиnьности адреса ЛЗУ
Правильность адреса ПЗУ обусловливается корректным функ
ционированием адресных входов ПЗУ ВА0-ВА9. Для их про
верки может быть использована следующая процедура:
1. Установить адресные переключатели SAs-SA1s в поло
жение, соответствующее логическому О.
2. Установить управляющие переключатели RD, WR, 1O/М
в положения:
а) ,RD=логическая 1;
б) WR=логическая 1;
в) 1O/М=логический О.
3. Установить переключатели S0-S7 в положение, соответ
ствующее логическому О.
4. Установить переключатель S0 в положение, соответству
ющее логической 1.
5. Поставить переключатель ALE в положение логической 1,
а затем в положение логического О. В результате этих дейст
вий фиксируются разряды адреса ВА0-ВА7 в устройстве
74LS374 IC,o.
6. Проверить на.rу:ичие логического уровня напряжения 1 на
выводе 8 IC14 и IC1s (ВАо),
7. Повторить шаги. 3-6 для адресных входов ВА 1 -ВА1.
Проверить наличие необХО..f!.ИМого сигнала на соответствующем
выводе устройства 2708 при подаче на адресную шину сигнала
логической 1.
8. Проверить адресные входы ПЗУ BA8-BAg. Установить
переключатель, помеченный как SA8, в положение, соответст
вующее логической 1. Проверить наличие сигнала уровня ло
. гиче ской 1 на выводе 22 IC14, IC 15 (ВА 8). Повторить этот шаг
для адресного входа ВА9 •
Если на. каком-то шаге описанной процедуры получим не
верный адрес ПЗУ IC14-IC15, такую ситуацию можно зафикси
ровать и статически проверить функционирование системы.
Проверка данных, считываемых из ПЗУ
При проверке данных, считываемр1х из ПЗУ, будем придержи
ваться следующей последовательности действий. Вначале сис
тема переводится в режим чтения данных, однако выбор уст
ройства ввода не осуществляется. Существенным при этом яв
ляется сам факт перевода шины данных системы в режим вво
да, что позволяет использовать светоизлучающие диоды УТСС
для визуального наблюдения за состоянием шины данных.
Далее поочередно- заземлим выводы данных ПЗУ с помощью
проводника. При заземлении вывода ПЗУ соответствующий све
тоизлучающий диод выключается.
304
rnaвa 10
Отметим возможность электрического заземления выводов
ПЗУ, что .объясняется наличием трехстабильного режима этих
ВЪiводов, который устанавливается при переключении системы
в режим ЧТЕНИЯ с устройства ввода посредством шины уп
равления системы. При осуществлении описываем_9.Й проверки
определяется правильность физического соединения шины дан
ных с выводами ПЗУ IC14, IC1s. Проверка осуществляется еле-·
дующей процедурой:
1. Установить переключатель 10/М УТСС в положение, соот
ветствующее вводу-выводу (в результате система переводится
в режим ввода-вывода).
2. Установить переключатель WR в положение, соответству
ющее логическqй 1.
3. Установить переключатель RD в положение; соответству
ющее - логическому О. В результате система переводится в ре-
жим ЧТЕНИЯ с устройства ввода.
•
4. Установить системный адрес ВА0-ВА 15 =0000. В этом
случае не выбирается ни одно устройство ввода.
5. Все свеrоизлучающие диоды в данном состоянии включе
ны.
6. Заземлить поочередно выводы ПЗУ0 и ПЗУ1 с помощью
проводника. Каждый раз при заземлении очередного вывода
ПЗУ0 или ПЗУ1 соответствующий светоизлучающий диод УТСС
выключается. Например, если заземлен вь.вод 8 IC14 или IC1 5
ПЗУо или ПЗУ~, то выключится светоизлучающий -диод Do
УТСС. Так осуществляется. визуальная проверка электрической
работоспособности информационного ~анала от выводов ПЗУ
системы к микропроцессору 8085.
Проверка информации выбора бnока ПЗУ
Покю_кем теперь, как проводится проверка правильности ра
боты схем выбора блока ПЗУ. Как известно, функция опера-,
ции выбора блока заключается в поочередной выдаче на шину
данных системы выходной информации одного блока ПЗУ. Вна- •
чале рассмотрим, каким образом проверить выбор блока IC 14
ПЗУ.
Сигнал на выводе 20 выбора блока П~У IC 14 принимает·
уровень логического О при сигнале логического О на выводе
3 IC15. На выводе 3 сигнал уровня_ логического О появляется· ''
при сигналах О одновременно на выводе 1 (SELo) и выводе 2
(BMEMR). Это возМО)!(НО, поскольку сигнал BMEMR принима
ет значение О при чтении данных из памяти, а сигнал S.EL0t
принимает значение О, если системный адрес принадлежит со-,
ответствующему блоку ПЗУ IC 14.
О·rnмка технических средств системы
305
Чтобы убедиться, что выбор блока осуществляется пра
вильно, необходимо перевести систему в режим чтения дан
ных из ПЗУ.
Процедура чтения данных из ПЗУ
1. Установить системный адрес ВА0-ВА1 5 в 0000. Из распре
деления памяти системы мы знаем, что ПЗУ0 соответствует ад
ресное пространство OOOO-ОЗFЕ В результате генерируется ло-
гический уровень О сигнала SEL0.
,
2. Установить управляющие переключатели в положения:
а) WR =логическая 1;
б) 10/М =логический О. При этом система переводится
в режим работы с памятью.
в) RD=логический О. В результате система переводится
в режим чтения памяти. При этом ВМЕМR принима
ет значение О.
3. После шага 2(в) проверить наличие сигнала логическо
го О на выводе 20 выбора блока 1Cr4 (выбирается данный
блок).
4. Проверить наличие сигнала логической 1 на выводе 20
выбора блока IC1 5, (Этот блок не выбирается.) При возникно
вении ошибки на ша_г,ах 3 !fЛИ 4 можно ста,тически проверить
схемы дешифрирования при фиксировании системы в задаином
режиме.
"
Процедура проверки nравиnьности функционирования
сиrнаnа выбора бnока на выводе 20 IC,s
5. Установить системный адрес BA 0-BA1s в 0400. Из рас
пределения памяти системы известно, что .ПЗУ1 соответствует
адресное пространство 04OO15-O7FF 16, В результате генериру-
ется логический уровень О сигнала SEL1.
6. Система должна перейти в режим, в котором с,игнал со
ответствует уровню логического О.
7. Проверить наличие сигнала уровня логического О на вы
воде 20 IC,s.
8. Проверить наличие сигнала 1 на выводе 20 IC1,4 (этот
блок не выбран). При возникновении ошибки на шагах 7 или •
8 можно статически проверить схемы дешифрировани}! при фик
сировании системы в заданном режиме.
Теперь проверка правильности дешифрирования технически
ми средствами ПЗУ0 и ПЗУ 1 на основе электрического состоя
ния адресной шины ВАо-ВА 15 и шины управления системы за;
вершена.
·3 05
!Глава 10
Проверка подачи питания на ПЗУ
ППЗУ 2708 требует наличия трех источников питания: +12 В.
+5 В и -5 В. Проверим правильность электрического подсо
единения этих трех источников к следующим выводам:
1. +12 В-к выводу 19 (IC14, IC1s).
2. +5 В - к выводу 24 (IC14, IC15).
3.
-5
В - к выводу 21 (I_C14, IC 1&').
Указа,нные уровни напряжения должны существовать как для
IC14, так и для IC15. Теперь проверка правильности электриче
ского интерфейса всех устройств ПЗУ с системой завершена, и
показано, что соответствующие технические средства функцио
нируют.
•о.9.
Проверка интерфеАса ОЗУ системы
При проверке интерфейса ОЗУ необходимо рассмотреть следу
ющие пять основных типов связей:
1) интерфейс шины данных с ОЗУ;
2) интерфейс адресной шины с ОЗУ;
3) ицтерфейс схем выбора блока с ОЗУ;
4) интерфейс схем разрешения записи с ОЗУ;
5) подачу питания на ОЗУ.
Вспомним, что в случае ПЗУ осуществлялась . проверка
-
лишь четырех типов связей. В случае ОЗУ возникает дополни
тельная необходимость в проверке интерфейса схем РАЗРЕ
ШЕНИЕ ЗАПИСИ. Данный тип интерфейса существует для
ОЗУ, поскольку система способна осуществлять не только чте
ние данных из ОЗУ, что характерно и для ПЗУ, но также и
запись данных в ОЗУ.
Проверка адресации ОЗУ
Проверку сигналов на входах ОЗУ будем проводить точно та
ким же образом, как это делалось в случае ПЗУ, т. е. путем
выдачи адресного сигнала посредством УТСС • и последующего
контроля соответствующих адресных входов ОЗУ. ОЗУ систе
мы состоит из блоков IC1 7, IC1 8, IC19 и IC20- Поэтому при пр()
верке адресных входов необходимо убедиться в правильности
соединения ка~дой адресной линии со всеми четырьмя инте
гральными схемами. Повторять процедуру проверки адресных
входов ОЗУ нет необходимости, поскольку это уже делалось
достаточно подробно в отношении адресных входов ПЗУ си
стемы.
Отладка технических средств системь1
307
Проверка wины данных ОЗУ
Проверка шины данных ОЗУ проводится опять так же, как это
делалось в случае ПЗУ. Отличие состоит в том, что два блока
ОЗУ включают ОЗУ 1 КХ8, поскольку используемые ОЗУ пред
ставляют собой устройства 2114, организованные как 1 КХ,4
статическое ОЗУ. Для создания ОЗУ системы 1 КХ8 два уст
ройства 2114 соединяются параллельно. Обращаясь снова к
схеме системы (рис. 10.7) замечаем, что IC1:1 и IC 18 составля
ют одно ОЗУ системы 1 КХ8, а IC19 и IС2о-другое ОЗУ
1 кхв.
Линии ВDо-ВПз шины данных соединяются с IC1•7 и с IC19,
а линии BD4-BD7 - с IC1 8 и с IC2o, как это по1<азано на
рис. 10.7.
Для проверки правильности соединения соответствующих
линий шины данных с требуемыми блоками ОЗУ используем
ту же процедуру, которая применялась при проверке шины
данных ПЗУ. При этом система устанавливается в режим ЧТЕ
НИЕ с устройства ввода-вывода с подачей адреjса 0000 на ад
ресную шину (линии ВА0 -ВА15 ). Далее поочередно заземляют
ся линии шины данных ОЗУ BD 0-BD7 и проверяется наличие
логического уровня О сигнала на соответствующих светоизлу
чающих диодах УТСС. Отметим, что линии SD0-B,D3 шины
данных соединены с IC11 и IC1 9, Поэтому при проверке этих ли
ний заземляется вывод -14 IC19 и определяется выключение све
тоизлучающего диода Do. Далее заземляется вывод 14 IC1 9 и
фиксируется выключение D0. Данная лроцедура повторяется до
тех пор, пока не будут проверены все линии BD 0-BrD7 шины
данных на правильность их соединения с соответствующим
блоком ОЗУ.
Проверка сиrнаnа
РАЗРЕШЕНИЕ ЗАПИСИ В ОЗУ
Перейдем к обсуждению техники проверки сигнала РАЗРЕШЕ
НИЕ ЗАПИСИ в ОЗУ системы. Отметим, что этот сигнал па
раллельно подается на вывод 10 IC1 7 и IC1 8, а также парал
лельн9 поступает на вывод 10 IC19 и IC20. Это вызвано тем, что
каждое ОЗУ 1 КХ8 состоит из двух параллельно соединенных
блоков ОЗУ меньшего объема. При подаче сигнала РАЗРЕШЕ
НИЕ ЗАПИСИ должны быть выполнены следующие условия.
Система должна находиться в режиме записи данных в память,
а на адресную шину должен быть подан адрес ОЗУ, в которое.
производится запись. Например,. для успешной выдачи сигнала
РАЗРЕШЕНИЕ ЗАПИСИ на блоки IC1 7 и IC1,8 на адресной
шине должен содержаться адрес этих блоков, т. е. адресная
шина должна содержать адрес 1OOO-IЗFF на адресных ли
ниях BA0-BA1s,
308
Глава 10
Процедура nроверкм сиrнаnа
Рд.ЗРЕШЕНИЕ -Зд.ПИСИ
дnя бnоков IC11 и IС1в
1. Установить адресную шину (ВА0-ВА1 5} в состояние 1900.
При этом система переведет сигнал SEL~ в состояние логиче
ского О. Сигнал SEL4 подается на выводы 1 и 4 IC1 2. ,
2. Установить с помощью управляющих разрядов УТСС ре
жим, при котором ,10/М соответствует уровню -логического О.
Это переводит систему в режим работы с памятью. Сигнал RD
должен соответствовать уровню логической 1 ,(нерабочее со-
стояние). Сигнал WR должен соответствовать уровню О, что
определяет наличие режима_РАЗРЕШЕНИЕ ЗАПИСИ. При
этом состоянии управляющих разрядов устанiIВливается сиг
нал BMEMW, представляющий собой буферированный сигнал
ЗАПИСЬ в память системы. Этот сигнал поступает на вывод 1 IC 12 .
Отметим, что в соответствии с электрическим состоянием ад
ресной шины сигнал SEL4 находится в состоянии логического
О, .а буферированный сигнал ЗАПИСЬ в память ~ также в со
стоянии О в соответствии с логическим состоянием шины уп
равления. При этих условиях на выводе 6 IC 12 поддерживается
сигнал уровня логического О. Заметим, что вывод 6 IC 12 также
соединяется с выводом 10 IC1i' и IC 18, поскольку этй устройст
ва, как упомI}:налось ранее, работают параллельно.
3. Проверить далее наличие уровня логического О на -выво
де 10 IC11 и ICJ,,8, как это должно быть.
4. Проверить наличие уровня логической 1 иа~ выводе 10 IC 19
и IC20- Это опр~деляет наличие сигнала РАЗРЕШЕНИЕ ЗА
ПИСИ для IC19 и IC20, Если на шаге 3 или 4 обнаруживается
ошибка, необходимо проверить информационный канал от
УТСС микропроцессора 8085 к блоку ОЗУ.
5. Проверить подачу сигнала РАЗРЕШЕНИЕ ЗАПИСИ на
блоки IC19 и IC20, По таблице распределения памяти видно, что
адресное пространство IC19 и IC2 0 (ОЗУ2) есть 14OO-17FF.
Установить адресные переключатели таким образом, чтобы на
линии адресной шины ВАо-ВА 15 был подан адрес 140016. При
этом сигнал SELs с вывода 6 IC1 2 принимает логический уро
вень О. Сигнал SEL5 подается также на, выводы 10 и 13 IC12.
6. Теп~рь в системе продолжает поддерживаться сигнал
BMEMW. При логическом уровне О сигнала на выводах 13 и
12 IC,2 на выводе 11 JC 12 будет также сигнал логического уров
ня о.
7. Проверить наличие логического уровня О на выводе
10 IC19 и IC20. Это рабочий режим для разрешения записи в
ОЗУ2.
Отладка технических средств систем1,1 •
309
8. Проверить наличие логического уровня 1 на выводе
10 IC11 и IС1в, Это нерабочий режим для разрешения записи
в ОЗУ1. Если на шаге 7 или 8 обнаруживается ошибка, про
верить снова информационный канал от ОЗУ к УТСС, чтобы
локализовать неисправность в этом канале.
Таким образом, осуществлена проверка правильности про-
•хождения сигнала ЗАПИСЬ в ОЗУ1 и ОЗУ2 системы. Прове
рим правильность прохождения сигнал.а по линии выбора блока
ОЗУ1 и ОЗУ2 . Эта линия должна находиться в а~ктивиом со•
стоянии (уровень О) при чтении данных из ОЗУ или при их за
писи в ОЗУ.
Обсудим процедуру проверки линии выбора блока ОЗУ. Из
рис. 10.7 видно, что устройство IC1 3 является вентилем И типа
74LS08. Линия выбора блока соединяется с выходом одного из
четырех вентилей, скомпонованных в устройстве 74LS08. IC17
и IC1 8 п-одсоединены к выводу 3 IС1з, а IC19 и IC20 - к выводу
6 IC1 3. Отметим, что одним входом И вентилей является сиг
нал РАЗРЕШЕНИЕ ЗАПИСИ в ОЗУ 1 или ОЗУ2, т. е. с выводом
2 IC1 3 связан сигнал РАЗРЕШЕНИЕ ЗАПИСИ в ОЗУ 1 , а с вы
водом 5 IС1з - такой же сигнал ОЗУ2.
Необходимо проверить, что при выдаче сигнала РАЗРЕШЕ
НИЕ ЗАПИСИ в ОЗУ1 или ОЗУ2 системы активизируется тре
буемая линия выбора блока ОЗУ. Этот факт позволяет осу-,
ществить проверку одного режима выбора блока точно таким
же образом, как это де·ла-.1юсь в случае проверки сигнала раз
решения записи в ОЗУ1 или ОЗУ2. Вначале система устанавли
вается в соответствующий режим для проверки сигнала разре
шения записи в ОЗУ1 , как это описывалось ранее, и определяется
наличие логического уровня сигнала О соответственно вы
бору блока ОЗУ. Далее система устанавливается в режим по
дачи сигнала разрешения записи в ОЗУ2, как описано выше.
Затем проверяется наличие логического уровня О сигнала вы~
бора блока ОЗУ2.
Сигнал выбора блока ОЗУ 1 и ОЗУ2 также· должен иметь ло
гический уровень О при чтении данных из ОЗУ1 и ОЗУ2. Это
озиачает необходимость перевода системы в соответствующий
режим, при котором выполнено условие ЧТЕНИЕ из ОЗУ 1 или
ОЗУ2. Для этого можно использовать следующую процедуру:
1. Установить системный адрес (ВА0-ВА1 5) 1000. В резуль
тате сигнал SEL4 (вывод 5 IC 11 ) имеет логический уровень О.
Этот сигнал осуществляет выбор ОЗУ 1 •
2. Установить управляющие разряды УТСС в состояние, со
ответствующее ЧТЕНИЮ из памяти.· Это осуществляется путем
установки сигнала IO/M на логический уровень О. Сигнал •
RD принимает значение логического О, а сигнал WR-логиче-
310
rлава 10
екай 1. При этих условиях сигнал BMEMR должен иметь уро
вень логического О.
При одновременном существовании сигналов BMEMR и
SEL4 уровня логического О вывод 3 IC12 будет соответствовать
также уровню логического О, что является дJJя системы услови
ем чтения из ОЗУ1.
3. Проверить наличие логического уровня О сигнала выбо
ра блока на выводе. 8 IC1 7 и IC1 8• Отметим, что сигнал выбора
блока принимает значение логического уровня О, поскольку на
вывод 1 IС1з подается уровень О вследствие наличия логиче
ского уровня О на выводе 3 IC12-
•4. Проверить наличие логического уровня 1 сигнала выбора
блока ОЗУ2 ·"(нерабочий режим). Если на шаге 3 или 4 обна
руживается ошибка, необходимо локализовать неисправность
в системе.
5. Проверить подачу сигнала выбора блока ОЗУ2 при вы
полнении ЧТЕНИЯ из памяти для ОЗУ2. С этой целью устано
вить адрес 1400 на адресной шине системы (ВА0-ВА1 5 ) с по
мощью УТСС.
6. Система должна быть переведена в режим ЧТЕНИЕ из
памяти. Отметим, что при нахождении системы в данном режи-
ме и выдаче сигнала SEL5 ( с помощью адресной шины) на вы
воде 8 IC12 поддерживается логический уровень О. В результате
на вывод 4 IС1з также подается логический уровень О, что в
свою очередь приводит к поддержанию логического -уроцня О·
на выводе 6 IC1 3• Проверить нал}Jчи~ логического уровня О
входного сигнала выбора блока ОЗУ2.
7. Проверить наличие логического уровня 1 сигнала выбора
блока ОЗУ1 (нерабочее состояние). Если на шаге 6 •или 7 об
t~аруживается ошибка, необходимо определить местоположение
неисправности.
Допустим, что описанные выше проверки подтвердили- пра
вильность работы технических средств, что определяет правиль
ность соединения адресной шины, а также шины данных с
ОЗУ1 и ОЗУ2. Кроме того, шина управления системы осущест
вляет правильный выбор ОЗУ1 и ОЗУ2 при обращ~нии к памя
ти для чтения или записи.
Наконец, осталось проверить правильность подачи питания
на ОЗУ1 и -ОЗУ2. При работе статического ОЗУ 2114 использу
ется лишь источник +5 В, поэтому необходимо проверить на
личие уровня напряжения +5 В на выводе 18 IC1 7 , IC, 8 , IC19
и IC20 • Показав, что источник питания функционирует удовлет
ворительно, мы тем самым завершаем проверку правильности
интерфейса ПЗУ и ОЗУ с микропроцессорной системой на базе
устройства 8085, имеющей архитектуру с 3 шинами.
Отладка технических средств систем1,1
311
f0.10.
Отnадка интерфейса кnавнwноrо: nynыa
Рассмотрим отладку интерфейса клавишного ,пульта системы,
поскольку мы используем тот жеJ пульт, который был описан в
гл. 4. \Подробное обсуждение отладки этого интерфейса было
проведено в гл. 5, поэтому повторение описанной там процеду
ры излишне. Если у читателя возникнут какие-либо вопросы в
этоl'd смысле, он сможет обратиться к гл. 5. В этой главе от
ладка интерфейса клавишного пульта обсуждалась для систе
мы, создаваемой на базе микропроцессора Z80. В настоящей
главе рассматривается система на основе микропроцессора
8085. Однако мы достаточно подробно изучили УТСС для мик
ропроцессора 8085, чтобы провести такую же последователь
ность проверок, которая была описана в гл. 5 в отношении от
ладки клавишного пульта системы на базе Z80.
10.11.
Отnадка интерфейса устройства
отображения·
Подробное описание отладки интерфейса устройства отображе
ния было приведено в гл. 5. В настоящей главе рассматривает
ся точно такое же устройство отображения, что и 1В гл. 4. По
этому, если у читателя имеются какие-либо неясности относи
тельно отладки интерфейса данного устройства, он может. об
ратиться к гл. 5, где соответствующие вопросы обсуждаются
достаточно подробно ...Изл_ожение материала в гл. 5 ориенти
ровано на микропроцессор Z80. Однако в гл. 10 даются обшир
ные сведения по использованию УТСС для микропроцессора
8085, так что читатель в состоянии осуществить необходимые
проверки для микропроцессора 8085 по аналогии с теми, кото
рые описаны в гл. 5 для микропроцессора Z80.
10.12.
Отnадка схем nодкnючения ППЗУ к системе
Рассмотрим· теперь отладку схем ввода-вывода, предназначен
ных для подключения программируемо'Го ППЗУ к системе. Эти
схемы представлеиы на рис. 110.12. При обсуждении интерфейса
с программируемым ППЗУ для рассматриваемой системы не
·обходимо выделить пять основных функций технических средств
системы, а именно:
1. Выдача адреса на программируемое ППЗУ.
2. Ввод и вывод данных ППЗУ;
_ 3 . Подача питания на ППЗУ.
4. Подача импульса программирования на ППЗУ.
5. Выдача импульса выбора блока/РАЗРЕШЕНИЕ ЗАПИ
СИ.
Последние две функции описаны в отдельных разд.елах на
стоящей главы. Рассмотрим выдачу адреса на программируе-
мое ППЗУ.
_.
В
А
з
~
~
В
А
2
.
B
A
J
.
В
А
о
B
D
1
B
D
o
S
E
L
.
o
7
4
L
S
3
2
1
)
'
)
3
1
i
С
з
~
B
I
O
W
-
-
-
"
B
I
O
R
I
С
з
-
-
-
"
B
I
O
W
R
1
-
R
8
О
,
2
5
В
т
ж
5
0
J
о
R
a
l
1
4
-
7
к
О
м
+
5
!
С
5
D
_
E
N
A
7
4
L
S
7
4
P
D
o
9
п
ю
:
Ч
,
о
5
1
1
4
1
3
П
П
З
У
э
2
7
0
8
1
_
!
!
_
О
-
д
а
н
н
ы
е
в
П
П
З
У
!
-
д
а
н
н
ы
е
н
з
П
П
З
У
'
=
-
~
з
:
~
.
.
~
е
,
~
~
Q
1
2
1
:
s
:
:
§
'
8
.
2
!
Р
А
7
1
Р
А
а
2
З
I
Р
А
2
2
2
0
C
S
/
W
E
7
4
L
S
3
7
4
-
1
-
1
2
В
+
2
6
В
S
E
l
.
3
1
1
7
4
L
S
3
2
S
E
4
~
D
L
B
D
o
'
'
4
,
с
,
,
в
о
,
D
2
Г
s
J
C
4
В
\
О
W
Р
и
с
.
1
0
.
1
2
.
П
о
л
н
а
я
с
х
е
м
а
ц
е
п
и
в
в
о
д
а
-
в
ы
в
о
д
а
,
и
с
п
о
л
ь
з
у
е
м
о
й
д
л
я
п
р
о
г
р
а
м
м
и
р
о
в
а
н
и
я
П
П
З
У
.
Отладка технических средств системь1
313
Из схемы рис. 10.12 видно, что выдача адреса на ППЗУ осу
ществляется посредством двух двоичных фиксаторов - IC 9 и
IC 10• Устройство JCg есть 8-раз_рядный фиксатор типа 74LS374,
а IC 1o - 4-разрядный фиксатор типа 74LS 175. Отметим, что
входом для 74LS374 являются линии BD 0-BD7, а для
74LS175-линии BD 0-BD1. Это говорит о возможности пере-
74LS42
Вд7
12
ВА6
13
IC1
ВА5
14
ВА4
15
"З,,
4
6
~
ВА3
12
IC4
5
SEL~
ВА2
13
4
SELз
3_
SEL 2
ВА1
14
2
SEL 1
ВА0
15
sa;
IC2
Рис. 10.13. Часть схемы рис. 10.12, генерирующая код выбора.
'
дачи !О-разрядного адреса ППЗУ, что согласуется с потреб-
ностями ППЗУ 1 КХ8, для которого необходимо 10 адресных
линий. Устройство 74LS374 JCg формирует младший байт ад
реса ППЗУ, а устройство 74LS175-два старших разряда ад
реса.
Отметим, что синхронизация В-разрядного фиксатора
74LS374 осуществляется с вывода 11 IC3• Сигнал на этом вы
воде имеет логический уровень О, если одновременно имеют
уровень О сигналы на выводах 12 (SEL3) и 13 (BIOW). Такие
условия создаются, когда адресная шина переводит сигнал
SEL~ к уровню логического О, а шина управления генерирует
буферированный сигнал записи при вводе-выводе (BIOW).
Рассмотрим генерирование сигнала SEL3 с помощью техниче
ских средств.
21-814
314
fлава 10
На рис. 10.13, который является частью рис. 10.12, показа
ны схе~ы дешифрирования выбора для всех выходных портов~
приведенных на схеме рис. 10.12 . Отметим, что адресные линии
ВА4 и ВА1 подсоединяются к устройству 74LS42 IC1. Если со
стояние ВА..,-ВА1 соответствует значению 3, то сигнал на вы
воде 4 IC 1 соответствует логическому уровню О. При этом на
вывод 10 IC.., подается урове}fь О, что отпирает д,анный вентиль.
или.
Линии младших разрядов адреса ВА0-ВА2 подсоединены к
устройству 74LS42 IC2, а линия ВА3 - к выводу 9 IC..,. Если
ICz
ВынодNol 2 3 4 5 s Код ныбора Адрес
f!1
111
'"О"
зо,s
1о1111
'"!"
з1 16
l1о1
'"2··
3216
1
о
.. з•·
зз,s
1
1
l0
1
"4·•
3416
1
11
О,•
"5.''
ЗS1е
Рис. 10.14 . ,Тlоr,ические условия для адресной шины при установке требуемоr()
кода ныбора.
на ВАз подается логический уровень 1, на вывод 8 JC4 посту
пает сигнал логического уровня О. При этом условии на вывод
12 IC2 также поступает сигнал уровня О. В результате откры
вается IC2.
Три линии младших разрядов адреса ВА0-ВА2 теперr, оп-
ределяют, на какую из линий 13ыбора SEL0-SEL5 подается
логический уровень О. Это означает, что для адресной шины си-
стемы все сигналы ·sELo-SEL5 соответствуют значениям 3015~
3115, 321в, 331в, 341в, 3515. Состояния адресной шины и соответст
вующие коды выбора приведены на рис. 10.14 . Код выбора для
каждой линии выбора дан ,в кавычках.
Снова обращаясь к рис. 10.12, замечаем, что данные запи
сываются в JCg, если сигнал SEL3 и буферированный сигнал
записи при вводе-выводе одновременно соответствуют уровню
логического О. Поэтому для проверки работы технических
средств для данного тракта можно рекомендовать следующее
(при необходимости можно обратиться к приведенным ранее
процедурам):
1. Установить систему таким обр·азом, чтобы сигнал SEL&
имел логический уровень О в зависимости от состояния линий
адресной шины системы ВА0-ВА1.
2. Установить управляющие переключатели УТСС так, что-
бы перевести систему в р,ежим, при котором сигнал BIOW ак
тивен.
Отладка технических средств система.~
315
3. Установить шину уцр,авления в состояние, при котором
сигнал BIOW неактивен.
4. При переводе сигнала B10W в нерабочее состояние дан
ные с шины данных записываются в В-разрядный фиксатор ICg.
Теперь, проверяя с помощью логического пробника уровни на
пряжения на выводах 1, 2, 3, 4, 5, 6, 7 и 8 панели программиру
,емого ППЗУ, можно определить, что данные со входов JCg пе
реданы на выходы JCg.
Затем необходимо проверить правильность функционирова
ния устройства 74LS 175 IC1o в условиях системы. С этой целью
можно использовать следующую процедуру:
5. Перевести адресные линии ВА0 -ВА7 в логическое состоя
ние, при котором сигнал SEL4 имеет активный уровень О.
6. Установить линии данных BD 0-BD1 на входах устройст
sа 74LS 175 в состояние логическо,й 1.
7. Установить систему в состояние. в котором является не
рабочим буферированный сигнал ЗАПИСЬ при вводе-выводе.
В этом случае вывод 9 IC 10 должен быть в состоянии логиче-
ского о.
•
8. Теперь буферированный сигнал записи при вводе-выводе
s систему не действует.
9. Проверить, что данные с выводов 4 и 5 устройства
74LS175 переданы на выводы 2 и 7 этого устройства. Это мож
но сделать путем проверки выводов 22 и 23 панели програм
мируемого ППЗУ. При обнаружении ошибки на шаге 9 необхо
димо последовательно шаг за шагом проследить всю процеду
ру с целью локализации ошибки в аппаратуре.
Таким образом реализуется общая функция системы и про
веряется правильность ее выполнения. При положительном ре
зультате проверки можно перейти к следующему шагу процеду
.
ры. В противном случае осуществляется возврат на шаг назад.
Это позволит определить местоположение ошибки.
Теперь доказано, что адрес может быть передан в ППЗУ с
tПомощью технических средств. Далее проверим возможность
записи с помощью микропроцессора данных в ППЗУ и возмож
ность чтения данных из ППЗУ посредством микропроцессора и
'Гехнических средств системы.
Отметим, что в процессе программирования ППЗУ микро
процессор в некоторые промежутки времени осуществляет ввод
данных из ППЗУ ( чтение данных из ППЗУ). А в остальное
время он выводит данные в ППЗУ (при генерации данных для
программирования ППЗУ). Необходимо проверитр, что в обоих
<:лучаях - при вводе и выводе данных ППЗУ
-
их прохожде
ние в системе обеспечивается электрически.
Вначале рассмотрим, каким образом осуществляется разре
шение ввода в ППЗУ ·данных из микропроцессора. Данная
2,1•
316
fлава 10
функция в основном реализуется посредств-ОМ' IC5 рис. 10.12 .
Тракт ввода данных в ППЗУ с шины данных системы показан
на рис. 10.15. Рисунок 10.15 является частью рис. 10..12 . Отме-
SE L0
В!ОW
sIL;
BIOR
SEL2
B!DW
74lSЭ2
3
\С3
BD1
во,
BD3
во.
ВО5
BD6
ВО,
ВО0
вп,
во,
803
BD4
ВО5
R8 417 кОм
+5
4
8
13
14
1,7
5
9
11'
PD0
9
PD1
PD,
1
5
10
PD2
PD2
6
11
PD3
PD3
9
13
РО4
PD4
12
1r,
14 ППЗУ
15
РО5
PD5
2708
15
16
P[J,,
РОБ
16
РО7
PD7
17
PD1
4
6
РО2
10,
PD3 !Сб
PD4
12
РО5
1------' ' " "
() = данжые в ППЗУ;
l = данные из ППЗУ
Рис. 10.15. Часть схемы рис. 10.12, определяющая тракт ввода-вывода даи
ных для ППЗУ.
тим, что вывод 1 JC5 подсоединен к выводу 5 фиксатора 74LS74.
Если вывод 1 IC5 находится в состоянии логического О, то раз.
решен ввод данных с выхода IC 5 в ППЗУ. Ввод этих данных
запрещен, если ППЗУ выдает данные в систему. Это предот
вращает конфликты за обладание шиной данных :между дан-
Отладка технических средств системы
317
ными, выводимыми из ППЗУ, и данными, генерируемыми IC5•
Прежде чем записывать данные в ППЗУ необходимо убе•
диться, что IC 5 открыт посредством сигнала с вывода 1. Это
означает, что следует записать логический О в фиксатор 74LS74
(IC8), что осуществляется с помощью разряда Do шины дан
ных. Тактовые импульсы подаются на фиксатор с вывода 8 IC3 •
Если сигнал SEL2, а также буферированный сигнал записи при
вводе-выводе установлены и линия BD 0 шины данных имеет
уровень О, то уровень сигнала на выводе 1 IC 5 соответствует
логическому О.
Допустим, что на выводе 1 IC 5 поддерживается уровень О.
Отметим, что вход данных В-разрядного фиксатора 74LS374
(ICs) соединяется с шиной данных (B.D 0-BD7). Тем самым
данные для программирования ППЗУ поступают на шину дан
ных. После подачи данных на шину данных выполняется опе
рация записи в ICs. По этой операции данные передаются с
шины данных на выход ICs, т. е. осуществляется передача дан
ных на программируемое ППЗУ.
Процедура проверки функционирования I С5
1. Установить разряды адреса ВА0-ВА7 соответственно ра
бочему состоянию SEL0 •
2. Подать на линии ВD{)-ВП 7 данные, предназначенные для
цередачи на выход ICs,
3. С помощью УТСС установить шину управления системы ·
в состояние, в котqром буферированный сигнал записи при вво
де-выводе принимает логический уровень О.
4. Установить на линии управления состояние, соответству
ющее рабочему уровню сигнала BIOW. В этом случае данные
с шины данных передаются на выходы IC5•
5. Проверим, что данные на выходах IC5 соответствуют ис
ходным. В случае искажения данных на выходах ICs можно
последовательно шаг за шагом с помощью УТСС пройти про
цедуру записи данных с целью локализации ошибки.
Рассмотрим теперь технику проверки возможности чтения
микропроцессором данных из ППЗУ. Необходимость в этой опе
рации возникает при установлении правильности записанных
в ППЗУ данных. Для передачи данных из ППЗУ, в микропро
цессор следует заблокировать выводы PD0-PD7 IC5.
Вспомним, что для осуществления блокировки IC5 необхо
димо подать уровень логической 1 на вывод 1. Это означает вы
полнение операции ЗАПИСИ при вводе-выводе в IC8 при сиг
нале логической 1 на линии BDo шины данных, что приводит к
подаче логической 1 на IC 5 и блокировке устройства 74LS374.
В этом случае линии РD0 -РП7 могут управляться лишь с вы•
водов программируемого ППЗУ.
•
318
,Глава 10
-После выполнения операции записи в IC 8 и блокировки IC5
можно реализовать следующие действия. Система устанавлива
ется в режим чтения- из IC 6 и IC1. Затем осуществляется пооче
редно заземление выходных линий ППЗУ и проверка наличия
сигнала уровня логического О на соответствующих светоизлу
чающих диодах.
Процедура проверки уровня поrическоrо О на УТСС
1. Установить адресную шину системы в режим, при кото
ром SEL1 в рабочем состоянии.
2. У становить шину управления системы так, чтобы буфе
рированный сиглал чтения при вводе-выводе имел рабочий уро
вень. При этом на вывод 6 IC3 подается уровень логического О,
а устройства 74LS367 и IC1 разблокируются. При данных ус
ловиях все светоизлучающие диоды УТСС зажигаются. В этом
елучае, конечно, действует предположение, что ППЗУ не под
ключено к панели программирования, в противном случае све
тоизлучающие диоды отображали бы данные, хранящиеся в
устройстве.
3. Заземлить вывод 9 ППЗУ с помощью проводника, что со
ответствует логической 1. При этом разряд BD0 линии данных
принимает значение логического О, что приводит к подаче уров
ня логического О на светоизлучающий диод Do,
4. Поочередно подать уровень логического О на выводы 10,
11, 13, 14, 15, 16 и 17 и проверить зажигание соответствующих
светоизлучающих диодов УТСС. Таким путем осуществляется
быстрая визуальная проверка электрического тракта от ППЗУ
к микропроцессору 8085.
Теперь проверка правильности выдачи адреса на ППЗУ и
функционирования шины данных завершена. Осталось опреде
лить правильность подачи питания на ППЗУ. Это может быть
сделано путем контроля уровней напряжения на выводах 119,
24 и 21 с_ помощью вольтметра или осциллографа. Эти уровни
должны быть равны соответственно 12 Б, 5 В и - 5 В. Убедив
шись в правильности подачи таких уровней напряжения, перей
дем к проверке следующего блока ППЗУ.
10.13.
Проверка схем формирования импульса
проrраммирования
Проверим правильность функционироващrя схем, обеспечиваю
щих уровни импульса программирования 26 В и О В. Рассмат
риваемые схемы показаны на рис. 10.16, который является
частью рис. 10.12. В гл. 8 было описано функционирование схем:
рис. 10.16 с точки зрения прохождения электрических сигна
лов. Рассмотрим, каким образом микропроцессор управляет
данными схемами. Из рис. 10.16 видно, что входы устройства
Отn11дк11 технических средств системы
319
7406 IC12 являются выходами фиксатора IСн. Он имеет всего
четыре выхода. Выводы 5 и 9 (входы устройства 7406) связа-
ные с выходами Q и Q одного разряда фиксатора 74LS175. Сиг
налы на этих выходах генерируются по сигналу входа D2 фик
сатора 74LS175. Последний соединяется с линией BD1 шины
данных. Это означает, что при передаче разряда B,D 1 шины дан-
ППЗУ
2708
18 20
~
~roсе
о
о.
~,,_
ro
с.,...
о
о.
~
u
~>.
~
R, 100
::;: L______.___----г---,.---'=---ос
::s:
0,01 те,
Мl(Ф --
74LS17o
3о,
4
1с 11
7
BD1
о, D,
5
6
о,
Рис.· 10.16. Часть схемы рис. 10.12, опреде.1яющая технические средства
управления импульсом программирования ППЗУ.
ных в фиксатор 74LS175 воздействие передается на выходы
Q2иQ2.
Рассмотрим, каким образом данные с шины передаются в
фиксатор IC 11 • При выполнении системой операции выдачи ко-
да выбора SEL5 данные с шины передаются в фиксатор IC11.
Выбор SEL5 осуществляется, если адресная шина (ВА0-ВА1)
находится в логическом состоянии 35 16 . Для проверки функцио
нирования импульса программирования передается сигнал уров
ня логической 1 по линии шины данных BD 1 на выход Q2 IC11.
При этих условиях импульс программирования ППЗУ на выво
де 18 имеет уровень +26 В.
Процедура записи 1 на вход D 2 1С11
1. Установить адресную шину системы (ВАо-ВА7 ) в состо
яние, в котором осуществляется подача сигнала SEL5•
2. Подать уровень 1 на линию BD 1 шины данных.
320
rлава 10
3. Установить управляющие разряды УТСС в состояние, в
котором осуществляется подача сигнала BIOW.
4. Установить шину управления системы такцм образом, что
бы буферированный сигнал записи BIOW не подавался. В этом
случае данные с линии BD 1 (логическая 1) вводятся в фикса
тор 74LS175.
5. Импульс программирования на выводе 18 ППЗУ теперь
имеет уровень +26 В. Если это не так, можно последовательно
пройти по схеме и точно установить, почему импульс програм
мирования не достигает указанного уровня при подаче 1 на
вход D2 IC11.
6. Запись логического О на выход Q2 IC 11 осуществляется
точно так же, 15ак и запись логической 1, за исключением того,
что во время операции записи на соответствующей линии шины
данных поддерживается уровень логического О. После завер
шения операции записи импульс программирования на выводе
18 ППЗУ должен иметь уровень логического О. Если на шагах
5 и 6 обнаружена ошибка, необходимо определить ее причину
путем пошаговой процедуры статических проверок соответот
вующих схем.
10.14 .
Проверка функционирования схем
ВЫБОРА БЛОК и РАЗРЕШЕНИЯ ЗАПИСИ
Рассмотрим теперь схемы подачи уровня напряжения +-12 В
под управлением микропроцессора на линию ВЫБОР А БЛО
КА РАЗРЕШЕНИЯ ЗАПИСИ (вывод 20 ППЗУ). На рис. 10.17,
являющемся частью рис. 10.12, приведена схема управления
импульсом ВЫБОРА БЛОКА РАЗРЕШЕНИЯ ЗАПИСИ, ко
торый подается на ППЗУ. Эта схема функционирует подобно
схеме формирования импульса программирования, описанной
ранее.
Основное различие между схемами ВЫБОРА БЛОКА РАЗ
РЕШЕНИЯ ЗАПИСИ и формирования импульса программиро-
вания заключается в том, что они управляются раз-
личными разрядами шины данных. Схемы ВЫБОРА
БЛОКА РАЗРЕШЕНИЯ ЗАПИСИ управляются разрядом BDo
шины данных. Таким образом, при записи 1 на выход Q,1 уст
ройства 74LS 175 IC 1 сигнал выбора блока разрешения записи
должен достичь уровня +12 В с помощью транзистора Т,. При
записи О на выход Q1 уровень напряжения данного сигнала ста
новится О В. Функционирование схем выбора блока разреше
ния записи может быть проверено путем выполнения операции
ЗАПИСИ при установке логической 1 в разряде BDo шины дан
ных. При этом на входе линии выбора блока. разрешения записи
Отладка технических средств системы
321
устанавливается уровень напряжения +12 В. Далее выполня
ется операция записи при установке логического О в разряде
BD0 шины данных. В результате на рассматриваемую линию
подается уровень напряжения О В. Если при выполнении ка
кой-либо из указанных операций на выходе транзистора Т1 полу
чается неверный сигнал, то, прежде чем двигаться дальше, не
обходимо локализовать и устранить неисправность в схеме.
.)
ППЗУ
2708
20
CSIWE
Rз
+ 1211
IC,2
100
4
74LS175
2
4
3
о,
IC 11
7
02 02
во,
i
6
Рис. 10.17 . Часть схемы рис. 10.12, определяющая технические средства уп
равления импульсом CS/WE ППЗУ.
По мере углубления в детали технических средств строгие
процедуры проверки системы, описанные в· начале главы, уп
рощаются. Это вызвано тем, что наши знания о сущности пе
ревода системы в режим записи или режим чтения посредст
вом УТСС расширяются. При упоминании о переводе системы
в какой-либо частный режим предполагаем, что читатель зна
ет, каким образом этот режим реализуется посредством УТСС.
Если же это не так, необходимо ознакомиться с ра
нее описанными процедурами перевода системы в режимы за
писи и чтения при операциях с памятью или с устройствами
ввода-вывода посредством УТСС.
322
rлава 10
По sавершении проверки технических средств формирования
имnульса программирования и выбора блока разрешения за
лиси устанавливается факт правильной работы схем ввода-вы
rвода ППЗУ в рамках всей системы. Проведение полного объема
·тестирования с использованием лишь УТСС и устройства конт-
0роля уровня напряжения является большим достижением. Прп
изложении материала основной упор делается на точное пони
мание особенностей протекания коммуникационных процесса•
в условиях использования конкретного микропроцессора, т. е .
.для
того чтобы эффективно использовать УТСС при настройке
технических среJJ.ств, необходимо знать, каким образом микро
процессор 8085 или любой другой выполняет с устройствами
ввода-вывода или с памятью операции чтения и записи.
f, Убедившись в правильности функционирования технических
,средств системы, мы можем подключить микропроцессор и за
дать системе рабочий режим. При этом мы уверены, что и те
,перь система будет работать корректно. Подчеркнем еще раз,
'.!то УТСС не проверяет ошибки тактирования. Однако личный
опыт автора позволяет утверждать, что если проверка с по
мощью УТСС выявила правильную работу технических средств,
то и при нормальном быстродействии системы с установленным
микропроцессором с большой вероятностью это оборудование
будет функционировать безошибочно. Последнее доказано на
работе с микропр,оцессорами 8080, 8085, Z80 и 6800 сис!емы,
описанной в гл. 8. Причем если возникает намерение использо
вать УТСС для настройки оборудования на базе микропроцес
сора 6800, то необходимо создать специальное устройство тес
тирования статических сигналов, схема которого приведена в
приложении.
За-т~м; испощ,зуя это устройство, реализуется полная проце- ..
дура проверки, описанная в данной главе. Причем индикация
операции ЧТЕНИЯ из памяти должна быть соnмсстимой с со
ответствующей операцией микропроцессора 6800. При индика
ции операций ЗАПИСИ и ЧТЕНИЯ с устройствами ввода-вы
вода или операции ЗАПИСИ в память УТСС переводится в тот
же режим, в котором эти операции выполняет микропроцессор
6800;' В этом заключаются различия между УТСС, используе
мьrми для различных микропроцессоров. Используемое тести
рующее устройство должно быть совместимым с микропроцес
сором, н:оторый оно заменяет в системе, а\ также оно должно
'эМулировать этот микропроцессор. Это обобщенное свойство
УТСС, позволяющее модифицировать существующее УТСС для
проверки технических средств любой базовой микропроцессор
ной сист·емы вне зависимости от того, какой из микропроцессо
ров' 8080, 8085, Z80, 6800 (либо какой-нибудь другой, менее по,.
пулярный) используется.
Отладка технических средств системы.
323
10.15.
Выводы
В книге была описана последовательность проектирования тех•
нических средств и создания программного обеспечения систе
мы, в ·которой одни и те же функции могут быть реализованы
с помощью четырех различных микропроцессоров. Их выбор,
определялся тем, что присущие им общие архитектурные осО•·
бенности широко используются в устройствах, применяемых на_
практике.
Также была изложена техника построения интерфейса уст-
ройств ввода-вывода и памяти с этими микропроцессорами
(при общей или специаJiьной организации ввода-вывода). Уст
ройства ввода-вывода, на примере которых демонстрировалось
построение интерфейса с системой - клавишный пульт и уст•
ройство отображения, - отыосились к числу широко распростра•
ненных, а выбор их основывался на стремлении проиллюстри
ровать общую концепцию построения интерфейса ввода-выво"
да, отвлекаясь от специфических свойств отдельных
периферийных устройств, которые могут использоваться лишь
с определенным микропроцессором, определенной микропроцес
сорной системой либо в ограниченной области применения.
Использование специальных периферийных устройств с дан•
ным микропроцессором способствует снижению числа выводов
системы. Необходимо знать периферийные устройства, которые
могут работать с МIИ{ропроцессором, используемым в системе,
Однако с изучением концепции построения интерфейса уст•
ройств ввода-вывода облегчается понимание технических дан"
ных и спецификаций отдельных периферийных устройств. Эта
объясняется тем, что по мере ознакомления с используемым пе•
риферийным устройством осмысливается значение его конкрет•
ных характеристик.
Была изложена техника проверки, или отладки техни~еских
средств системы, именуемая тестированием посредством:· ста.~
тических сигналов. Сущест13уют и другие технические приемы
проверки технических средств системы, однаl\о тестирование
посредством статических сигналов отличается крайней просто
той, поскольку опирается на эна нис и11жснср110-тсх11ическим
персоналом особенностей взаимосвязи микропроцессора с па,
мятью и устройствами ввода-вывода. Такая ·информация необ
ходима при проектировании использования • устройств ввода,.
вывода и памяти в микропроцессорной системе. Кроме того, ис•
пользование _устройства тестирования статических сиrналоs н~
связано с приобретением каких-либо дополнительных знаний....
Остается надеяться, что ознакомление с настоящей. кщп;оl
обл~.rчит для читателя использовщше, отладку а цроектhррва~
uие .систем на. базе 8-р.азрядн,ы:х, микропроцессоров..
Приложение
1-lаэначенме выводов корпуса
микропроцессора INTEL 8080д
д,о
1
40
д"
, GNO
2
39
д,.
о.
3
38
05
4
37
о.
5
36
о,
6
35
о,
7
34
д,
о,
8
INTEL 33
о,
9
32
д,
о.
10 8080А 31
11⁄4
-5V
11
30
RESEТ
12
29
А1
HOLD
13
28
+12V
INT
14
27
Az
,2
15
l6
А1
16
25
до
17
24
WAIT
WR
18
23
READY
~YNC
19
22
,1
+5V
20
21
HLDA
Рис. П.1. Назначение выводов микропроцессора Intel 8080А.
А 15 -А.о (выходы с тремя устойчивыми состояниями)
Выходы А 15-А0 подключаются к шине данных, по которым адрес по
дается в память (допускается использование памяти объемом в 64К В-разряд
ных слов) или на устройство ввода-вывода. Может быть использовано до
256 устройств ввода и до 256 устройств вывода. А.о - младший разряд
адреса.
D7 - Di, (входы-выходы с трем и устойчивыми состояниями)
К выводам D1 - Do подключается шина данных, по которой обеспечи
вается двунаправленная передача команд и данных между ЦП, nамятью и
устройствами ввода-вывода. Кроме того, в начале каждого машинного цикла
микропроцессор 8080А выводнт иа шину данных слово состояния. Do - млад•
ший разряд слова, передаваемого по шине данных.
SYNC (выход)
Синхронизирующий сигнал SYNC отмечает начало каждого машинного
цикла.
DBIN (выхо.в:}
Сигнал DBIN информирует внешние схемы о том, что шина данных ра•
ботает в режиме ввода. Этот сигнал должен испольэоватьси для разрешения
Приложение
325
1.
ввода даюl!ЬIХ в микропроцессор 8080А из п.амяги или устройств ввода•
вывода.
~ EADY (вход)
Сигнал READY указывает микропроцессору 8080А, что на шину данных
:поступили данные нз памяти или .от внешних устройств. Этот сигнал исполь
зуется для сннхроннзацттн ЦП при работе его с медленнодействующнмн па
мятью или устройствами ввода-вывода. Микропроцессор 8080А после выдачи
.адреса будет находиться в состоянии ожидания (э1ому состоянию соответ
ствует низкий уровень сигнала на линии READY) до тех пор, пока не по•
сту.пит сигнал READY. Кроме того, этот вход можно использовать для орга
низации пошагового режима .рабохы микропроцессора.
WAIТ (11ыход)
Сигнал WAIТ является сигналом подтверждения того, что ЦП находит
ся в состоянии ожидания.
WR (выход)
Сигнал WR используется для управления прн выполнении операции за-
11иси в память или при выводе данных на внешние устройства. До тех пор
пока сигнал WR имеет активно низкий уровень (\VR=0), данные сохраняются
ка шине данных.
~ HOLD (вход)
Сигнал HOLD является сигналом запроса иа перевод ЦП в состояни-~
«Блокировка». В состоянии «БJiокировка» внешнее устройство получает воз
можность управлять адресной шиной и шиной данных. Переход в состояние
«<Блокировка» осуществляется после окончания текущего машинного цикла
11ри выполнении следующих условий:
-
ЦП находится в состоянии HAL Т.
-
ЦП находится в состоянии Т2 ил11 TW и сигнал READY активизиро-
11ан. При переходе в состояние «Блокировка» адресная ши:на (А 15 -А0)
и шина данных (D7 - Dry) будут переведены в состояние высокого сопротив
ления. ЦП выдаст на вывод HLDA сигнал пО.Цтверждення перехода в со
стояние «Блокировка»:
flLDA (выход)
Сигнал HLDA появляется II ответ на сиги.ал HOL.D и указывает, что
,адреснан шина и шина данных перешли IJ состояние высокого сопротивления.
Сигнал HLDA вырабатывается при следующих условиях:
-
ЦП находится в состоянии ТЗ и производится ввод данных из памяти
или ,из устройства ввода.
-
Наступил период в последовательности тактовых нмпу,11ьсов, сл'~дую
щий за состоянием ТЗ прн выполнении операции записи в память или опера
ции вывода на внешние устройства. В любом случае сигнал HLDA появляет
ся после прохождения переднего фронта импульса fl l, а переход в состояние
11ысокого сопротивления .происходит после прохождения переднего фронта
импуль.са 1112.
JNTE (выход)
Состояние этого выхода определяется содержимым триггера разрешения
mнешнего прерывания. Состояние этого триггера может определяться посред•
,ством команды «Разрешение прерывания» и команды «Запрещение прерыва
•ния». К.огда этот триггер «сброшен», ЦП не реагирует на прервваняя. Он
:звтоматически сбрасывается (последующие прерывания запрещаются) в со
стоянии TI цикла команды, и, кроме того, он сбрасывается при поступлеиях
сиrиа.па RESET.
INT (вход)
Сигнал :uпроса -ка прерывание ~юспр1tнямается ЦП либо в конце цикла
аыполнеиия текущей команды, .пябо в состоянии HOLD. Есл11 ЦП иахо,1111'С'а
С
!
1
6
0
1
1
1
а
'
l
е
П
и
е
V
I
L
C
V
1
н
с
V
x
L
V
х
н
V
o
L
V
о
н
I
D
D
I
c
c
I
в
в
l
x
L
J
C
L
J
D
L
I
P
L
.
Т
а
б
л
и
ц
а
1
Х
а
р
а
к
т
е
р
и
с
т
и
к
и
п
о
п
:
>
с
т
о
я
н
н
о
м
у
т
о
к
у
Т
л
=
О
-
7
0
°
С
,
V
u
D
=
+
I
2
В
±
5
%
,
V
c
c
=
=
+
5
В
±
5
%
,
V
в
в
=
-
5
В
±
5
%
,
V
1
1
s
'
"
"
0
В
,
e
c
J
I
И
н
е
о
г
о
в
о
р
е
н
о
п
р
о
т
и
в
н
о
е
З
н
а
ч
е
н
и
е
П
а
р
а
м
е
,
-
р
Е
д
и
н
и
ц
а
У
с
л
о
в
и
я
и
с
п
ы
т
а
н
и
й
м
и
и
и
м
а
л
ь
-
1
1
м
а
к
с
и
м
а
л
ъ
-
и
з
м
е
р
е
н
и
я
и
о
е
с
р
е
д
н
е
е
.
н
о
е
Н
и
з
к
и
й
у
р
о
в
е
н
ь
т
а
к
т
о
в
о
г
о
н
а
-
V
.
c
;
s
-
1
•
V
s
s
+
0
,
8
в
п
р
я
ж
е
н
и
я
В
ы
с
о
к
и
й
у
р
о
в
е
н
ь
т
а
к
т
о
в
о
г
о
н
а
-
9
,
0
V
o
o
+
I
в
п
р
я
ж
е
н
и
я
Н
и
з
к
и
й
у
р
о
в
е
н
ь
в
х
о
д
н
о
г
о
н
а
-
V
s
s
-
1
V
s
s
+
0
,
8
в
п
р
я
ж
е
н
и
я
В
ы
с
о
к
и
й
у
р
о
в
е
н
ь
в
х
о
д
н
о
г
о
н
а
-
3
,
3
V
c
c
+
I
в
п
р
я
ж
е
н
и
я
Н
и
з
к
и
й
у
р
о
в
е
н
ь
в
ы
х
о
д
н
о
г
о
н
а
-
0
,
4
5
в
)
l
o
L
=
l
,
9
м
А
н
а
.
в
с
е
х
в
~
,
1
х
о
д
а
~
.
п
р
я
ж
е
н
и
я
В
l
j
!
С
о
к
и
й
у
р
о
в
е
н
ь
в
ы
х
о
д
н
о
г
о
н
а
-
3
,
7
в
I
о
н
=
-
1
5
0
м
к
А
п
р
я
ж
е
н
и
я
С
р
е
д
н
и
й
т
о
к
п
р
и
V
D
D
4
0
7
0
м
А
\
Р
е
~
и
м
T
c
y
=
Q
,
4
8
м
с
:
.
:
.
:
.
V
c
c
6
0
8
0
м
А
:
.
:
.
:
.
V
в
в
0
,
0
1
1
м
А
Т
о
к
у
т
е
ч
к
и
н
а
в
х
о
д
е
±
1
0
м
к
А
V
s
s
:
:
:
:
;
;
V
I
N
~
v
с
е
Т
о
к
у
т
.
н
а
в
х
.
с
и
н
х
р
о
н
и
з
а
ц
и
и
±
1
0
м
к
А
V
s
s
:
:
:
:
;
;
V
т
a
к
т
~
V
o
o
Т
о
к
у
т
.
н
а
ш
и
н
е
д
а
н
н
ы
х
в
р
е
-
-
1
0
0
м
к
А
V
s
s
:
:
:
:
;
;
V
x
N
:
:
:
:
;
;
V
s
s
+
0
,
8
В
-
-
ж
и
м
е
в
в
о
д
а
-
2
,
0
м
А
V
s
s
+
0
,
8
B
:
:
:
:
;
;
V
x
N
:
:
:
:
;
;
V
c
c
Т
о
к
у
т
.
н
а
а
д
р
е
с
н
о
й
ш
и
н
е
и
+
1
0
м
к
А
V
а
д
р
е
с
/
д
а
н
н
ы
о
=
V
с
е
ш
и
н
е
д
а
и
н
ы
х
в
р
е
ж
и
м
е
H
O
L
D
1
-
1
0
0
V
а
д
р
е
с
/
д
а
н
н
ы
е
=
V
s
s
+
0
,
4
5
В
,
:
.
,
,
,
<
:
:
J
i
;
,
~
.
,
,
_
-
-
-
\1
) Пр~,1.rюжение
327
,в состояни~«Блокировка» или 1:риггер ра3решения прерывания сброшен, он
не будет р гировать на прерывания.
RESET (вх д)
Когда с гнал RESET акгивизируется, счетчик команд очищается. После
подачи сиrна.(!а RESET ЦП начнет выполнение программы с команды, на
ходящейся в памяти в ячейке с адресом О.· !(,роме того, будут сброшены триг
геры,_ определяющие состояния выходов INТE и HLDA. Отметим, что чистка
~лажков, аккумулятора, указателя стека и регистров Н(' производится.
Vss=0 В, Vnn=+l2±5% В, Vcc=+5±5% В, Vnв=-5±5% В. ФI, Ф2-
f!ервая и вторая фазы последовательности тактовых импульсов. Эти входы не
совместимы с ТТL-схсмами.
Допустимые предельные значения [8080А 1)]
Температура окружающей среды
Температура устройства пnмяти
Все входю,1е и выходныр напряжения относи
тельно напряжения Vвв
Усе, VDD и Vss относительно Ynn
Мощность рассеяния
1,5
,t<1'
!"'
-~
!::i 1,01 --=-. . ~- -+--- -1
:.! ;]
:.: 1-<
о ::с
ir-, 1::
05'----,,,1.,, ---- -c,L----='
,о
+25
+5о
+75
Температура окружающей
среды (в градусах.Цельсия)
О-+ 70 °С
-6 5-+ 150 °Q
-О,з-+20 В
-о,з-+ 20 в
1,5 Вт
Рис. П.2. Зависнмость тока источиli•
ка питания. от температуры окру•
жающей среды. Зависимость норма·
Рис. П.3. Зависимость тока утечки
шины данных от уровня ·сиrна•
ла DВIN
.'!изована: Лl/ЛТл=-0,45%/"С.
Обозначение
с
CNI
Соuт
Емкостные характеристики
Тл=25°С, Vcc=Vnn=Vss=0 В, Увв=-5 В
Номи11аль- М::1кс11мяль- ~ДНIIИIЩ
Параметр
нос з1н.1че- нос знач~- llJMcpeш1я
IIHC
IJJIC
ЕМК()СТЬ на JIX())(ax
ф
17
25
пФ
Входная <'МКОСТЬ
6
10
пФ
Выходная емкость
10
20
пФ
Таблица 2
Условие ис•
пытания
fс=IМГц
•> Функционнрованне устройства прк значениях параметров, превышаю•
щкх предельные, не допускается. Работа устройства при предельных значе-
1шях указанных параметров в течение длительного 11ремеик может кзменкть
и;црак-щрнстнки надежности устройства.
•
1
Ф
г
П
р
и
м
е
ч
а
н
и
е
:
И
з
м
е
р
е
н
и
е
в
р
е
м
е
и
к
ы
х
х
а
р
а
к
т
е
р
и
с
т
и
к
в
ы
п
о
л
н
я
е
т
с
я
п
р
и
с
л
е
д
у
ю
щ
и
х
н
а
п
р
я
ж
е
н
и
я
х
:
н
а
в
х
о
д
а
х
т
а
к
т
о
в
ы
х
и
м
п
у
л
ь
с
о
в
-
у
р
о
в
е
н
ь
л
о
r
и
ч
.
«
1
»
:
:
:
:
8
,
0
В
,
у
р
о
в
е
н
ь
л
о
r
и
ч
.
«
О
»
=
1
,
0
В
;
н
а
о
с
т
а
л
ь
н
ы
х
в
х
о
д
а
х
-
у
р
о
в
е
н
.
ь
л
о
r
и
ч
.
«
1
»
=
3
,
3
В
,
у
р
о
в
е
н
ь
л
о
r
и
ч
.
«
0
>
>
=
0
,
8
В
;
н
а
в
ы
х
о
д
а
х
у
р
о
в
е
н
ь
л
о
r
и
ч
.
«
1
»
=
2
,
0
В
,
у
р
о
в
е
н
ь
л
о
r
и
ч
.
«
О
»
=
0
,
8
В
A
1
f
"
~
-
-
-
-
-
-
J
.
.
.
_
_
_
.
1
t
.
-
1
D
т
-
D
o
-
-
-
-
-
-
-
-
1
-
-
.
.
J
~
I
Y
N
C
-
-
-
-
-
-
-
~
.
.
.
.
.
J
D
B
I
N
W
я
"
E
A
r
Y
-
-
-
-
-
-
-
-
-
-
-
W
A
I
T
_
_
_
_
_
_
_
_
,
_
_
_
_
_
_
_
_
_
.
.
.
.
.
.
:
!
;
!
.
.
,
:
:
:
:
!
,
;
:
:
:
:
:
.
.
,
μ
-
~
~
В
.
О
д
'
➔
t
н
H
O
L
D
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
'
:
:
:
'
-
-
j
~
Н
L
о
д
_
_
_
_
,
;
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
=
=
т
:
I
N
T
•
-
:
-
:
-
1
N
T
E
Р
и
с
.
П
.
4
.
В
р
е
м
е
н
н
ь
1
е
д
и
а
.
г
р
а
м
м
ы
(
8
0
8
0
А
)
.
()бозиа-
чение
tcv
tr, tr
tФ1
tФ2
to1
to2
tDs
tол
too
toc
tDJ'
tDI
tos1
\
\,
.
Таблица З.
Хар~теристики по переменному току (микропроцессор 8080 А)
(Есл не оговорено особо, то ТА=0·-70"'С, VDD=+l2' 8±5%,
Vcc=+5 8±5%, Vвв=-5 В±5%, Vss=0 В.)
\
Значение
Едини-
Параметр-
.ца из-
мере- Условие проверка,•
.;
1
~,~-:1~-:11·~1~"'!
ння
1
=·
:s
:S :,;с:, :so
о :,;о
Период следовани я 0,48 2, 00,322, 00,38 2,0 мкс
тактовых импульсов
1
Длительность перед• о 50 о 25 о 50 нс
него н заднего фрон-
та тактовых импуль-
совФ1иФ2
Ширина импульса Ф 1 60
50
60
НС
Ширина импульса Ф2 220 145
175
нс
Задержка импульса о
о
о
НС
fil2 по отношению к
заднему фронту
'·
им-
пульса Фl
Задержка импульса .70
60
70
нс
fill ПО, отношению к
заднему фронту Ф2
Время задержки им- 80
60
70
нс
'пульса Ф2' по отноше-
нию к импульсу Ф 1
jс,-100 иФ
Время задержки па.
200 1 150
175 НС
;дачи адреса относи-
. тельно
импульса. ~2'
Время задержки вы-,. 220
180
200 нс
•дачи данных
относи-
тельно импульса Ф2
,Задержка подачи сиг-
120
110
120 нс
налов SYNC, WR,
WAIТ, HLDA по ОТ-
'
. ношению
к переднему
фронту ю.mу.,ьсоо Ф I
IИ fil2
.
cL-50 пФ
· Время
задержки по- 25 140 25· 130 25 140 НС
дачи сигнала DBIN
•относительно нмпуль-
са fil2
Время задержки пере-
top
tьр
top нс
хода шины данных в
, режим ввода по отно-
, шению
к переднему
фронту импульса fil2
: Время установки дан- 30
10
20
нс
ных на шИ11е данных
'
/
Функциональное описание 8080А/8085А-2 j
.Микропроцессор 8085А представ.1яет собой 8-разрядный ЦП. Д я него требу
,ется источник питания с напряжением +5 В. Тактовая часто а генератора
тактовых импульсов для микропроцессора 8085А равна 3 МГц; а дJIЯ микро
.процессора 8085А-2 - 5 МГц. Таким образом, эти микропроцессоры обладают
_более высоким быстродействием по сравнению с микропроцессором 8080А.
Кроме того, для построения систем, обладающих минимальными возможно
,стями, предусмотрены следующие устройства: ОЗУ/Ю - 8156, ПЗУ/Ю-
8355 нлн ППЗУ/Ю - 8755А.
Микропроцессор 8085А имеет двенадцать 8-разрядных регистров. Четыре
-из 111их, разбитые на пары, нспоJ1ьзуются как два 16-разрядных регистра.
Шесть других регистров могут использоваться либо как 8-разрядные, либо для
•образования 16-разрядных регистров. Регистры микропроцессора 8085А имеют
-следующее назначение:
Обозначение
АСС или А
РС
ВС, DE, HL
SP
F
Регистр
Аккумулятор
Счетчик команд
Регистры общего назна
чения; HL - указатель
данных
Указатель стека
Регистр флажков
Содержимое
8 разрядов
16-разрядпый адрес
ШL•сть 8-разрядных, трu
16 разрядных
16-разрядный адрес
5 флажков (8 разрядов)
В микропроцессоре 8085А использована мультиплекснрованная шина дан
ных. Адрес передается по двум шинам: старший байт адреса - по шине адре•
са, а младший байт- по шине данных. В начале каждого машинного цикла
младший байт адреса поступает на шину данных. Этот младший байт адреса
может быть зафиксирован в любом 8-разрядиом фиксаторе посредством пода
чи сигнала отпирания фиксатора адреса (AI.E). В остальное время машинно•
то цикла шина данных используется для передачи данных между микропро
цессором и памятью или устройствами ввода-вывода.
Микропроцессор 8085А вырабатывает для шины управленuя- сигналы RD,
WR, S0 , S 1 н 1O/М. Кроме того, он же вып.ает сигнал подтверждения преры
вания INTA. Сигнал HOLD и все прерывания синхронизируются с помощью
внутреннего генератора тактовых сигналов. Для обеспечения простого после•
довательного интерфейса 11 микропроцессоре 8085А пре1tусмотрсны линия по
следовательного ввода данных (SID) и липия последовательного вывода дан-
ных (SOD).
Микропроцессор 8085А имеет также три вывода для маскируемых сигна•
лов прерывания по вектору и один вывод для немаскируемоrо прерывания·
TRAP.
Прерывания и поспедоватеnьный ввод-вывод
Мнкропроцес-сор 8085А пмеет всего 5 входов для подачи сигналов· прерыва•
,ннй: INТR, RST 5.5, RST 6.5, RST 7.5 и TRAP. Сигнал INТR имеет такое
же назначение, как _и сигнал INТ в микропроцессоре 8080А. Каждый из вхо
дов RST 5.5, RST 6.5 и RST 7.5 может программно маскироваться. Преры·
ванне по входу TRAP не может быть маскировано. Если маска прерываний
.не установлена, то на, указанные маскируемые. прерывания микропроцессор
будет реагировать, помещая при этом содержимое счетчика команд в стек к
·переходя к выполнению программы, адрес которой определяется вектором
;рестарта. Так как прерывание TRAP не может быть маскировано, при появле•·
\
\ Приложение
ЗЗi
\
нии запросц прерывания иа этом входе ~икропроцессор бу,S.!;_Т всегда перехо•
дить к выпqлненню программы, указаннои вектором рестарт!,)
Среди 11Ц1скируемых прерываний есть прерывания двух различных типов.
Входы снгна~ов прерываний RST 5.5 и RST 6.5 являются подобно входам
INТR и входу INТ микропроцессора 8080 чувствительными к уровню сигнала.
а время распознавания соответствующих сигналов такое же, как н для сигна
ла INТR. Вход RST 7.5 является чувствительным к переднему фронту сигна
ла. Чтобы установить триггер, генерирующий внутренний запрос на преры•
ванне, достаточно подать импульс на вход RST 7.5. Триггер запроса преры-.
вания RST 7.5 остается установленным до тех пор, пока прерывание не будет
обработано. После завершения обработки прерывания он автоматически сбра-
Запрос на
Внутренние схемы
микропроцессора 8085А
лрерывание TRAP
RESET IN
Триг
гер
Шмит- RESET
та
Подтверждение
запроса на преры •
ванне TRAP
Рис. П.5. Схема приема сигналов TRAP н RESET IN.
сывается. Этот триггер также может быть сброшен с помощью команды SIМ
или посредством подачи сигнала RESET IN на соответствующий вход микро
процессора 8085А. Внутренний триггер запроса прерывания RST 7.5 может
быть установлен подачей импульса на вывод RST 7.5 даже тогда, когда пре•
рывание RST 7.5 маскировано. Состояние масок прерываний типа RST может
быть изменено только коУандой SIM и сигналом RESET IN (см. опнсаине
команды S IM в гл. 6).
l(аждому прерыванию приписан некоторый постоянный приоритет: сигнал
ТRАР имеет наивысший приоритет, затем идут сигналы RST 7.5, RST 6.5,
RST 5.5, сигнал INТR имеет низший приоритет. Если на прерывание поступа
ет более чем один запрос, то сначала обрабатывается прерывание, имеющее
наивысший приоритет. Эта приоритетная схема не nлинет на уже стартовав
шие программы обработки прерываний. Но если прерывания разрешены до,
окончания выполнения программы обработки прерывания, то при поступлении
запроса на .прерывание по входу RST 5.5 программа обработки прерываиия
RSТ 7.5 прекратит работу.
Сигнал прерывания TRAP используется при возникновении катастрофиче
ских событий, например nрп повреждении источника питания или при возник
новеиии неисправностей в шинах системы. Сигнал TRAP распознается систе•
мой подобно другим прерываниям, однако он имеет наивысшнй приоритет.
Это прерывание не может быть маскировано. Вход TRAP является чувстви,
тельиым и по фронту сигнала, и no его уровню. Сигнал ~RAP доткеи выра-
2(!•
Приложение
/
/
,сти до определенного уровня и оставатьсн на этом высоком уров~ вплоть до
.выработки сигнала подтверждения прерывания. Следующее прерывание нз
,входе TRAP может быть зарегистрировано только тогда, ,когда уровень сигна
ла иа нем изменится от низкого до высокого уровня. Таким о(!разом устра
;няются ложные срабатывания, которые могли бы возникнуть ; из-за шумов
или других помех. На рнс. П.5 представлена схема формирования запроса на
:прерывание П~АР, содержащаяся в микропроцессоре 8085А. Отметим, что во
время обработки прерываний П~АР, RST 7.5, RST 6.5, RST 5.5, INTR, до тех
пор пока ке будет выполнена команда EI, запрещены все прерывания, кроме
прерывания по входу TRAP. Прерывание TRAP является особым в том смыс
ле, что оно запрещает прерывания, но не изменяет предыдущее состояние
входа разрешения прерывания. Выполнение команды RIM после прерывания
TRAP позволяет определить состояние маски прерываний независимо от того
были ли разрешены нлн запрещены прерывания до наступления прерывания
TRAP. Все последующие выполнения команды RIM дают текущее состояние
маски прерываний. Выполнение команды RIM после прерываний по входам
INTR, RST 5.5, RST 6.5 и RST 7.5 также будет информировать о текущем
состоянии маски прерываний, обнаруживая, что прерывания заблокированы.
Допустимые предельные значения (8085д/8085д-2)
Температура окружающей среды
Температура устройства памяти
Напряжения на всех выводах по
отношению к корпусу
Мощность рассеяния
О-70°С
-65-+ 150 °С
-О,5-+7В
1,5 Вт
Характеристлки по постоянному току
Таблица 4
(Если особо не оговаривается, то ТА=О-70°С, Vcc=5 8±5%, Vss=0 В.)
Значение
Едини-
Обоана11енне
Параwетр
1
ца ИЗ·
Условия проверки
мере-
мин.
макс.
ния
VrL
Низкое входное иа- -0,5 +о,в
в
пряжение
Vrн
Высокое входное на- 2,0 Vcc-f-0,5 в
пряжение
VoL
Низкое выхQдное на-
0,45
в loL=2 мА
Vow
пряжение
Высокое выходное на- 2,4
в Iон_=-400 мкА
Icc
пряжение
Ток источника пита-
170
мА
ния
IrL
Ток утечки на входе
±10 мкА V;n=Vcc
ILo
Ток утечки на выходе
±10 мк.А 0,45 V~Vouт~
~Усе
VrLR
Ниsкий уровень
иа -0,5 +о,8 в
входе RESET
Vrв:a
Высокий уровень на 2,4 Vcc+0,5 в
'
входе
1
\
\
Ми:mмальный mмпле11:т
..
А8·А15
'
...
1
у
~
r,. .A DO-D7
~
•"'
.
ALE
~ ...
<in
ВО85А
,__
WR
-
IO/M
~
CLK
,__
-
RESET iouт
,__
т'
1
READY i
,__
1.]
1
яоbL! ~
1
1
-
сё10
RESET ..,
1ТIMER NoIF RC ALE СЕ" 7 AD
АВ- fD
ALI M;s;
10/М
....._,
~ 10'
·,g
IN
'--' 0-7
h3
TIMER оuт.-
8156
8355
( ОЗУ + уст-во Bl})-i:
(ПЗУ+ уст-во В/В)
счстuк/ таllмер)
или 8755д
(ППЗУ + уст-во В/В)
Прв.ечание: Допустимое сое◊ "1⁄4Г ◊
,цииение
VV{J,
Рис. П:6. Микропроцессорная система MCS-85T 11 . (Минимальный комплект.
С•яз:~. с ~тройствами ввода-вывода реализована по аналогии с обращением
к памяти.)
TRAPXi
AST7
RST6
RSTS
INTR
iNТA~
5086А
Стат1артнос:
устройство
памяти
Порт В/В,
управление
Рис. П.7.Система MCS-85 . (Используются стандартпые устроiства памят•.)
Приложение
Описание выводов ЦП ZBO, ZBOA
ЦП-Z80
ЦП-ZSОА
Рис. П.8. Назначение выводов микропроцессорон Z80, ZB0A.
Ao·- A1s (адресная шина)
Выходы с тремя устойчивыми состояниями. Активный уровень снrналон
высокий. Ao-A1s - выходы на 16-разрядную адресную шину. Адресная шина
используется для передачи адреса памяти (может использоваться память
объемом до 64 Кбайт) илн адреса устройства ввода-вывода.
D0-D1 (шина данных)
Входы-выходы с тремя устойчивыми состояниями. Активный уровень -
высокий. К выводам D0-D1 подключается восьмиразрядная двунаправленная
шина данных. Шина данных используется для обмена данными между ЦП и
памятью нлн между ЦП н устройствами ввода-вывода.
М1 (машинный цикл)
Выход. Активный сигнал - низкий. Сигнал М1 указывает, что в текущем ма•
шинном цикле проходит цикл выборки кода операции.
MIЩQ (запрос памяти)
Выход с тремя устойчивыми состояниями. Активный уровень сигнала -
ннзкнй. Снmал запроса памяти указывает, что на адресной шине устанонлен
адрес для выполнения операции записи или чтения памяти.
IORQ (запрос ввода/вывода)
Выход с тремя устойчивыми состояниями, Активный уровень сигнала -
ннзкнй. Сигнал IORQ указывает, что младший байт шниы адреса содержит
адрес устройства ввода-вывода, который должен быть использован при вы
полнении операции ввода-нывода. Кроме того, сигнал IORQ генерируется
после выдачи подтверждения прерывания. Тем самым указывается, что вектор
прерывания может быть помещен иа шину данных.
RD (чтение нз памяти)
Выход стремя устойчивыми состояниями. Активный уровень сигнала -
низкий. Сигнал RD указынает, что ЦП готов к чтению данных из памяти или
Приложение
335
из устройства ввода. Адресованное устройство ввода или память должны ИС•
пользовать этот сигнал для стробирования при подаче данных на шину дан
ных ЦП.
WR (запись в память)
Выход с тремя устойчивыми состояниями. Активный уровень сигнала -
низкий. Сигнал \\,"R указывает, что на шине данных ЦП содержатся данные,
предназначенные для записи в память нли для вывода на устройство вывода.
RFSH (восстановление)
Выход. Активный уровень - низкий. Сигнал RFSH указывает, что млад
шие 7 разрядов шины адреса содержат адрес восстановления для динамиче•
-<:кой памяти н текуший сигнал MREQ должен использоваться для выполне
ния восстановления динамической памяти.
HALT (останов)
Выход. Активный уровень - пнзкнй. Сигнал HAI.T указывает, что ЦП Z80
,выполнил команду HALТ и ожидает появления либо немаскнруемого, либо
маскируемого прерывания, после наступления которого он продолжит функ•
,цнонир.ование. Перед выполнением «останова» ЦП пересылает в памнть ин
формацию, которая потребуется для возобновления его работы.
WAIТ (ожидание)
Вход. Активный уровень - низкий. Сигнал WAIT указывает ЦП Z80,
что адресуемая память нли адресуемое устройство ввода-вывода не готовы
для выполнения передачи данных. ЦП будет находиться в состоянии ожида
ния до тех пор, пока этот сигнал активен.
INТ (запрос на прерывание}
Вход. Активный уровень - ннзкнй. Сигнал запроса на прерывание rене
рнруется устройствами ввода-вывода. Сигнал запроса на прерывание будет
воспринят в конце ы,ш_олненuя текущей команды, если триггер разрешения
прерываний (IFF), управляемый внутрен11ими программны мн средствами, ус•·
тановлен в определенное состояние.
NМI(немаскируемос прерывание)
Вход. Активный уровень - низкий. Jiиния запроса на н~аскнруемое пре•
рывание. Это прерывание имеет более высокий приоритет по сравнению с
прерыванием INT н всегда незавнсuмо от состояния триггера разрешения
прерывания распознается в конце выполнения текущей команды. Сигнал NMI
автоматически переводит ЦП Z80 к выполнению программы, команда которой
имеет адрес 006615.
RESET
Вход. Активный уровень - низкий. Прн поступлении сигнала RESET вы
полняются иrедующие действия: сброс тpнrrt'pa разрешения прерывания,
с0чнстка счетчика команд и регистров I и R. Во время установки начального
состояния адресl!а5! шина ,i шина данных переводнтся в состояние высокого
сопротивления, а длн всех управляющих выходных сигналов устанавливается
неактивный уровень.
BUSRQ (запрос шин)
Вход. Активный уровень - низкий. Сигнал BUSRQ имеет более высокий
приоритет, чем сигнал NMI, н всегда распознается в конце текущего машин•
иоrо цикла. Он используется для перевода в состояние высокого сопротивле
ния адресной шины, шины данных и тристабильных выходов сигналов управ~
Приложение
ления, после чего этими шинами могут управлять другие внешние устройства.
BUSAI( (подтверждение перевода шин в состояние высокого сопротивления)
Выход. Активный уровень - низкий. Сигнал BUSAI( подается на запра
шивающее внешнее устройство для подтверждения того, что адресная шина,
шина данных и тр,истабильные линии шин!>J 'данных перешлн в состояние вы
сокого сопротивления. Теперь внешнее устройство может управлять этими ши
нами.
Выборка команды
Содержимое счетчика команд подается на адресную шину непосредственно в
начале машинного цикла. Через полоВJшу периода следования тактовых
импульсов подается сигнал MREQ. Задний фронт сигнала MREQ мож~т быть
использован для_о_тпирания кристалла динамической памяти. Активное со
ст.ояние сигнала RD показывает, что данные из памяти уже поступили на
шину данных. ЦП выполняет выборку данных, когда проходит передний
фронт синхронизирующего импульса, соответствующего состоянию Т3• Во
время состояний Тз и Т4 цикла выборки производится регенерация динамиче
ской памяти, в то же самое время ЦП дРшифрирует и выполняет команду.
Сигнал управления восстановлением Rf'SH указывает, что восстановление
возможности чтения динамической памяти завершено.
Цикл М,
М-А15 -t ''- --"" '" "- ---+ ''-
MREQ
RD
WAIT
MI
D0-D/
RFSH
Рис. П.9. Временная диаграмма цикла М1•
Цикл чтения из памяти
и цикл записи в памJ1т1о
Данная временная диаграмма циклов записи в память и чтения из памятif
отличается от временной диаграммы цикла М 1 , рассмотренной выше. Однако
здесь, как и в цикле выборки, используются сигналы MREQ и No. В цикл~
записи сигнал MREQ активизируется, когда уровни сигналов на адресной
шине стабилизировались. Поэтому он может быть непосредственно использо
ван в качестве сигнала отпирания кристалла динамической памяти. Линия
подачи сигнала WR активизируется, когда данные на шине данных уже ста
билизировались. Таким образом, этот сигнал можно непосредственно исполь
зовать в качестве импульса чтения-записи для любых типов полупроводнико
вой памяти.
Приложение
MREQ
RD
WR
Uикл чтения из па~яти
Цикл записи в память
D0-D7
-+ ---+- ---- -+ ~ }:._+--{=i~io:fiJ~~iк::±}
WAIT =t=--=--=-
337
Рис. П.10. Временная диаграмма цикла чтения из памяти и цикла записи
в память.
Циклы операци" ввода-вывода
Рассмотрим временные диаграммы, соответствующие выполнению операции
чтения данных из устройства ввода и операции записи данных в устройство
вывода. Отметим, что во время выполнения операций ввода-вывода автомати
чески генерируется состояние ожидания, продолжающееся в течение времени
T*w. Благодаря состоянию ожидания обеспечивается время, достаточное для
дешифрирования адреса в порте ввода-вывода и для активизирования линии
сигнала WАIТ.
1
IORQ
RD
DO-D7
WAIT
}Uикл
WR
oo-D7 -t-~:::::::t:==~вывол:j;:::::::t,'--~ записи
Рис. П.11. Временная диаграмма цикла операции ввода и операции вывода.
Цикп запроса на прерывание
и подтверждения прерwвания
ЦП проверяет наличие запроса на прерывание при прохождении переднего
фронта последнего тактового импульса в цикле любой кQманды. Если обна•
руживается запрос на прерывание, то генериру~тся особый цикл М1. В тече
ние этого цикла М1 активизируется сигнал IORQ (вместо сигнала MREQ),
который указывает устройству, запросившему прерывание, что оно может
подать на шину данных 8-разрядный вектор прерывания. В этот цикл авто
матически включается два интервала ожидания, продолжительность каждого
из которых равна T*w. Это позвОJiяет сравнительно легко реализовать схему
обработки приоритетных прерываний, подобную используемой в периферий•
иых контроллерах микропроцессорной системы Z80 .
...!_fl:'_'ос~ле~д~Н~И~Й~Ц~И~К-:..:Л----;:,,~11,Е"-~-----М\:-----....._--..-.,
М команды
т
т
Последнее Т1
v1
з
состояниеТ
о
1NТ
М1
МRio
ioRa
00-01-!.-----+---+---+---:-t---t--{~=----
Рис. П.12. Временная диаграмма цикла запроса-подтверждения прерывания.
Допустимые предельные значения
(Z80/Z80д)
Температура окружающей сре
ды
Температура устройства памяти
Напряжения на всех выводах
по отношению к корпусу
Мощность рассеяния
Определяется об
JJастью примене
нии
-65-+150°С
-0,З-+7 В
1,5 Вт
<>бозка-
чение
V1LC
V1нс
V1L
V1н
VoL
Vон
Icc
JLI
1LOH
ILOL
1LD
Обозна-
чение
V1LC
Vшс
V1L
Таблица 5
Характеристики ЦП Z80A по постоянному току
Тл=О-70°С, Vсс=+Б В±5%, если не оговорено особо
Значение
Едк-
Параметр
ница
Условия испы-
микималь-1 1максималь- нзмере-
таний
ное
среднее • ное
нкя
Низкий уровень
-0,3
0,45
в
тактового напря-
жения
Высокий уровень Vcc-0,6
Vcc+0,3 в
тактового напря-
жения
Низкий уровень
- 0,3
0,8
в
входного паnряже-
ния
Высокий уровень
2,0
Vcc
в
входного напряже-
ния
Низкий уровень
0,4
в IoL=l,8 мА
выходного напря-
жения
Высокий уровень
2,4
в Iон=-250 мкА
выходного напря-
жения
Ток от источника
150
мА
Ток ут. на входе
10
мкА V1N=0+Vcc
Ток ут. на входе с
,.
10
мкА Vouт =2,4-+ -Vcc
тремя состояниями
Ток ут. на выходе
-10 мкА Vouт=0,4 В
с тремя состояния-
ми
Ток ут. на шине
±10 мкл 0~V1N~Vcc
данных в режиме,
ввода
Характеристики ЦП Z80A по постоянному току
ТА=О-70°С, Vcc· ~ +5 В±5%, если не оговорено особо
Значение
Еднии-
Параметр
ца нз-
у словня нспы-
минималь-1 1максималь- мере-
таний
вое
среди ее
ное
ния
Низкий уровень -0,3
О,45
в
тактового напря-
жения
Высокий уровень Vcc-0,6
Vcc+0,3 в
тактового напря-
жения
Низкий уровень
- 0,3
0,8
в
входного напряже-
иия
-·
340
Обозиа-
чение
У1н
YoL
У.он
Icc
ILI
ILOH
ILOL
ILD
Приложение
Продолжение табл. 5
Значение
Еднниj
Параметр
ца из.- , Условия нспыта•
минималь-1 jмаксималь- мере-
-
ШIЙ
вое
среднее
вое
иия
Высокий уровень
2,0
Усе в
входного напряже-
ния
Низкий уровень
0,4 в
loL= 1,8 мА
выходного напря-
жения
Высокий уровень
2,4
в
Iон=-250 мкА
выходного напря-
жения
Ток от источника
90
200 мА
Y1N= 0--;--У с·с
Ток ут. иа входе
10 мкА
Ток ут. на входе с
10 мкА Youт=2,4+Vcc
тремя состояниями
-10
Vouт=0,4 В
Ток ут. на входе
мкА
с тремя состояния-
ми
Ток ут. на шине
±10 мкА 0~Y1N~Ycc
данных в режиме
ввода
Таблица 6
Емкостные характеристики
ТА=25°С, f=1М Гц.
.
Свободные от измерения выводы подключаются к корпусу
Обозначение 1
Параметр
1
Максималь- 1 Единица из-
ное значение
мерення
СФ
Емкость на входах ф
35
пФ
C1N
Входная емкость
5
пФ
Соuт
Выходная емкость
10
пФ
ОГЛАВЛЕНИЕ
Предисловие к русскому изданию
5
Предисловие
5;
Предисловие автора .
7
Глава 1. Введение в архитектуру машин с 3 шинами
9
1.1. Архитектура систе:\1 с 3 шинами
9·•
1.2. А_дресная шина системы
.
10
1.3. Шииа данных системы
.
11,
1.4 . Шина управления системы
.
.
.
12
1.5. Использование архитектуры с 3 шинами
13'
1.6 . Запись данных в память
13
1.7. Чтение данных из памяти
16,
1.8 . Запись данных в устройство вывода
17
1.9 . Чтение данных с устройства ввоца
19
1.10. Операцин с внутренними регистрами
.
20
1.11 . Выполнение ко,манд в системе с 3 шюrами
201
1.12. Управление синхронизацией • системы
21
1.13. Выводы
22'
Глава 2. Построение ,систем с 3 шинами иа базе устройств· 8080, 8085
Z80и6800....
23
2.1. Пояснения к адресной ши.не системы
23
2.2 . Выбор требуемых буферов адреса
.
27
2.3. Адресная шина микропроцессора 8080
28
2.4. Использование буферов адреса
.
301
2.5. Адресная шина Z80 . . . .
34
2.6. Адресная шина 6800 . . . . .
35
2.7 . Адресная шина микропроцессора 8085
35,
2.8 . Пояснения к шине данных системы
.
.
.
.
.
.
40
2.9 . Буферирован.ная шина данных микропроцессора 8080 а.
42•
2.10 . Буферированная шина данных микропроцессора 280
46
2.11 . Буферированная шина данных микропроцессора 6800
46,
2.12 . Буферирование шины данных микропроцессора 8085
48
2.13 . Пояснения к шине управления системы
.
.
.
.
48:
2.14 . Шина управле.ния системы па базе микропроцессора 8080
49
2.15 . Фиксатор состояния микропроцессора 8080
50
~ .16 . Шина управления системы на базе 280
52
2.17. Шина управления системы на . базе 8085
52'
2.18. Шина управления системы на базе 6800
54
2.19. Распределение памяти
.
54,
2.20 . Выводы
61
Глава 3. Генераторы тактовых импульсо11 и интерфейс памяти· для
микропроцессорных систем с 3 шинами
62
3.1. Генератор тактовых импульсов для микропроцессора 8080
62:
3.2. Генератор тактовых импульсов для микропроцессора 8085
66
Оглавление
3.3 . Генератор тактовых импульсов для микропроцессора Z80
3.4. Генератор тактовых импульсов для микропроцессора 6800
3.5 Выводы
.
.
.
.
.
.
.
.
.
З.6. Интерфейс памяти в микропроцессорных системах с 3 шинами
З.7.ПЗУсистемы........
3.8. Интерфейс ОЗУ
.
.
.
.3 .9 . Чтение данных из ОЗУ
.
З.10. Запись данных в ОЗУ
.
.
3 11. Интерфейс ОЗУ с общим входом и выходом
.З.12. Микропроцессор как системный контроллер .
3.13. Подготовка микрощюцессора 8080 для работы в режиме сис~rем-
ного контроллера .
.
.
.
.
.
.
.
.
.З.14. Установка начального состояния микропроцессора 8080 . . .
3.15. Подготовка микропроцессора 8085 для работы в режим_е систем-
ногоконтроллера...........
З.16. Подготовка микропроцессора Z80 для рабиты в режиме систем-
ногоконтроллера........
З.17. Начальная установка микропроцессора Z80 . .
3. 18. Подготовка микропроцессора 6800 для работы в режиме систем-
ногоконтроллера........
3.19. Начальная установка микропроцессора 6800 .
3.20. Выводы
.
.
.
.
.
.
.
.
.
.
Глава 4. Интерфейс устройств ввода-вывода в микропроцессорных
системах с 3 шинами .
4.1 . Программное обеспечение клавишно1·0 пульта
.
.
4.2 . Аппаратные средства, необходимые для реализации клавишного
пульта .
.
.
.
.
4.3. Сигналы горизонтальных линий
.
4.4 . Распознавание сигналов на выходах клавишного пульта
4.5 . Выводы
4.6. Цифровой нндикатор
.
4.7. Программное управление клавишным пультом
4.8. Программный метод формирования сигналов на входах матрицы
клавишного· пульта
.
4.9. Опрос выходных линий клавишного пульта с помощью программ-
ных средств .
4.10. Вычисление весового значения ключа
4.11 . Программные средства учета эффекта вибрации клавиатуры
4.12 . Инициализация программы
4.13. Выводы
Глава 5. Применение метода тестирования статическими сигналами для
отладки аппаратных средств микропроцессорных систем .
5.1 . Идея метода тР.стирования статическими сигналами
5.2. Аппаратные средства устройства тестирования статическими си-
гналами
.
•
5.3. Адресные линии
5.4 . Сигналы управления
5.5. Линии шины данных
.
5.6 . Применение устройства те.стирования статическими сиr.налами.
5.7 . Выбор точки начала контроля
:5.8. Проверка адресной шины
•
. 5.9 . Проверка шины управ.ТJ~ния
.
.
:5.10. Проверка правильности подачи сигналов выбора кристаллов и
сигналов разрешения записи в паr.1:ять . . . .
:5.I l. Запись и чтени·е данных нз ~тройств ввода-вывода •
67
67
71
71
72
77
81
82
85
87
88
88
91
91
91
94
94
96
98
99
100
104
-
107
108
109
111
111
117
120
123
130
144
145
145
147
1
147
149
150
153
153
158
161
163
165
Оглавление
343
5.12 . Проверка функционирования схемы клавишного пульта с помощью
устройства тестирования
167
5.13. Выводы
168
Глава 6. Прерывания, режим ожидания и режим прямоrо доступа
к памяти в микропроцессорах 8080, 8085, 6800 и ZliO
170
6.1 . Основные прдставлиия о прерываниях
170
6.2 . Прерывания в микроороцессоре 8080
17'2
6.3 . Прерывания в микропроцессоре 8085
183
6.4 . Прерывания в микропроцессоре Z80
187
6.5 . Прерывания в микропроцессоре 6800 . . . . . . . . 189
6.6 . Способы реализации режима «ОЖИДАНИЕ»
.
.
.
.
.
.
190
6.7 . Перевод в состояние ожидания микропроцессоров 8080, 8085 и Z80 191
6.8 . Перевод в состояние ожидания микропроцеесора 6800
.
.
.
l 9!i
6.9 . Прямой доступ к памяти в мнкропроцеt:1.:орах 8080, 8085 Z80 и 6800 199
6.10. Прямой доступ к памяти в микропроцессоре 8080
200
6.11 . Прямой доступ к памяти в микропроцРссоре 8085
202
6.12 . Прямой доступ к памяти в микропроцессоре Z80 .
202
6.13. Прямой доступ к памяти в, микропроцессоре 6800
.
203
6.14 . Выводы
204
Глава 7. Программирование перепрограммируемых постоянных запоми-
нающих устройств
205
7.1 . Общие представления о перепрограммируемых постоян.ных запо-
минающих устройствах
205
7.2 . Стирание юrформации в перепрограммируемых постоянных запо-
минающих устройствах .
.
206
7.3 . Программирование ППЗУ 2708 . . .
207
7.4 . Импульс программирования ППЗУ 2708
211 •
7.5 . Выводы
214
Глава 8. Технические средства устройства программирования ППЗУ 215
8.1 . Общее описание системы
.
.
.
215
8.2 . Специфические функции системы
.
216
8.3. Вспомогательные технические средства
217
8.4. Клавишное устройство ввода-вывода
.
.
218
8.5 . Технические средства устройства отображения
220
8.6 . Постоян.ная память системы
220
8.7 . Оперативная память системы
.
.
220
8.8 . Интерфейс программирования 2708 . . .
222
8.9 . Технические средства ввода и вывода данных
.
.
.
223
8.10. Средства формирования импульса программирования
22S
8.11 . Средства управления уровнем напряжения на выводе CS/WE 227
8.12 . Источник питания для ППЗУ 2708 . . .
227
8.13. Соединение панели программирования с системой
228
8.14 . Использование микропроцессора 6800 в качестве управляющего
устройства
.
.
.
.
.
.
.
230
8.15. Выводы по техническим средствам
.
230
Глава 9. Проектирование проrраммиого обеспечения для уnравJiеиия
микропроцессорной системой
236
9.1 . Начальный этап
.
.
.
.
.
.
236
9.2 . Общее представление о программном обеспечении
240
9.3 . Программы ввода информации с клавишного пульта
241
9.4 . Главная управляющая программа
.
.
.
.
.
.
24!)
9.5 . Программные средства реализации фуtrкции установки адреса
254
Оглавление
9.6 . Программные средства реализации функции СТИРАНИЯ ОЗУ
260
- ~.7 . Программные сре:цств,а ·реализации функции програмыирова.пня
260
9.8 . Программные средства реализации функции верификации
.
266
9.9 . Программные средства реализации функции копирования
282
9.10. Выводы по програ'dмным средствам
282
:Глава 10. Отладка технических средств системы
.
283
10.1 . Тестирование посредством статических сигналов
.
283
·10.2 . Устройство тестирования пш;редст.вом ,статических сигналов для
микропроцессора 8085 .
.
.
.
.
.
285
10.3 . Замечания по отладке технических с~эедств системы
291
10.4 . Отладка адресной шины системы
.
292
·10.5 . Отладка шины управления системы
297
10.6 . Отладка, шины да.нных системы
.
.
.
299
10.7 . Проверка· схем дешифрирования выбора памяти
301
10.8 . Проверка интерфейса ПЗУ системы
302
·10.9 . Проверка интерфейса ОЗУ системы
.
306
10.10. Отладка интерфейса клавишного пульта
.
.
311
;10.11. Отладка интерфейса ус,:ройства отображения
311
10.12 . Отлад1ка схем подключения ППЗУ к системе
.
.
.
.
.
.
311
110.13. Проверка схем формирования импульса программирования
.
.
318
10.14 . Проверка функционирования схем ВЫБОРК:А БЛОК:А и РАЗРЕ-
ШЕНИЯ ЗАПИСИ
320
10.15. Выводы
32;3
-Приложение .
324
Назначение выводов корпуса микропроцессора INTEL 8080А
324
.Допустимые предельные зm~.чения 8080А .
31'7
Фу.нкциональное описание 8085А/8085А-2 . .
330
'Прерывания и последовательный ввод-вывод . .
880
Допустимые предельные значения (8085А/8085А-2)
ЗIJU
Описание выводов ЦП Z80, Z80A
884
Выборка команды . . . .
•
•
Зf~1' !I
·цикл чтения из памяти и цикл записи в память
IP"
Циклы операций ввода-вывода
837
Цикл запроса на прерывание и подтверждения прерывания
337
..Допустимые предельные значения (Z80/Z80A) . . .
3311
"УВАЖА:ЕМЫА ЧИТАТЕЛЬ!
Ваши замечания о содержании книги, ее оформле
нии, качестве перевоца ,и другие просим присылать по
адресу: 129820, Моеква, И-110, ГСП, 1-й Рижский пер., 2,
, издательство «MJJp».