Принцип программного управления. Выполнение команд в микро – ЭВМ. Структура ЭВМ, страница 12

Порты P1, P2 квазедвунаправленные , с помощью схемотехники могут передавать данные в двух направлениях. Каждая линия этих портов работает отдельно, т.е. каждую линию можно настроить на ввод или вывод.

В схеме можно выделить 3

блока: триггер защёлка

( служит для запомин. выводного бита); выходной каскад на транзист.

VT1, VT2; два буфера

(позвол. читать инф.).

Запись 0 в порт: триггер в нулевом состоянии, на инверсном выходе триггера

1, открыв. транз. VT2.

Ток ТТЛ нагрузки меньше чем 1,6 мА при этом U<0,4В, т.е. логический 0.

Запись 1 в порт: триг. перекл. в 1 состояние и открывается схема И, транз. VT1 открыт , а VT2 закрыт. Сопротивление канала VT1=5кОм, транз. VT1 откр-ся на доли миллисекунд, затем закрывается и в дальнейшем высокий уровень поддерж-ся за счёт резист. R.

Чтение: для чтения транз-ры VT1, VT2 должны быть закрыты, тогда они не влияют на сост. вывода. При чтении по команде IN открывается буфер и сигнал с выхода поступ. на внутр. ШД.

Вход BUS предст. собой 8-разрядный порт , имеющий 3 состояния. Порт BUS работает в 2-х режимах : статич. и динамич. В статич. режиме работает как порты Р1 и Р2. В динамич. режиме данные проходят через порт в течении долимикросекунд. Остальное время вывод BUS наход-ся в 3-ем состоянии. При выводе данных в статич. режиме вывод осуществляется через регистр и данные защёлкиваются. При вводе данных в статич. режиме регистр наход-ся в 3-ем состоянии , а ввод осущ-ся через буфер. В динамич. режиме регистр всегда в 3-ем состоянии и данные читаются и запис-ся через буфер. Для расширения линий ввода-вывода исп.3 метода: спец. расширитель (МСКР 580ВР43); примен. параллельного адаптера (МСКР580ВР55); использ. регистра ТТЛ серии.

44.Расширитель ввода-вывода КР580ВР43

Микросхема имеет 4 4-рзрядных порта Р4-Р7 (Iвых< 5мА ).

Светодиоды подключаются не посредственно. Работа расширителя страбируется сигналом PROG, который вырабатывается, когда микро ЭВМ

работает с расширителем. По перепаду 1-0 на линиях Р2 устанавливается управляющее слово, а по перепаду 0-1 данные.

Расширитель имеет следующие св-ва :

1.При включении питания все порты настраиваются на ввод, а линии Р2.0-Р2.3 в третье состояние( высокого сопротивления).

2.Линии портов расширителя не надо настраивать на ввод.

3.При CS =0 расширитель работает , если CS=1 ,то линии Р2.0-Р2.3 в третьем состоянии, а данные на линии Р4-Р7 защелкиваются , т.е не изменяются. Можно наращивать кол-во портов  используя несколько расширителей. 

45. Расширение памяти команд. Когда внутренней памяти не хватает, то её расширяют с исполь зованием внешних МС.

Пусть имеем внутр. память

1 кбайт и расширим на 2

кбайта. Если сигнал

ЕМА=0, то при значении программного счётчика от числа 000 до числа 3FF команды выбираются из внутренней памяти команд, а если значение программ ного счётчика больше 400, то микроЭВМ автоматич. Начинает выводить адрес в порт BUS и P2 и начинает вырабатываться строб РМЕ.

Расширение памяти данных. Адрес выдаётся в порт BUS; его надо зафиксировать с помощью регистра

, а по стробу RD происходит чтение данных в порт BUS, по стробу WR

– запись в порт

BUS.

46. Программирование на языке Ассемблер.

Языки программирования можно разделить на 3 уровня:

1.  Машинные (низкого уровня);

2.  Алгоритмические (высокого уровня);

3.  Языки Ассемблера.

Машинные языки имеют следующий недостаток. Будучи языком цифр он не удобен для описания вычислительных процессов и поэтому требуют от программиста больших знаний. Достоинства в том что для программирования на нем требуется лишь знание системы команд, а машина не нуждается не в каком трансляторе.

Алгоритмические языки ( Paskal, C ) просты и удобны в программировании, но не всегда позволяют в полной мере реализовать технические возможности ЭВМ. Недостаток: их применение предполагает наличие транслятора представляющего собой сложный программный комплекс, требующий для своей разработки большого труда.

Язык Ассемблер занимает промежуточное место и является гораздо ближе к машинным языкам. Свое название получил от имени программы преобразующей программу написанную на таком языке в машинные коды. Каждый язык Ассемблера является машинно-зависимым  и отображает аппаратурные особенности  микроЭВМ.