Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовой проект / МК1816ВЕ51 / КП МП Зимин.doc
Скачиваний:
88
Добавлен:
21.02.2014
Размер:
10.43 Mб
Скачать

2.1 Архитектура однокристальной микроЭвм к1816ве51

2.1.1 Организация архитектуры К1816ВЕ51. Микросхема К1816ВЕ51 представляет собой СБИС семейства высокопроизводительных однокристальных микроЭВМ соответственно со встроенной постоянной памятью программ. Она предназначена для использования в системах обработки информации в качестве высокопроизводительных контроллеров и управляющих устройств в изделиях самого широкого применения.

Система команд ОМЭВМ содержит 111 базовых команд с форматом 1, 2, 3 байта. В составе микросхема МК51 имеет:

- 8-ми битовый канал данных с возможностью обработки следующих форматов данных: бит, байт, два байта;

- внутренюю память данных емкостью 128 байт;

- внутренюю память емкостью 8 Кбайт;

- 32 РОН;

- четыре способа адресации данных (прямая побайтовая и побайтная, косвенная, непосредственная, регистровая);

- пять векторов прерывания;

- 2 уровня прерывания;

- четыре 8-ми разрядных программируемых канала ввода/вывода;

- последовательный канал ввода/вывода;

- 128 определяемых пользователем программно управляемых флага;

- два 16-битовых многорежимных таймеров (счетчиков);

- стек с полной глубиной для связи подпрограмм возврата и памяти данных;

- двоичную и десятичную арифметику.

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

Микроконтроллер конструктивно выполнен в корпусе, имеющем 40 выводов, как изображено на рисунке 1. Назначение выводов микросхемы приведено в таблице 1.

Рисунок 1 - Расположение и обозначение выводов КМ1816ВЕ51

Таблица 1- Назначение выводов микросхемы КМ1816ВЕ51

Номера

контактов

Обозначение

англ. – рус.

Назначение

Тип

сигнала

Состояние

1

2

3

4

5

1-8

1-8 Р1.0 - Р1.7

Входы-выходы порта Р1

вх/вых

1, 0, z

9

RST/VРD – СБР/АП

Cброс/питание холостого хода

вх

1

10

RхD - ВХПР

Вход приемника

вх

1

11

ТхD - ВЫХПЕР

Выход передатчика

вых

1

12

INT0 – ЗПР 0

Запрос прерывания 0

вх

0

13

INT1 - ЗПР 1

Запрос прерывания 1

вх

0

14

Т0

Вход таймера/счетчика 0

вх

1

15

Т1

Вход таймера/счетчика 1

вх

1

16

WR - ЗП

Сигнал записи во внешнее ОЗУ

вых

0

17

RD - ЧТ

Сигнал чтения внешнего ОЗУ

вых

0

Продолжение таблицы 1

1

2

3

4

5

18-19

Х1, Х2

Подключение внешнего резонатора

1-вх,

2-вых

1

20

VSS – ОБЩ

"Земля" (Общий вывод И.П.)

21-28

P2.0 - P2.7

Входы-выходы порта P2

вх/вых

1, 0, z

29

PSEN - РВПП

Активация внешней памяти программ

вых

0

30

ALE/PROG – САВП/ПРОГ

Строб фиксации адреса внешней памяти

вых

1/0

31

ЕA/ VPP – ОРПП/ДП

Активация внутренней памяти программ / программирование внутренней памяти программ

вх

0/1

32-39

Р0.7 - Р0.0

Входы-выходы порта Р0

вх/вых

1, 0, z

40

VCC - ОСН

Питание + 5В

В архитектуре МК51 и ее модификациях использован стан­дартный для МК принцип независимости сред для хранения программ и данных. Структурную схему МК51 рассмотрим на рисунке 2.

Контроллер состоит из следующих функциональных узлов: - АЛУ (арифметико-логическое устройство); - резидентных памяти программ (РПП) и памяти данных (РПД); - регистров специальных функций (РСФ); - портов параллельного и последовательного ввода-вывода; - таймеров; - системы прерывания.

Архитектура МК51 включает пять типов пространств, четыре из которых являются областями данных:

RSEG Пространство регистров;

DSEG Пространство внутренней памяти данных;

BSEG Битовое пространство данных;

XSEG Пространство внешней памяти;

CSEG Пространство программного кода.

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

Однако пространство регистров, за исключением PC, и пространство битов, частично пересекаясь, физически совме­щаются с пространством DSEG, образуя единую внутреннюю среду для хранения данных, имеющую достаточно сложную структуру. Это стандарт­ный для однокристальных МС прием, позволяющий одни и те же физические данные рассматривать с разных позиций. В результате выбирается наиболее удобный для конкретного случая способ интерпретации тех или иных данных, в соответствии с которым и организуется доступ к ним.

АЛУ МК51 реализует достаточно мощную систему команд, включащую

команды умножения, деления, вычитания, выполнения операций над битами, команды управления. Большинство команд имеют формат один или два байта и выполняются за один или два машинных цикла длительностью 1 мкс (при тактовой частоте 12 МГц). Память программ и память данных физически и логически разделены. Кроме того, к адресному пространству РПД примыкает адресная область регистров специальных функций, включающая в себя: аккумулятор (АСС), слово состояния программы (PSW), указатель стека (SP), указатель данных (DPTR), порты (Р0 - Р3), регистр приоритетов (IP), регистр маски прерываний (IE), регистр режимов таймеров-счетчиков (TMOD), таймеры-счетчики (Т0, Т1), регистр управления и буфер приемопередатчика (SCON и SBUF) и др. Для побайтового ввода-вывода информации в МК51 могут быть использованы четыре порта (Р0 - Р3). Помимо того, выводы порта Р3 (контакты 10-17) могут быть настроены для реализации альтернативных функций (таблице 1) записью в соответствующие разряды порта логической единицы. В случае применения внешней памяти данных (ВПД) или программ (ВПП) используются выходные буферы портов Р0 и Р2. При этом через порт 0 в режиме мультиплексирования выводится младший байт адреса ВПД или ВПП, а затем осуществляется передача данных. Если разрядность адреса составляет более 8 бит, то через порт Р2 происходит выдача его старших разрядов.

Специальный сброс МК51 осуществляется подачей единицы на вход RST в течение по меньшей мере двух машинных циклов. При этом сбрасывается содержимое счетчика команд и всех регистров специальных функций, в регистр указателя стека записывается число 07Н, а в порты - 0FFH. После снятия сигнала RST запускается программа по адресу 0000H.

2.1.2 Набор регистров МК51. Набор программно-доступных регист­ров процессора ВЕ51 приведен на рисунке 3. Архитектура относится к классу аккумуляторных с переключае­мыми банками рабочих регистров. Поэтому центральным регист­ром набора считается 8-разрядный аккумулятор А, выполняющий обычные функции основного арифметического регистра.

Рисунок 3 - Набор регист­ров МК51

В МК ВЕ51 предусмотрено четыре банка по восемь рабочих регистров

R0 - R7 в каждом, переключаемых полем RS слова состояния программы. Регистры выполняют общецелевые функции промежуточного хранения данных. По аналогии с ВЕ48 два регистра R0 и R1 каждого банка реализуют также функции 8-разрядных указателей данных.

Использование наборов рабочих регистров позволяет сущест­венно уменьшить длительность переключения контекстов ЦП, что очень важно для МС реального времени. Следует также отметить, что в ВЕ51 отсутствует ряд ограничений, накладываемых на обработку подпрограмм и процедур обслуживания прерываний.

При сбросе МК все регистры устанавливаются в исходное состояние. Программный счетчик PC принимает значение 0000Н, аккумулятор А - 00Н; В - 00Н, PSW - 00Н, SP - 07H и DPTR - 0000Н. Сброс PC обеспечивает передачу управления по стартовому адресу 0000Н, а установка SP в состояние 07Н поддерживает совместимость со стеком ВЕ48. Сброс PSW реализует выбор нулевого регистрового банка RB0.

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

Регистр слова состояния программы кроме флажков, входящих в PSW МК51:

PSW.7 CY Перенос из старшего разряда АЛУ;

PSW.6 АС Дополнительный перенос из младшей тетрады АЛУ;

PSW.5 F0 Флажок пользователя общего назначения включает также флажки;

PSW.2 OV Признак арифметического переполнения результата PSW.1;

Р Признак четности.

Сюда же входит двухразрядное поле RS (Registers Select) выбора одного из четырех возможных банков рабочих регистров. Флажки признаков результата CY, АС и OV, как правило, отражают состояние последней арифметической операции, флажок Р - четность содержимого А. Флажок переноса CY является аккумулятором булевого процессора. Функциональное назначение флажка F0 определяется пользователем в конкретной ситуации.

2.1.3 Организация памяти МК51. Пространство внутренней памяти DSEG имеет общий объем 256 байт. Однако организация МК51 предусматривает реализацию только первой его половины (128 байт). Все банки рабочих регистров, а также системный стек в МК ВЕ51 располагаются во внутренней памяти данных и могут рассматриваться как обычные ячейки памяти. Существуют два способа адресации памяти данных МК: прямой и косвенный через регистры R0, R1 выбранного в данный момент одного из банков RB0 - RB3. При прямой адресации доступна только младшая половина адресного пространства внутренней памяти данных (128 байт), при косвенной обеспечивается доступ к любой ее ячейке (256 байт). Введение прямой адресации значительно расширило возможности обработки данных МК, в частности появились средства прямого доступа в соседние регистровые банки и стек системы, интерпретируемые как обычные ячейки памяти. Карты адресов от­дельных бит представлены на рисунке 4.

Микроконтроллер BE51 имеет мощную и развитую подсистему ввода-вывода (ВВ) и средства поддержки режима реального времени. Для их управления в МК предусмотрен ряд регистров, которые разме­щаются во второй половине прямо адресуемого пространства, образующей пространство специальных регистров (128 байт). Сюда же включены порты и основные регистры ЦП.

а) б)

а) – карта адресуемых бит в резидентной памяти данных;

б) – карта адресуемых бит в блоке регистров специальных функций

Рисунок 4 - Карты адресов от­дельных бит МК BE51

Центральный процессор МК51 содержит специальную логику, предназначенную для выполнения нескольких однобитовых опера­ций, булев или одноразрядный процессор для вычисления буле­вых выражений. В основу булева процессора положен стандартный аккумуляторный принцип организации. В данном случае роль аккумулятора выполняет флажок переноса CY.

Для хранения булевых данных в архитектуре ВЕ51 предусмот­рено специальное одноразрядное линейно упорядоченное про­странство BSEG объемом 256 байт, которое физически совмещено с байтовым пространством данных DSEG. При этом одна часть пространства BSEG попадает на обычные ячейки памяти DSEG и может рассматриваться как область общего назначения. Обычно она используется для хранения булевых переменных. Другая часть пространства BSEG попадает на ячейки памяти, совмещенные с регистрами МК, что обеспечивает независимый доступ к их отдельным разрядам. В булевом пространстве определена только прямая адресация bit.

В МК ВЕ51 имеется возможность совмещения внешней части CSEG с пространством XSEG. Такое совмещение поможет распространить на область CSEG операции и способы доступа к XSEG, в частности станет осуществимой операция записи, что может быть использовано при загрузке программ из внешней памяти.

2.1.4 Порты ввода-вывода. Подсистема ввода-вывода (ВВ) МК ВЕ51 размещается непосредственно на кристалле. Для ВВ данных и управления процессом их передачи в состав МК введен ряд портов данных и регистров управления/состояния, совокупность которых образует набор специальных регистров (рисунок 5).

Рисунок 5 - Специальные регистры МК BE51

Физическая система ВВ микроконтроллера ВЕ51 состоит из четырех двунаправленных 8-разрядных портов Р0 - РЗ. Все порты ВВ отображены в пространстве внутренней памяти DSEG по адресам 80Н, 90Н, ОАОН, ОВОН и ничем не отличаются от обычных ячеек памяти.

Каждый из портов содержит фиксатор и буфер. Фиксатор представляет собой 8-ми разрядный регистр, имеющий байтовую и битовую адресацию для установки (сброса) разрядов с помощью программного обеспечения. Физические адреса фиксаторов Р0, Р1, Р2, Р3 составляют для:

Р0 - 80Н, при битовой адресации 80Н-87Н;

P1 - 90H, при битовой адресации 90Н-97Н;

P2 - A0H, при битовой адресации А0Н-А7Н;

P3 - B0H, при битовой адресации В0Н-В7Н.

Порты Р1, Р2, Р3 в установившемся состоянии имеют внутреннее сопротивление, обеспечивающее ток нагрузки в диапазоне от 800 мкА до 80 мА при входном напряжении от 0,45 В до 2,4 В.

При переключении входной информации на порт с низкого уровня на

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

Порт Р0 отличается от остальных отсутствием внутреннего сопротивления.

Расширение пространства ВВ может быть выполнено за счет области XSEG или другими средствами с помощью самих портов Р0 - РЗ и SBUF.

2.1.5 Последовательный канал связи. В состав ВЕ51 входит дуплексный канал последовательной связи с буферизацией, ко­торый может быть запрограммирован для работы в одном из четырех режимов:

режим 0 - синхронный последовательный ВВ со скоростью OSC/12;

режим 1- асинхронный с 10-битовым кадром и переменной скоростью передачи;

режим 2 - асинхронный с 11-битовым кадром и фиксированной скоростью передачи OSC/32 или OSC/64;

режим 3 - асинхронный с 11-битовым кадром и переменной скоростью передачи.

Входные и выходные данные хранятся в буферном регистре SBUF с адресом 99Н. Управление работой приемопередатчиков осуществляется через слово управления и состояния SCON, расположенное в регистре по адресу 98Н.

2.1.6 Таймеры/счетчики. Предназначены для подсчета внешних событий, для получения программно управляемых временных задержек, выполнения времязадающих функций ОМЭВМ.

В состав блока входят:

- два 16-ти разрядных регистра Т/С 0, Т/С 1;

- 8-ми разрядный регистр режимов Т/С (ТМ0D);

- 8-ми разрядный регистр управления (ТСОN);

- схема инкремента;

- схема фиксации INT0, INT1, Т0, Т1;

- схема управления флагами;

- логика управления Т/С.

Два 16-разрядных регистра Т/С 0 и Т/С 1 выполняют функцию хранения содержимого счета. Каждый из них состоит из пары 8-ми разрядных регистров, соответственно ТH0, ТL0 и ТH1, ТL1. Причем регистры ТН0, ТH1 - старшие, регистры ТL0, ТL1 - младшие 8 разрядов. Каждый из 8-ми разрядных регистров может быть использован, как РОН, если Т/С не используются (бит TR0 для Т/С 0 и бит TR1 для Т/С 1 в регистре управления TCON равен "0").

Регистр режимов Т/С (TMOD) предназначен для приема и хранения кода, определяющего:

- один из 4-х возможных режимов работы каждого Т/С;

- работу в качестве таймеров или счетчиков;

- управление Т/С от внешнего вывода.

2.1.7 Система прерываний. Упрощенная схема прерываний МК51 приведена на рисунке 6.

Рисунок 6 - Упрощенная схема реализации прерываний МК ВЕ51

Внешние прерывания INT0 и INT1 могут быть вызваны либо низким логическим уровнем, либо переходом из 1 в 0 на входах МК51 в зависимости от значений IT0 и IT1 - управляющих бит, представленных в регистре TCON (timer control register - регистр управления таймерами) разрядами TCON.0 и TCON.2. При появлении запросов от внешних источников прерываний устанавливаются флаги IE0 и IE1 в разрядах TCON.1 и TCON.3. При переполнении таймеров устанавливаются флаги запроса прерываний от таймеров TF0 и TF1 (TCON.5 и TCON.7), которые сбрасываются автоматически при передаче управления программе обслуживания прерываний. Флаги запросов на прерывания от приемника и передатчика RI и TI устанавливаются универсальным приемопередатчиком и должны сбрасываться программно.

Два регистра специальных функций IE и IP позволяют управлять режимами прерываний и уровнями приоритета. Каждому запросу соответствует адрес вектора прерывания в поле адресов памяти программ (рисунок 5). По адресу вектора прерывания должна быть записана команда безусловного перехода (JMP) к подпрограмме обслуживания прерывания. Возврат в основную программу осуществляется по команде RETI.

2.1.8 Система команд МК ВЕ51. Система насчитывает 111 команд, из них 49 однобайтовых, 45 двухбайтовых и 17 трехбайтовых. Появление трехбайтовых команд связано с расширением объемов CSEG и XSEG, а также вводом прямой адресации в DSEG. Все команды выполняются за один или два машинных цикла (12 тактов ALE) за исключением команд MUL и DIV, которые требуют четыре цикла. Большинство двухбайтовых команд одноцикловые, а все трехбайтовые команды - двухцикловые. Это объясняется тем, что за один машинный цикл в МК ВЕ51 может вводиться до двух байтов программного кода.

Все множество команд ВЕ51 удобно разбить на пять групп: пересылки, логической обработки, арифметической обра­ботки, передачи управления, булевого процессора.

Группа команд пересылки содержит команды MOV (пересылки данных между DSEG и RSEG), MOVC (между CSEG и A), MOVX (между XSEG и А или RSEG), команды обращения к стеку PUSH и POP, а также две команды обмена ХСН и XCHD. Наиболее емкой инструкцией является команда MOV, которая использует четыре способа адресации: регистровый (A, Rn, DPTR), прямой (direct), косвенный (@Ri) и непосредственный (#data, #data 16). Для указания приемника служат три способа адресации (кроме непосредственного), для указания источника все четыре.

Группа команд логических операций содержит три типовые двухместные операции: ANL - логическое И, ORL - логическое ИЛИ и XRL - логическое исключающее ИЛИ. Источником первого операнда и одновременно приемником результата служит либо аккумулятор А, либо прямо адресуемая ячейка памяти. Второй операнд задается одним из четырех основных методов адресации. В состав группы входит также ряд одноместных операций: CLR - очистки, CPL - логического до­полнения (инверсия), а также RL, RLC, RR и RRC - операции циклического и расширенного сдвигов вправо и влево. Все операции манипулируют содержимым только аккумулятора А. Сюда же включена операция обмена тетрад в аккумуляторе SWAP, которая может интерпретироваться как циклический сдвиг байта на четыре разряда.

В состав группы команд арифметической обработки входят: операция сложения ADD, сложения с учетом переноса ADDC, вычитания с учетом займа SUBB, увеличения и уменьше­ния на единицу INC и DEC, десятичная коррекция сложения в 2/10-коде упакованного формата DA, умножение MUL и деление DIU. Операции выполняются над беззнаковыми целыми числами.

В операциях сложения и вычитания первым операндом и приемником результата служит аккумулятор. В качестве второго операнда выступает либо рабочий регистр Rn, п = 0 - 7, выбран­ного регистрового банка, либо ячейка памяти данных, адресуемая прямо direct или косвенно @Ri, i = 0 - 1, либо непосредственные данные #data. Операции INC и DEC применимы к аккумулятору, одному из рабочих регистров или к ячейке памяти, адресуемой как прямо, так и косвенно. Кроме этого операция увеличения на единицу может быть применена к содержимому регистра указате­ля DPTR.

В составе группы команд передачи управления находятся команды перехода AJMP, LJMP, SJMP, JMP, условного перехода JZ, JNZ, CJNE, вызова ACALL, LCALL, возврата RET, RETI и модификации с условным переходом DJNZ. Сюда же включена пустая команда NOP.

В командах передачи управления широко применяется относи­тельная адресация, которая поддерживает перемещаемые про­граммные модули.

К типовым условным операциям ВЕ51 относятся также операции JZ и JNZ, JC и JNC. Две последние включены в группу булевых. Однако появилась новая операция «Сравнить и перейти» CJNE. По данной команде операнд сначала сравнивается по правилам вычитания целых чисел с константой и в соответствии с результатом сравнения выставляется флажок CY. Затем в случае несовпадения с константой выполняется ветвление. Сравнивая аккумулятор, регистр или ячейку памяти с последовательностью констант, получаем удобный способ проверки на совпадения, например с целью выявления особых случаев.

Ряд команд, предназначенных для выполнения операций пересылки, проверки условий и логической обработки булевых (одноразрядных) переменных, образует отдельную группу. В качестве одного из операндов они применяют флажок переноса CY, в качестве другого служит прямо адресуемый элемент пространства BSEG. Флажок CY при выполнении операций И и ИЛИ может рассматриваться как булевый аккумулятор.

2.2 Функциональное описание ВЕ51

2.2.1 Интерфейс расширения. Внутренние ресурсы МК ВЕ51 могут быть расширены внешними средствами. При этом память программ CSEG достигает 64К байт, а память данных увеличивается за счет ввода в действие внешней памяти XSEG, максимальная емкость которой тоже 64К байт. Внешняя часть CSEG и область XSEG могут быть объединены в одно физическое пространство. Расширение области ВВ выполняется за счет части пространства XSEG (совмещенный ВВ).

Для связи со средствами расширения МК имеет встроенную системную магистраль, которая физически частично совмещена с портами Р0, Р1 и РЗ. В состав магистрали входят двунаправленная шина AD (порт Р0), шина старшей части адреса А (порт Р2), стробы фиксации адреса ALE, чтения памяти программ PSEN, записи WP (линия Р3.6) и чтения RD (линия Р3.7) внешней памяти данных XSEG.

По срезу ALE передаваемая через порт Р0 младшая часть адреса фиксируется во внешнем регистре. Старшая часть принимается из порта Р2. Стробы PSEN (IOL = 3,2 мА), RD и WR определяют тип доступа. При чтении CSEG (операция PSEN) данные считываются по фронту строба PSEN (фаза S1P1 и S4P1), при чтении XSEG (операция RD) - по фазе S3P1, при записи в XSEG (операция WR) данные действи­тельны на всем стробе.

2.2.2 Работа таймеров/счетчиков. Каждый из таймеров/счетчиков СТ0 - СТ1 (СТ2) выполняет функцию таймера (С/Т=0) или счетчика (С/Т=1). Функция таймера состоит в счете синхроим­пульсов, следующих с частотой OSC/12, функция счетчика - в счете числа переходов из 1 в 0 на выходах Т0, Т1 или Т2. В этом режиме соответствующий вход тестируется в течение фазы S5P2 каждого машинного цикла. При обнаружении состоя­ния 1 в одном цикле и состояния 0 в следующем за ним значение связанного со входом счетчика увеличивается на 1. В фазе S3P1 нового машинного цикла модифицированное значение отражается в регистровой паре. Так как процедура обнаружения перехода длится два машинных цикла, то максимальная скорость счета не должна превышать OSC/24. Существует единственное ограничение, накладываемое на временную последовательность входных им­пульсов, подлежащих счету: каждый уровень (1 или 0) должен удерживаться неизменным по крайней мере в течение одного машинного цикла. В рамках выбранной функции определены четыре режима работы для СТ0, СТ1 (М0, Ml) и три для СТ2 (CP/RL2, RCLK, TCLK).

В режиме 0 счетный регистр имеет длину 13 бит (5 младших разрядов TLj и THj, j = 0-1), три старших разряда TLj игнорируются.

Режим 1 подобен режиму 0, за исключением того, что в нем используется полный 16-разрядный счетчик ТН, TL.

Режим 2 конфигурирует 8-разрядный счетчик TLj с автозагруз­кой содержимым THj.

Режим 3 для СТ0 и СТ1 осуществляется по-разному. В случае СТ0 два счетных регистра TL0 и ТН0 рассматриваются независи­мо друг от друга. Логика управления работой TL0 аналогична режиму 1. Второй счетчик работает в режиме таймера, управляемого флажком TR1. Сигнал переполнения фиксируется флажком TF1. В случае СТ1 режим 3 останавливает счет, подобно тому, как это было при TR1=0 в других режимах. Использование режима 3 позволяет увеличить число счетчиков МК ВЕ51 до трех, что может быть необходимо в некоторых практических случаях.

2.2.3 Работа последовательного канала связи. Встроенный в ВЕ51 последовательный канал связи может быть запрограммирован для работы в одном из четырех режимов. В режиме 0 данные принимаются или передаются последовательно через линию ТхD со скоростью OSC/12 младшими битами вперед по 8 разрядов за операцию. Для синхронизации внешних средств используется линия ТхD. Передача инициируется всякий раз, когда новые данные записываются в SBUF. Признаком окончания передачи служит установка флажка TI. Операция ввода данных активизируется при разрешенном приеме (REN = 1) по сбросу флажка RI. Установка флажка RI свидетельствует о готовности введенных данных для считывания из SBUF.

Выдаваемый на линию ТхD синхросигнал переходит в состояние 0 в фазе S3PI второго машинного цикла, следующего за циклом исполнения команды записи данных в SBUF или команды сброса RI при REN=1 (рисунок 7, а). Затем он переключается через каждые шесть тактов, переходя в состояние 1 в фазе S6P1 и воз­вращаясь в состояние 0 в фазе S3P1 до тех пор, пока не будут переданы или приняты все 8 бит. Флажок RI или TI в зависимости от выполняемой операции устанавливается после фронта восьмого синхроимпульса. Прием выходных данных внешними средствами следует осуществлять по фронту синхросигнала. Ввод данных от внешних средств выполняется перед очередным фронтом синхро­сигнала в фазе S5P2.

а) режим 0; б) режим 1; в) режим 2 и 3

Рисунок 7 - Форматы передачи данных

В отличие от режима 0 в трех оставшихся режимах реализу­ется асинхронный обмен данными, форматы которых приве­дены на рисунке 7, б, в. Для повышения помехоустойчивости приема в режимах 1-3 каждый бит данных опрашивается трижды. Для этого период передачи бита данных делится на 16 интервалов. Опрос осуществляется в интервалах 7-9. Решение о состоянии бита данных принимается голосованием «два из трех».

До прихода стартового бита приемник проверяет вход RхD 16 раз за период. При обнаружении перехода из 1 в 0 на входе RхD приемник начинает счет периодов передачи данных. В интервалах 7 - 9 первого периода приемник проверяет правильность генера­ции стартового бита. Если стартовый бит не подтверждается, то переход принимается за помеху, в противном случае реализуется операция последовательного приема 8 или 9 бит данных, которые запоминаются в регистре SBUF и во флажке RB8 (режим 2 и 3) при приеме последующего стопового бита. Одновременно с этим устанавливается флажок готовности приемника RI, свидетельст­вующий о приеме очередного кадра.

Данные передаются на вход ТxD после их записи в SBUF независимо от состояния TI. Передача стартового бита начинается в фазе S1P1 машинного цикла, следующего за первым сигналом переполнения счетчика, который используется в качестве генерато­ра скорости. Таким образом, начало передачи данных оказывается синхронизированным по отношению к генератору скорости. Кадр завершается выдачей стопового бита. Перед началом передачи стопового бита устанавливается флажок TI, свидетельствующий об окончании передачи данных.

В режимах 1-3 кадр данных имеет форматы, представленные на рисунке 6, б, в. Если данные D0 - D7 доступны через SBUF, то разряд D8 - через флажки ТВ8 и RB8 управляющего слова SCON. В режиме 2 скорость передачи в зависимости от значения флажка SMOD в регистре PCON может быть равной либо OSC/32 (SMOD = 0), либо OSC/64 (SMOD=l). В режиме 1 и 3 скорость передачи определяется частотой переполнения СТ1 или СТ2 (RCLK=1 или TCLK=1). В случае SMOD=l скорость передачи совпадает с частотой переполнения, а при SMOD = 0 скорость передачи в 2 раза меньше. Таким образом, манипулируя флажком SMOD, можно понизить скорость передачи в режимах 1-3 в 2 раза.

Флажки RI и TI способны осуществлять запрос на прерывание. В режимах 1-3 - установка флажка SM2 разрешает установку флажка RI и генерацию запросов от него только при приеме кадра с D8 = l. Для режима 1 это соответствует контролю кадра на стоповый бит. Для режима 2 и 3 такая организация работы обеспечивает разделение кадров на два класса в зависимости от состояния RB8. В противном случае принятые данные в SBUF не записываются и безвозвратно теряются.

2.2.4 Работа с внешней памятью программ и памятью данных. Режим работы ОМЭВМ с внешней памятью устанавливается путем отключения внутренней памяти заданием низкого уровня напряжения на выводе /DEMA и применяется при отладке программ и контроле процессора. Этот режим используется также, если внутренней памяти программ недостаточно. В этом случае можно совместить внутреннюю (4096 байт) и внешнюю (60 К) памяти программ общим объемом 64К (на выводе /DEMA при этом подается напряжение высокого уровня) или использовать только внешнюю память с максимальным объемом 64К (при этом вывод /DEMA подключается на корпус).

При работе с внешней памятью программ выдача младших разрядов адреса (А7...А0) на внешнюю память и прием кода команд из внешней памяти осуществляется через порт Р0 (Р07 – Р00). При этом адрес фиксируется по сигналу ALE, а команды принимаются по сигналу /PME. Старшие разряды адреса А15...А8 выдаются через Р2 (Р2.7...Р2.0). При увеличении объема памяти за счет подключения внешнего ОЗУ емкостью до 256 байт обмен данными между ОЗУ и ОМЭВМ осуществляется через двунаправленный порт Р0 с помощью команд MOVXA,@R и MOVX@R,А. Для работы с внешним ОЗУ объемом свыше 256 байт (до 64 К) используются команды MOVXA,@DPTR и MOVX@DPTR,А. При этом адрес данных фиксируется по спаду сигнала ALE, а прием и выдача данных - по сигналам /RD и /WR.

В режиме проверки внутренней памяти контролируется правильность хранящихся в памяти программ информации, записанной в процессе производства микросхем для ВЕ51. Подаваемые на одноименные выводы микросхемы сигналы выполняют следующие функции:

P2.7 - при подаче напряжения низкого уровня активизирует режим обращения к внутренней памяти для считывания;

P1.0 ... Р1.7, Р2.0 ... Р2.3 - организует подачу адреса А0 - А11;

P0.0 ...Р0.7 - организуют прием данных для программирования, или выдачу данных для контроля.

2.2.5 Работа с портами. Порты Р1 - Р3 имеют идентичные характеристики. Данные, записанные в них, статически фиксируются и не изменяются до перезаписи.

В режиме работы с внешней памятью программ порт Р2 служит для выдачи сигналов старших разрядов адреса и статически фиксирует его до момента изменения. В этом режиме порт Р2 для расширения ввода-вывода не используется.

Для использования портов Р1 - Р3 в качестве входов ОМЭВМ по команде выдачи данных должна выдать напряжение высокого уровня Uoh по соответствующим линиям Р2, Р1, Р3, однако после подачи сигнала сброс порты Р1 - Р3 устанавливаются в состояние готовности приема без дополнительных усилий.

Порт Р0 - 8-ми разрядный двунаправленный порт с тремя состояниями, может использоваться в качестве статически фиксирующего выходного порта и нефиксирующего входного порта. Информация, выдаваемая портом Р0 с помощью команд выдачи, сопровождается строб - импульсом WR. При записи информации в порт Р0 с помощью команд приема вырабатывается строб-импульс RD.

Кроме операций ввода-вывода информации, предусмотрена возможность выполнения логических операций И, ИЛИ и исключающее ИЛИ непосредственно на фиксаторах портов Р0 - Р3.

В режиме работы с внешней памятью программ порт Р0 служит для выдачи младших разрядов адреса памяти программ, приема кодов команд, а также для выдачи адреса внешнего ОЗУ данных и приема-выдачи данных обмена с внешним ОЗУ, если оно используется.

При выполнении инструкции, которая разрешает чтение порта, новая информация поступает на внутреннюю магистраль ОМЭВМ во время последнего цикла инструкции. На выходе порта новые данные могут появиться до начала следующего цикла.

Имеются два способа считывания из портов: система команд ОМЭВМ позволяет считывать информацию с фиксатора порта или непосредственно с выхода в зависимости от кода инструкции.

Последовательный порт ОМЭВМ используется как для расширения ввода/вывода, так и в качестве универсального асинхронного приемо-передатчика (УАПП) с фиксированной или переменной скоростью последовательного обмена. Предусмотрена также возможность дуплексного включения.

При проектировании системы необходимо учитывать, что в состав МК51 уже включены программируемый системный таймер, порты последовательного и параллельного ввода-вывода, система прерываний.

2.3 Упрощенная структурная схема разрабатываемой микропроцессорной

системы

Упрощенная структурная схема микро - ЭВМ представлена на рисунке 8.

Все модули разрабатываемой системы объединяются общей системной шиной, состоящей из шин адреса, данных и управления. Обмен данными по магистрали осуществляется в адресном пространстве, разделенном с помощью управляющих сигналов обращения к запоминающему устройству и внешним устройствам.

О

K

сновным элементом проектируемой микропроцессорной системы является блок ОМВЭВМ, представляющий собой процессорный модуль К1816ВЕ51, работа которого управляется по встроенной программе.

Память

Y4

ПЗУ

ОЗУ

Сигналы с датчиков

Запросы ПДП

Рисунок 8 – Упрощенная схема микропроцессорной системы

Хранение информации происходит в модуле памяти, состоящей и блока ПЗУ, выполненной на МС КР537РУ8, отвечающая за хранение программ и констант, и блока ОЗУ, реализованной на МС КР556РТ6, служащей для хранения входных и выходных данных, а также промежуточных результатов.

Осуществление операции преобразования аналоговых сигналов в цифровую форму и обратно происходит при помощи АЦП и ЦАП, реализованные на МС К1113ПВ1 и МС К572ПА1 соответственно.

Устройства ввода для связи с ОУ обеспечивают ввод в ОМВЭВМ значений x1, x2, x3, двоичных датчиков, а также 8 – разрядных двоичных кодов NU1, NU2, NU3, принимаемых с выходов АЦП.

Устройства вывода на ОУ обеспечивают выдачу двоичных управляющих воздействий y1, y2, y3 определенной длительности и кода управляющего напряжения Y4 - 8 – разрядного двоичного вектора на вход ЦАП.

В качестве контроллера прямого доступа к памяти КПДП, принимающего массив данных из ПЗУ (ОЗУ) в режиме ПДП использована МС КР580ВТ57.

Устройства ввода-вывода (УВВ) обеспечивают ввод управляющих сигналов, и вывод результатов значений x1, x2, x3, y1, y2, y3. NU1,Y4 на дисплей.

Пульт управления обеспечивает ввод в систему значения 8 – разрядной двоичной константы К, ввод двоичного значения сигнала «СТОП», формирование сигнала начальной установки системы.