Структура контроллера КР580ВВ79




БИС КР580ВВ79 организована на базе внутренней шины. В ее состав входят: ОМ ОЗУ датчиков со схемой управления и устранения дребезга клавиатуры, буферами клавиатуры и датчиков и схемой анализа состояния ОМ ОЗУ датчиков; схема управления и синхронизации со счетчиком сканирования; ОЗУ отображения с регистрами адреса и данных; средства сопряжения с системной шиной - буферы канала данных и схема управления чтением-записью. Структура контроллера изображена на рис 1.20а.

Рисунок 1.20а - Структура контроллера КР580ВВ79

 

ОМ ОЗУ датчиков обеспечивает хранение информации, поступающей со входов RET7…RET0, и выдачу ее в микропроцессор через внутреннюю шину данных и буферы канала данных по командам чтения. В этом блоке используются следующие сигналы:

RET7…RET0 - информация, вводимая с клавиатуры или матрицы датчиков. За счет внутренних нагрузок на этих выводах постоянно обеспечивается состояние лог.1 до появления входных сигналов низкого уровня.

SH - входной сигнал, используемый в режиме сканирования клавиауры для расширения (увеличения числа) функций клавиш (вывод SH также имеет внутреннюю нагрузку.

- входной сигнал, назначение которого определяется режимом работы в режиме сканирования (состояние лог.1) увеличивает число конфигураций клавиатуры; в режиме сканирующего ввода (состояние лог.0) используется как строб для ввода информации с линий возврата RET0…RET7 в ОМ ОЗУ датчиков по фронту сигнала (вывод также имеет внутреннюю нагрузку).

INT - выходной сигнал, переходит в состояние лог.1: в режиме сканирования клавиатуры при наличии данных в ОМ ОЗУ датчиков; в режиме сканирования матрицы датчиков при обнаружении изменения в датчиках.

 

Схема управления и синхронизации программно задает скорость ввода-вывода и синхронизирует работу всех узлов контроллера. Необходимая скорость ввода-вывода создается от деления частоты входной синхронизации на программно задаваемое число, лежащее в диапазоне 2…31. При работе схемы используются сигналы сброс SR, тактовый С и BD, блокирующий индикатор (дисплей в момент смены кодов символов.

Счетчик сканирования - 4-разрядный двоичный счетчик сканирует строки клавиатурной матрицы и регенерирует изображения на дисплее (индикаторе). Программно счетчик можно установить в кодированный или декодированный (дешифрированный режим работы. В кодированном режиме он выдает на линии сканирования S3…S0 4-разрядный двоичный код от 00002 до 11112, который дешифрируется внешними дешифраторами; в декодированном режиме он выдает два младших разряда кода, а на линии сканирования S3…S0 4- разрядный унитарный код (активный уровень - лог.0). Внешних дешифраторов в этом случае не требуется, однако клавиатура может иметь не более четырех строк клавиш, а дисплей не более четырех знакомест при 8-разрядном коде символа и восемь знакомест при 4-разрядном коде.

Буферное ОЗУ отображения - ОЗУ с произвольным доступом, хранит коды символов, отображаемых на дисплее. Каждый байт может рассматриваться как два независимых полубайта. Это позволяет обслужить дисплей с большими функциональными возможностями - на 16 знакомест при восьмиразрядном коде символа и на 32 знакоместа при 4-разрядном коде символа. ОЗУ доступно для записи и чтения информации. Регистр адреса ОЗУ отображения может быть программно установлен в режим автоинкрементирования. В процессе регенерации отображения на дисплее информация из ОЗУ отображения на дисплее циклически выдается на выходы DSPA3…DSPA0 и DSPB3…DSPB0, причем бит DSPA3 соответствует биту D7 шины данных, а DSPB0 - биту D0.

Буфер канала данных - двунаправленный трехстабильный, осуществляет стыковку внутренней шины данных БИС КР580ВВ79 с системной шиной данных с помощью линий D7… D0.

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

- разрешают проведение операций чтение-запись, выдачу информации на системную шину данных, прием информации с системной шины данных соответственно;

- определяет передачу комманд и слов сотояния (INS = 1) или передачу данных ( = 0).

 

1.12 Контроллер видеотерминала КР580ВГ75

Микросхема КР580ВГ75 предназначена для фиксации управляю­щих слов и параметров, поступающих из микропроцессора, и инфор­мации, предназначенной для вывода на экран видеотерминала и за­гружаемой из системной памяти в режиме ПДП. Микросхема КР580ВГ75 выдает накопленные коды непосредственно на видеотер­минал для визуализации или на генератор символов, в котором хра­нятся коды символов, предназначенные для выдачи на экран. КР580ВГ75 формирует сигналы управления лучом электронно-луче­вой трубки (ЭЛТ) видеотерминала, генерирует символ курсора и фиксирует сигналы светового пера.

На рис. 1.21, а приведено схематическое изображение корпуса мик­росхемы КР580ВГ75, а на рис. 1.21, б - ее условное обозначение на схеме электрической принципиальной. Функциональное назначение выводов сделано в табл. 1.11.

В программируемом контроллере видеотерминала КР580ВГ75 (рис. 1.22) можно выделить два блока: 1) управления; 2) видеосигнала и сканирования видеотерминала.

Блок управления. В состав блока управления входят, буфер дан­ных; схема управления вводом-выводом; регистры управляющего слова, параметров, состояния; схема управления и синхронизации.

Буфер данных. Через буфер шины данных, подключаемый к шине данных системы, происходит обмен информацией между памятью системы, микропроцессором и микросхемой КР580ВГ75: запись управ­ляющих слов, параметров и данных в контроллер видеотерминала; чтение параметров, слова состояния, координат све­тового пера из регистров контроллера.

Схема управления вво­дом-выводом. С помощью управляющих сигналов, подаваемых на входы , , , , этой схемы, производятся управление обменом информа­цией с системной шиной данных и выбор соответ­ствующих регистров микро­схемы КР580ВГ75.

Регистр управляющего слова. В этот регистр по команде OUT микропроцессор загружает управ­ляющие слова, которые затем дешифрируются в схеме управления и синхронизации и микро­схема ВГ75 настраивается на выполнение допус­тимого режима.

Регистры параметров. После загрузки неко­торых управляющих слов, например «начальная установка», «чтение регистров светового пера», «настройка курсора», требуется дополнительная информация, которая содержится в параметрах. Параметры последовательно загружаются микро­процессором с помощью команд OUT в соответствующие регистры микросхемы КР580ВГ75, где они дешифрируются схемой управления и синхронизации, в результате чего соответствующие счетчики устанав­ливаются в программируемые состояния, а микросхема КР580ВГ75 - на заданные подрежимы.

Регистр состояния. Разряды регистра состояния имеют следую­щее функциональное назначение:

D7 - в этом разряде записан ноль;

D6 - разрешение прерывания - устанавливается программно после загрузки управляющего слова «начало отображения», а сбра­сывается после загрузки слова «начальная установка»; по фла­гу D6 разрешается прерывание во время обратного хода луча по кадру;

D5 - запрос на прерывание - устанавливается в «1» при выдаче последней строки символов в кадре;

D4 - световое перо - устанавливается в «1» по стробу, посту­пающему на вход LPEN;

D3 - недопустимое управляющее слово - устанавливается в «1», когда последовательность параметров, посылаемых после управляю­щего слова имеет длину, отличную от допустимой;

D2 - разрешение видеосигнала - устанавливается в «1» после загрузки управляющего слова «начало отображения», а сбрасывается в «О» после загрузки слова «конец отображения»;

D1 - незаполнение буфера символов - единица в разряде D1 указывает на попытку отображения символов, происходящую после загрузки управляющего слова «начало отображения» из незаполнен­ного буфера строк символов;

D0 - переполнение буфера-очереди - устанавливается в «1» при переполнении буфера очереди.

Разряды D5, D4, D3, D1, D0 сбрасываются в «0» после прочтения слова состояния.

Рисунок 1.21 - Схематическое изображение корпуса мик­росхемы КР580ВГ75 (а), условное обозначение на схеме электрической принципиальной (б)

 

Рисунок 1.22 - Контроллер видеотерминала КР580ВГ75

 

Таблица 1.11

Номер вывода Обоз- начение Тип вывода Функциональное назначение
  +5В - Питание
  GND - Общий
  Вход Выбор микросхемы. Сигнал низкого уровня на входе 22 разрешает работу микросхемы. Сигнал высокого уровня на данном входе переводит выводы DB7 - DB0 в высокоимпедансное состояние.
  » Чтение. По сигналу низкого уровня на входе 9 производится чтение содержимого регистров параметров и регистра слова состояния контроллера видеотерминала.
  » Запись. По сигналу низкого уровня на входе 10 производится запись управляющих слов в соответствующий регистр и содержимого системной памяти в буферы строк символов контроллера видеотерминала
  А0 Вход По сигналу высокого уровня на входе 21 обеспечивается Подключение регистра управляющего слова к выводам DB7 - DB0. По сигналу низкого уровня на входе 21 обеспечивается подключение регистров параметров и регистров светового пера к выводам DB7 - DB0
12 - 19 DB0 … DB7 Двунаправ- ленные выводы с высоко- импеданс- ным состоянием Шина данных. Выводы 12 - 19 подключаются к шине данных системы
  IRQ Выход Запрос на прерывание
  DRQ » Запрос на ПДП
  Вход Подтверждение запроса на ПДП
29 - 23 СС6 … СС0 Выходы Адрес кода символа (код символа). Сигналы на выходах 29 - 23 могут использоваться для адресации кодов символов, хранимых в ЗУ-генераторе символов
1 - 4 LC3 … LC0 » Номер линии (телевизионной строки) в строке символов. Сигналы на выходах 1 - 4 используются для адресации кодов символов
  CCLK Вход Сигналы, подаваемые на вход 30, используются для синхронизации выдачи адресов кода символов (кодов символов)
  HRTC Выход Обратный ход строчной развертки. Сигнал высокого уровня появляется на выходе 7 для управления обратным ходом луча по телевизионной строке
  VRTC Выход Обратный ход кадровой развертки. Сигнал высокого уровня появляется на выходе 8 для управления обратным ходом луча по кадру
  VSP » Блокировка видеосигнала. Сигнал высокого уровня появляется на выходе 35 в следующих случаях: 1) во время обратного хода луча по телевизионной строке и по кадру; 2) в верхних и нижних линиях строки символов, если число линий, используемых для отображения одной строки символов больше или равно восьми; 3) после обнаружения специальных кодов «конец строки», «конец строки - ПДП останов», «конец кадра», «конец кадра - ПДП останов»; 4) в режимах мерцания изображения программируемых для курсора (с частотой 1/16 частоты смены кадров) символов, формируемых из кодов атрибутов символов и символов следуемых за кодом атрибутов поля (с частотой 1/32 частоты смены кадров); 5) при извлечении кодов символов, предназначенных для отображения на экране, из незаполненного буфера строк символов микросхемы КР580ВГ75.
  LTEN » Разрешение видеосигнала. Сигнал высокого уровня на выходе 37 разрешает выдачу видеосигнала. На выводе LTEN является сигнал высокого уровня при формировании подчеркивания (курсора) или в позициях, определяемых кодами атрибутов поля.
  RVV » Реверс видеосигнала. Сигнал высокого уровня появляется на выходе 36 при программировании негативных изображений курсора или символов в позициях, определяемых кодами атрибутов поля.
  HLGT » Подсветка. Сигнал высокого уровня появляется на выходе 32 при программировании подсветки символов в позициях, определяемых кодами атрибутов символов или поля.
39, 38 LA0, LA1 » Коды атрибутов линии. Сигналы на выходах 39, 38 используются для формирования графических символов на экране видеотерминала.
33, 34 GPA0, GPA1 Выходы Коды атрибутов общего назначения. Сигналы на выходах 33, 34 могут использоваться как атрибуты поля, определяемые разработчиком системы.
  LPEN Вход Строб светового пера. На вывод 11 микросхемы КР580ВГ75 подается сиг­нал, снимаемый с видеотерминала в случае обнаружения сигнала от све­тового пера.

 

Схема управления и синхронизации дешифрирует управляющие слова, параметры и вырабатывает управляющие сигналы, которые поступают во все функциональные узлы контроллера видеотерминала. Кроме того, схема управления и синхронизации формирует сигналы запроса на прерывания (выход INT) и запрос на ПДП (выход DRQ). В состав этой схемы входят счетчик циклов ПДП и счетчик интерва­лов между последовательными обменами в режиме ПДП.

Блок видеосигнала и сканирования видеотерминала. Схема управ­ления вводом символов дешифрирует коды символов, поступающие из системного ЗУ, и помещает их в соответствующий буфер строк сим­волов в зависимости от того, из какого буфера идет в это время из­влечение кодов символов, которые отображаются на экран видеотер­минала. Если в схему управления вводом символов поступают коды атрибутов поля или специальные символы, то схема формирует управ­ляющие сигналы, поступающие на схему управления и синхрониза­ции. В режиме без вывода кодов атрибутов поля схема управления вводом помещает символ, следующий за кодом атрибутов поля, в со­ответствующий буфер-очередь.

Схема управления выводом символов. Схема дешифрирует символы, выводимые из буфера строк. Если встречается код атрибутов поля, то в режиме без вывода кодов атрибутов поля он не выводится, а для вывода извлекается символ из буфера-очереди. В режиме с выводом кодов атрибутов поля, коды атрибутов поступают на выходы СС0 - СС6 микросхемы КР580ВГ75 для визуализации на экране. Если извлекаемый из буфера строк символ - код атрибутов символов, то схема управления выводом вырабатывает сигналы, которые иниции­руют выдачу схемой управления видеосигналом и сканирования дис­плея кода графического символа (выходы LA0, LA1, VSP, LTEN), непосредственно поступающего на экран ЭЛТ.

Буфер строк символов. В один из буферов строк символов проис­ходит загрузка символов из системного ЗУ, а из другого в это же время коды символов выдаются на генератор символов или непосред­ственно на экран видеотерминала. Емкость каждого буфера строк символов - 80 восьмиразрядных кодов.

Буфер-очередь - буфер с организацией доступа по принципу очереди емкостью 16 семиразрядных слов - используется для хра­нения кодов символов в режиме обработки кодов атрибутов поля без вывода на экран.

Счетчик символов - семиразрядный программируемый счетчик - используется для управления разверткой луча - задания числа сим­волов в строке и длительности обратного хода луча в линии. Счетчик ведет подсчет сигналов, поступающих на вход CCLK микросхемы КР580ВГ75 из внешней схемы, учитывающей особенности применяе­мой электронно-лучевой трубки. Подсчет символов в строке может быть прерван, если среди вводимых символов, дешифрируемых схе­мой управления вводом встретятся специальные управляющие коды «конец строки» или «конец строки - ПДП останов».

Счетчик линий - четырехразрядный программируемый счет­чик - используется для управления разверткой - задания числа горизонтальных линий в строке символов. Счетчик линий ведет под­счет сигналов, поступающих со схемы управления выводом символов. Формирование сигналов происходит по окончании счета счетчика сим­волов. Содержимое счетчика линий поступает на входы LC0 - LC3 микросхемы КР580ВГ75 для адресации генератора символов.

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

Схема управления видеосигналом и сканирования дисплея форми­рует сигналы управления видеосигналом: разрешение, блокировка, реверс, обратный ход строчной развертки, обратный ход кадровой развертки, появляющиеся на соответствующих выходах микросхемы КР580ВГ75: LTEN, VSP, RVV, HRTC, VRTC.

Регистры светового пера. Два регистра используются для хране­ния состояний счетчиков символов и строк, которые заносятся в реги­стры по стробу, поступающему на вход LPEN. Содержимое регистров может быть прочитано после загрузки управляющего слова «чтение регистров светового пера».

 

1.13 Особенности МП К1821ВМ8085А

На БИС МП 8085А реализуют процессоры с 8-разрядной системной шиной, совместимые с процессорами на БИС КР580.

Микропроцессор 8085А (рис. 1.23) полностью программно совместим с микропроцессором КР580ВМ80А, но питается от единого источника +5 В. МП 80С85А выполнен по КМОП-технологии. Микропроцессор обрабатывает те же типы и форматы данных, адресует пространство ЗУ объемом 64К байт, ВУ объемом 256 байт и имеет СОЗУ, аналогичное СОЗУ МП КР580ВМ80А, располагает теми же способами адресации и системой команд, расширенной двумя специальными командами.

Рисунок 1.23 - Расположение выводов БИС микропроцессора 8085А

 

Структура МП 8085А организована аналогично структуре МП КР580ВМ80А, назначение выводов показано на рис. 1.24, временные диаграммы - на рис. 1.25. В отличие от МП КР580 ВМ80А МП 8085А имеет встроенный системный генератор, выполняющий функции, аналогичные ИС КР580ГФ24. Он обеспечивает синхронизацию микропроцессора и временную привязку сигналов со входов начальной установки и готовности RDY. Частота генератора определяется внешним кварцевым резонатором, RC-цепочкой, LC-контуром или внешним источником, подключаемыми ко входам X1, Х2. На выходы CLКО и RESО выдаются сигналы синхронизации и началь­ной установки устройств ввода/вывода, располагаемых на системной шине. Внутренний системный контроллер формирует общие для ЗУ и ВУ сигналы чтения/записи на трехстабильные выходы , , а для разделения доступа к ЗУ или ВУ используется выход IO/ . Адресная шина полусовмещенная - на выводы А15...А8 выставляется адрес ЗУ А15...А8 или адрес ВУ A7...A0 на весь интервал обращения к ЗУ/ВУ, а на выводы AD7...AD0 - в режима разделения времени вначале адрес ЗУ/ВУ А7...А0, а затем данные. Адрес на шине AD7...AD0 сопровождается адресным стробом на выходе ALE, по которому он фиксируется во внешнем регистре. Состояние процессора выда­ется на выходы ST1, ST0, где ST0 определяет цикл записи, a ST1 - цикл чтения.

Рисунок 1.24 - Назначение выводов БИС 8085А

Рисунок 1.25 - Временные диаграммы работы БИС 8085А

 

Процессор имеет средства обслуживания прерываний с пяти входов. Вход INT анало­гичен входу INT МП КР580 и предназначен для обслуживания маскируемых векторных пре­рываний по командам RSTV или CALL ADR V (с использованием контроллера КР580ВН59). На выходе при этом автоматически фор­мируется один для RST либо три для CALL сигнала подтверждения прерываний. По коман­дам RST V осуществляется обращение к па­мяти по адресам в зависимости от кода V (0000, 0008, 0010, 0018, 0020, 0028, 0030, 003816). По входам TRAP, RST 5.5, RST 6.5, RST 7.5 обращение осуществляется по фиксированным адресам ЗУ 0024, 002С, 0034, 00ЗС соответствен­но. Входы RST 5.5, RST 6.5, RST 7.5 явля­ются программно-маскируемыми, вход TRAP немаскируемый и используется для обслужива­ния аварийных ситуаций, таких как сбой питания и др. Входы INT, RST 5.5, RST6.5 - потенциальные (1 - запрос прерывания), RST 7.5 - импульсный (пе­реход из 0 в 1 - запрос прерывания), TRAP - импульсный и потенциальный. Приоритеты входов расположены в последовательности, указанной на рис. 1.24 (TRAP - высший приоритет). Для управления прерываниями процессор имеет две дополнительные команды чтения RIM и установки SIM маски прерываний (табл. 1.12). Эти же команды используются для управления передачей информации через последовательные порты ввода SID и вывода SOD, входящие в состав микропроцессора. Форматы слов состояния и управления прерываниями и последовательным вводом/выводом показаны на рис. 1.26. Разряды 3...0 используются для чтения/установки масок прерываний. Маска общего разрешения прерываний IF по входам INT, RST автоматически сбрасывается после приема запросов прерывания и устанавливается/сбрасыва­ется по командам EI, DI соответственно. Индивидуальные маски по входам RST 7.5, RST 6.5, RST 5.5 устанавливаются командой SIM при MSE = 1. Разряды 7...4 команды RIM используются для чтения состояния входов последовательного ввода SID и прерываний RST 7.5, RST 6.5, RST 5.5. Разряд 4 команды SIM - для сброса запроса прерывания по входу RST 7.5 (после того он опять способен принимать запросы прерывания). Разряды 6, 7 команды SIM используются для управления выводом данных через последовательный выход SOD. Изменение состояния порта SOD возможно при SOE = 1.

На МП 8085А реализуют процессоры с полусовмещенной системной шиной, раздельной однопользовательской или многопользовательской шинами. Структура процессора с совмещенной системной шиной показана на рис. 1.27. Системная шина небуферизована и ориентирована на работу с БИС ЗУ/интерфейсов ВУ МПК MCS-85: 8155/8156 и 8355/8755А. Нагрузочная способность шин - вентиль ТТЛ, а временные диаграммы их работы указаны на рис. 1.25. Для адресации ВУ можно использовать адресную шину А15...А8, т. к. на нее выставляется адрес ВУ в течение всего цикла выполнения команд ввода/вывода. Это позволяет адресовать БИС интерфейсов и контроллеров МПК КР580 без разделения шин.

Структура процессора с раздельной небуферизованной шиной показана на рис. 1.28. Для выделения адреса с шины AD7...AD0 используется буферный регистр адреса (БРА) на ИС КР580ИР82. Системная шина состоит из 16-разрядной адресной шины А15...А0 и 8-разряадой шины данных D7...D0. Для управления ЗУ/ВУ используется четыре линии IO/М, RD, неWR, неINTA с раз­делением доступа к ЗУ или ВУ сигналами на линии IO/М.

Структура процессора с однопользовательской раздельной системной шиной, совместимой с системной шиной процессора на БИС КР580, показана на рис. 1.29. Буферный регистр адреса выполнен на ИС КР580ИР82, а формирователь шины данных на ИС КР580ВА86, что обеспечивает ее нагрузочную способность 30 мА. Управляющие сигналы формирует ИС мультиплексора с трехстабильными выходами К555КП11.

 

Таблица 1.12 - Команды чтения и установки маски прерываний МП типа 8085А

Мнемокод Алгоритм Формат Число тактов
7……0
RIM A ← IM    
SIM IM ← A    

 

Рисунок 1.26 - Форматы слова состояния пре­рываний / последова­тельного входа (а) и слова управления пре­рываниями / последо­вательным выходом (б) МП 8085А

Рисунок 1.27 - Структура процессора на БИС 8085А с совмещенной небуферизованной сис­темной шиной

Рисунок 1.28 - Структура процессора на БИС 8085А с раз­дельной небуфезированной системной шиной

Рисунок 1.29 - Структура процессора на БИС 8085А с одно­пользовательской системной шиной, совместимой с шиной процессора на БИС КР580

 

Рисунок 1.30 - Структура процессора на БИС 8085А с многопользовательской системной и однопользовательской локальной шинами

 

Процессор на БИС 8085А с многопользовательской системной шиной, как правило, содержит локальную шину для подключения локальных ЗУ/ВУ, реализуемых на соответствующих БИС МПК, MCS-85. Структура процессора показана на рис. 1.30, а состав его шин - на рис. 1.31. Интер­фейс системной шины реализован как и в схеме процессора на ИС KP580. Для формирования сигналов управления чтением/записью и уп­равления доступом к шине используется контроллер шины КР580ВГ18. Си­стемная шина аналогична многопользовательской системной шине процессора на БИС КР580, что обеспечивает их аппаратную совместимость. Локальная шина - однопользовательская, совмещенная, небуферизованная, совмести­мая с ИС ЗУ/ИВУ МПК MCS-85.

 

Рисунок 1.31 - Состав шин процессора на БИС 8085А

 


2 МИКРОКРНТРОЛЛЕР МК51

2.1. Структурная схема МК51

Основу структурной схемы МК51 (рис. 2.2) образует внутренняя двунаправленная 8-битная шина, которая связывает между собой все основные узлы и устройства: резидентную память, АЛУ, блок регистров специальных функций, устройство управления и порты ввода/вывода.

Рассмотрим основные элементы структуры и особенности организации вычислительного процесса в МК51.

2.1.1. Арифметическо-логическое устройство

8-битное АЛУ может выполнять арифметические операции сложения вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. В АЛУ имеются программно недоступные регистры Т1 и Т2, предназначенные для временного хранения операндов, схема десятичной коррекции и схема формирования признаков.

Простейшая операция сложения используется в АЛУ для инкрементирования содержимого регистров, продвижения регистра-указателя данных и автоматического вычисления следующего адреса РПП. Простейшая операция вычитания используется в АЛУ для декрементирования регистров и сравнения переменных.

Рисунок 2.1 - Цоколевка корпуса МК51 и наименование выводов

 

Простейшие операции автоматически образуют "тандемы" для выполнения в АЛУ таких операций, как, например, инкрементирование 16-битных регистровых пар. В АЛУ реализуется механизм каскадного выполнения простейших операций для реализации сложных команд. Так, например, при выполнении одной из команд условной передачи управления по результату сравнения в АЛУ трижды инкрементируется СК, дважды производится чтение из РПД, выполняется арифметическое сравнение двух переменных, формируется 16-битный адрес перехода и принимается решение о том, делать или не делать переход по программе. Все перечисленные операции выполняются в АЛУ всего лишь за 2 мкс. Важной особенностью АЛУ является его способность оперировать не только байтами, но и битами. Отдельные программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы, прове­рены и использованы в логических операциях. Эта способность АЛУ оперировать битами столь важна, что во многих описаниях МК51 гово­рится о наличии в нем "булевского процессора". Для управления объек­тами часто применяются алгоритмы, содержащие операции над входными и выходными булевскими переменными (истина/ложь), реализация которых средствами обычных микропроцессоров сопряжена с определенными трудностями.

Таким образом, АЛУ может оперировать четырьмя типами информационных объектов: булевскими (1 бит), цифровыми (4 бита), байтными (8 бит) и адресными (16 бит). В АЛУ выполняется 51 различная операция пересылки или преобразования этих данных. Так как используется 11 режимов адресации (7 для данных и 4 для адресов), то путем комбинирования "операция/ режим адресации" базовое число команд 111 расширяется до 255 из 256 возможных при однобайтном коде опе­рации.

 

Рисунок 2.2 - Структурная схема МК51

 

2.1.2. Резидентная память

Память программ и память данных, размещенные на кристалле МК51, физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют различные функции.

Память программ (ПЗУ или СППЗУ) имеет емкость 4 Кбайта и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных переменных и т.п. РПП имеет 16-битную шину адреса, через которую обеспечивается доступ из счетчика команд или из регистра-указателя данных. Последний выполняет функции базового регистра при косвен­ных переходах по программе или используется в командах, оперирующих с таблицами.

Память данных (ОЗУ) предназначена для хранения перемен­ных в процессе выполнения прикладной программы, адресуется одним байтом и имеет емкость 128 байт. Кроме того, к адресному простран­ству РПД примыкают адреса регистров специальных функций (РСФ), которые перечислены в табл. 2.1.

Память программ, так же как и память данных, может быть расшире­на до 64 Кбайт путем подключения внешних БИС.

 

Аккумулятор и ССП. Аккумулятор является источником операнда и местом фиксации результата при выполнении арифметических, логи­ческих операций и ряда операций передачи данных. Кроме того, только с использованием аккумулятора могут быть выполнены операции сдви­гов, проверка на нуль, формирование флага паритета и т.п.

 

Таблица 2.1 - Блок регистров специальных функций

Символ Наименование Адрес
* АСС Аккумулятор 0Е0Н
* В Регистр-расширитель аккумулятора 0F0H
* PSW Слово состояния программы 0D0H
  SP Регистр-указатель стека 81Н
  DPTR Регистр-указатель данных (DPH) 83Н
    (DPL) 82Н
* РО Порт 0 80Н
* Р1 Порт 1 90Н
* Р2 Порт 2 0А0Н
* РЗ ПортЗ 0В0Н
* IP Регистр приоритетов 0В8Н
* IE Регистр маски прерываний 0А8Н
  TMOD Регистр режима таймера/счетчика  
* TCON Регистр управления/статуса таймера 88Н
  THO Таймер 0 (старший байт) 8СН
  TLO Таймер 0 (младший байт) 8АН
  TH1 Таймер 1 (старший байт) 8DH
  TL1 Таймер 1 (младший байт) 8ВН
  SCON Регистр управления приемопередатчиком 98Н
  SBUF Буфер приемопередатчика 99Н
  PCON Регистр управления мощностью 87Н

 

Примечание. регистры имена которых отмечены знаком (*), допускают адресацию отдельных бит.

 

Таблица 2.2 - Формат слова состояния программы (ССП)

Символ Позиция Имя и назначение
С PSW.7 Флаг переноса. Устанавливается и сбрасывается аппаратурными средствами или программой при выполнении ариф­метических и логических операций
АС PSW.6 Флаг вспомогательного переноса. Устанавливается и сбра­сывается только аппаратурными средствами при выполне­нии команд сложения и вычитания и сигнализирует о пере­носе или заеме в бите 3
F0 PSW.5 Флаг 0. Может быть установлен, сброшен или проверен про­граммой как флаг, специфицируемый пользователем
RS1 RS0 PSW.4 PSW.3 Выбор банка регистров. Устанавливается и сбрасывается программой для выбора рабочего банка регистров (см. примечание)
OV PSW.2 Флаг переполнения. Устанавливается и сбрасывается аппаратурно при выполнении арифметических операций
- PSW.1 Не используется
Р PSW.0 Флаг паритета. Устанавливается и сбрасывается аппаратурно в каждом цикле команды и фиксирует нечетное/четное чис­ло единичных бит в аккумуляторе, т.е. выполняет контроль по четности

 

Примечание. Выбор рабочего банка регистров

 

RS1 RS0 Банк Границы адресов
      00Н-07Н 08H-0FH 10Н-17Н 18Н -1FH

 

 

При выполнении многих команд в АЛУ формируется ряд признаков операции (флагов), которые фиксируются в регистре ССП. В табл. 2.2 приводится перечень флагов ССП, даются их символические имена и описываются условия их формирования.

Наиболее "активным" флагом ССП является флаг переноса, который принимает участие и модифицируется в процессе выполнения множества операций, включая сложение, вычитание и сдвиги. Кроме того, флаг пере­носа (С) выполняет функции "булевого аккумулятора" в командах, манипулирующих с битами. Флаг переполнения (OV) фиксирует ариф­метическое переполнение при операциях над целыми числами со знаком и делает возможным использование арифметики в дополнительных кодах. АЛУ не управляет флагами селекции банка регистров (RS0, RS1), и их значение полностью определяется прикладной программой и ис­пользуется для выбора одного из четырех регистровых банков.

Широкое распространение получило представление о том, что в микро­процессорах, архитектура которых опирается на аккумулятор, большинство команд работают с ним, используя адресацию "по умолчанию" (неявную). В МК51 дело обстоит иначе. Хотя процессор в МК51 имеет в своей основе аккумулятор, однако он может выполнять множество команд и без участия аккумулятора. Например, данные могут быть переданы из любой ячейки РПД в любой регистр, любой регистр может быть загружен непосредственным операндом и т.д. Многие логические операции могут быть выполнены без участия аккумулятора. Кроме того, переменные могут быть инкрементированы, декрементированы и проверены (test) без использования аккумулятора. Флаги и управляющие биты могут быть проверены и изменены аналогично.

Регистры-указатели. 8-битный указатель стека (РУС) может адресо­вать любую область РПД. Его содержимое инкрементируется прежде, чем данные будут запомнены в стеке в ходе выполнения команд PUSH и CALL. Содержимое РУС декрементируется после выполнения команд POP и RET. Подобный способ адресации элементов стека называют прединкрементным/постдекрементным



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: