Разработка сенсора на поверхностно-акустических волнах. Автоматизация измерительной установки - Цифровые устройства - Скачать бесплатно
|Вход/вых|
| | |двунаправленный порт Р1. |од |
| | |Вход адреса А0 – А7 при | |
| | |проверке внутреннего ПЗУ. | |
|9 |RST |Сигнал общего сброса |Вход |
|10 – 17 |P3.0 – P3.7 |8-разрядный |Вход/вых|
| | |двунаправленный порт Р3 с |од |
| | |дополнительными функциями.| |
| |P3.0 |Последовательные данные |Вход |
| | |приемника – RxD. | |
| |P3.1 |Последовательные данные |Выход |
| | |передатчика TxD. | |
| |P3.2 |Вход внешнего прерывания 0|Вход |
| | |– INT0 | |
| |P3.3 |Вход внешнего прерывания 1|Вход |
| | |– INT1 | |
| |P3.4 |Вход таймера-счетчика 0 – |Вход |
| | |T0 | |
| |P3.5 |Вход таймера-счетчика 1 – |Вход |
| | |Т1 | |
| |P3.6 |Выход стробирующего |Выход |
| | |сигнала при записи во | |
| | |внешнюю память данных WR | |
| |P3.7 |Выход стробирующего |Выход |
| | |сигнала при чтении из | |
| | |внешней памяти данных RD | |
|18 |XTAL1 |Вывод для подключения |Выход |
| | |кварцевого резонатора | |
|19 |XTAL2 |Вывод для подключения |Вход |
| | |кварцевого резонатора | |
|20 |GND |Общий вывод | |
|21 – 28 |P2.0 – P2.7 |8-разрядый двунаправленный|Вход/вых|
| | |порт Р2. Выход адреса А8 –|од |
| | |А15 в режиме работы с | |
| | |внешней памятью. В режиме | |
| | |проверки внутреннего ПЗУ | |
| | |выводы Р2.0 – Р2.6 | |
| | |используются как вход | |
| | |адреса А8 – А14. Вывод | |
| | |Р2.7 – разрешение чтения | |
| | |внутреннего ПЗУ – Е | |
|29 |PSE |Разрешение программной |Выход |
| | |памяти | |
|30 |ALE |Выходной сигнал разрешения|Выход |
| | |фиксации адреса | |
|31 |EA |Блокировка работы с |Вход |
| | |внутренней памятью | |
|32 – 39 |P0.7 – P0.0 |8-разрядный |Вход/вых|
| | |двунаправленный порт Р0. |од |
| | |Шина адреса/данных при | |
| | |работе с внешней памятью. | |
| | |Выход данных D7 – D0 в | |
| | |режиме проверки | |
| | |внутреннего ПЗУ. | |
|40 |Ucc |Вывод питания от источника| |
| | |напряжения +5В. | |
Таблица 2 Назначение выводов процессора МК51
ОМЭВМ содержит все узлы, необходимые для автономной работы:
. центральный восьмиразрядный процессор;
. внутреннюю память данных, объемом 128 Байт;
. четыре восьмиразрядных программируемых канала ввода – вывода;
. два 16-битовых таймера-счетчика;
. систему прерываний с пятью векторами двумя уровнями;
. последовательный интерфейс;
. тактовый генератор.
Система команд ОМЭВМ содержит 111 базовых команд с форматом 1, 2 или 3
байта и представляет большие возможности обработки данных, реализацию
логических, арифметических операций, а также обеспечивает управление в
режиме реального времени.
ОМЭВМ имеет:
. 32 восьмиразрядных регистра общего назначения;
. 128 определяемых пользователем программно-управляемых флагов;
. набор регистров специальных функций.
Регистры общего назначения и определяемые пользователем программно-
управляемые флаги расположены в адресном пространстве внутреннего ОЗУ
данных.
ОМЭВМ при функционировании обеспечивает:
. минимальное время выполнения команд сложения регистр-регистр – 1мкс,
регистр-память – 2 мкс;
. аппаратное умножение и деление с минимальным временем выполнения команд
умножения/деления – 4 мкс.
Расширенная система команд обеспечивает побайтовую и побитовую
адресацию, двоичную и двоично-десятичную арифметику, индикацию переполнения
и определения четности/нечетности, возможность реализации логического
процессора. Отличительной чертой ОМЭВМ является то, что ее арифметико-
логическое устройство (АЛУ) может наряду с выполнением операций над 8-
разрядными типами данных манипулировать одноразрядными данными. Остальные
программно-доступные биты могут быть установлены, сброшены или заменены их
дополнением, могут пересылаться, проверяться и использоваться в логических
вычислениях. Таким образом, благодаря наличию мощного АЛУ и битового
процессора набор инструкций ОМЭВМ замечательно подходит для данного
устройства сопряжения.
Микросхемы КР1830ВЕ51 конструктивно выполнены в 40-выводных
пластмассовых корпусах с двухрядным расположением штырьевых контактов.
Среди прочего, ОМЭВМ содержит следующие узлы:
. Логика ввода – вывода, предназначенная для приема и выдачи сигналов,
обеспечивающих обмен информацией ОМЭВМ с внешними устройствами через
порты ввода/вывода Р0 – Р3.
. Блок Т/С состоит из двух таймеров/счетчиков, предназначенных для подсчеты
внешних событий, получения программно управляемых временных задержек и
выполнения времязадающих функций ОМЭВМ.
. Блок последовательного интерфейса и прерываний предназначен для
организации ввода-вывода последовательных потоков информации и
организации системы прерывания программ.
. Порты Р0 – Р3 являются двунаправленными портами ввода/вывода и
предназначены для обеспечения информацией ОМЭВМ с внешними устройствами,
образуя 32 линии ввода/вывода. Каждый из портов содержит фиксатор-
защелку, который представляет собой восьмиразрядный регистр, имеющий
байтовую и битовую адресацию для установки (сброса) разрядов с помощью
программного обеспечения.
Фиксаторы портов Р0, Р1, Р2, Р3 имеют свои внутренние физические
адреса, как при байтовой адресации, так и при битовой адресации.
Помимо работы в качестве обычных портов ввода/вывода линии портов Р0 –
Р3 могут выполнять рад дополнительных функций, описанных ниже.
Через порт Р0:
. Выводится младший байт адреса А0 – А7 при работе с внешней памятью
программ и внешней памятью данных;
. Выдается из ОМЭВМ и принимается в ОМЭВМ байт данных при работе с внешней
памятью (при этом обмен байтом данных и вывод младшего байта адреса
внешней памяти мультиплексированы во времени);
Через порт Р2:
. Выводится старший байт адреса А8 – А15 при работе с внешней памятью
программ и внешней памятью данных (для внешней памяти данных – только при
использовании команд, которые вырабатывают 16-разрядный адрес)
Каждая линия порта Р3 имеет индивидуальную альтернативную функцию:
. P3.00 – RxD, вход последовательного порта, предназначен для ввода
последовательных данный в приемник последовательного порта;
. P3.1 – TxD, выход последовательного порта, предназначен для вывода
последовательных данных из передатчика последовательного порта;
. P3.2 – INT0 – используется как вход 0 внешнего запроса прерывания;
. P3.3 – INT1 - используется как вход 1 внешнего запроса прерывания;
. P3.4 – T0, используется, как вход счетчика внешних событий Т/С 0;
. P3.5 – T1, используется, как вход счетчика внешних событий Т/С 1;
. P3.6 – WR, строб записи во внешнюю память данных, входной сигнал,
сопровождающий вывод данных через порт Р0 при использовании
соответствующих команд;
. P3.7 – RD, строб чтения из внешней памяти данных, выходной сигнал,
сопровождающий ввод данных через порт Р0 при использовании
соответствующих команд.
Альтернативная функция любой из линий порта Р3 реализуется только в
том случае, если в соответствующем этой линии фиксаторе-защелки содержится
«1». В противном случае на линии порта 3 будет присутствовать «0».
Среди прочих особенностей данной ОМЭВМ особого внимания заслуживают
следующие.
Параллельные порты ввода/вывода.
Для связи ОМЭВМ с объектами управления, для ввода/вывода информации
используются 32 двунаправленные линии. Эти линии сгруппированы в 4 порта по
8 линий в каждом. Каждая линия может быть индивидуальна и независимо
запрограммирована на вход или выход. При использовании линии в качестве
входа необходимо соответствующий бит порта установить в «1». При установке
ОМЭВМ в исходное состояние все линии портов включены в исходное состояние.
Обращение к портам ввода/вывода осуществляется через регистры специальных
функций Р0 – Р3. Обращение производится с использованием команд,
оперирующих с байтами, битом или с комбинацией бит.
В случае использования внешней памяти программ или данных, порт 0
служит для ввода младшего байта адреса внешней памяти, а через Р2 – для
вывода старшего байта вывода внешней памяти, поэтому, когда мы используем
внешнюю память – эти порты заняты. Данные во внешнюю память передаются
через регистр Р0 (рис. 9).
Все выводы порта 3 могут быть использованы для реализации
альтернативных функций. Альтернативные функции могут быть задействованы
путем записи «1» в соответствующие разряды порта «Р3».
В состав ОМЭВМ входят 2 независимых таймера/счетчика Т0 и Т1,
предназначенных для измерения временных интервалов, длительности импульсов
регенерирования периодически повторяющихся прерываний. Каждому
таймеру/счетчику соответствует 16-разрядный таймерный регистр, состоящий из
двух байт (TH0, TL0; TH1, TL1)
Таймеры/счетчики работают в двух режимах (в качестве таймера и
счетчика).
При работе в качестве таймера, содержимое таймерного регистра
увеличивается на единицу в каждом машинном цикле.
Путем программной установки таймерного регистра в исходное состояние и
анализа флага переполнения могут быть реализованы различные временные
задержки в диапазоне 0000-FFFF. Временная задержка, превышающая это
значение (65535 мкс) может быть получена накоплением переполнений в рабочем
регистре под управлением программы.
При работе в режиме счетчика событий таймерный регистр увеличивается
на 1 каждый раз, когда сигнал на входе Т0 порта 3 переходит из «1» в «0».
Состояние внешнего входа Т0 или Т1 опрашивается каждую микросекунду
(машинный цикл). Для управления таймером/счетчиком используются 2 регистра
специальных функций: TCON – регистр управления и TMOD – регистр режимов.
Прерывания
МК51 имеет 5 аппаратных источников прерываний. Прерывание – сигнал,
который поступает в ОМЭВМ от одного из 5 источников прерываний и вызывает
переход из основной программы в подпрограмму обработки прерываний.
Появление сигнала – событие, неожиданное для основной программы.
Поэтому точно не известно, в каком месте выполнения программы это
произойдет. В ОМЭВМ используется векторная система прерываний. Это значит,
что для каждого источника прерываний в ПЗУ предусмотрен адрес (вектор)
начала подпрограммы обработки прерываний.
Каждый источник прерываний имеет свой адрес начала подпрограммы
обработки прерываний. Адреса находятся в ПЗУ.
Получив запрос прерывания от одного из пяти источников, система
обработки прерываний выполняет следующие действия:
1. Помещает в стек содержимое счетчика команд, чтобы запомнить команду
основной программы, на которую нужно вернуться после обработки
прерываний.
2. Загружает в счетчик команд адрес вектора, соответствующей подпрограммы
обработки прерываний и осуществляет переход по этому адресу. По адресу
вектора должна быть расположена команда безусловного перехода к
начальному адресу подпрограммы обработки прерываний.
3. Подпрограмма обслуживания прерывания обязательно завершается командой
выхода из подпрограммы, обслуживающей прерывания, по которой счетчик
команд перезагружается из стека адресом возврата в основную программу и
осуществляет аппаратный сброс запросов прерываний.
Последовательный порт ввода/вывода
В состав ОМЭВМ входит последовательный порт, представляющий собой
асинхронный приемопередатчик. Он осуществляет прием и передачу информации,
представленной последовательным кодом, младшими битами вперед. Для этого в
состав УАПП входят принимающие и передающие сдвиговые регистры,
преобразующие параллельный код в последовательный. Последовательный порт
является дуплексным, то есть одновременно осуществляет прием и передачу.
Передаваемые и принимаемые данные хранятся в регистре специальных функций
SBUF – буферный регистр. Физически регистр SBUF представляет собой 2
раздельных регистра. Один – для передаваемых данных, второй – для
принимаемых. При приеме обеспечивается хранение принятого байта до конца
приема следующего байта. Байт, не прочитанный из SBUF за время приема
следующего байта, теряется. Запись байта в буфер SBUF при передаче приводит
к автоматической перезаписи байта в сдвигающий регистр передатчика и
инициализирует передачу байта. Всего имеется 4 режима работы
последовательного порта:
. 00 – синхронный режим приема/передачи 8-битных данных. Частота передачи –
1/12 частоты процессора. Скорость фиксированная.
. 01 – 8-битный режим передачи с переменной скоростью. Скорость передачи
задается таймером Т1 (600 – 9600 бит/сек). Формат посылки: 1 старт + 8
бит информации + 1 стоп.
. 10 – 9-битный режим передачи информации с фиксированной скоростью.
Скорость передачи – частота резонатора деленная на 64 или на 32. 9-й бит
может использоваться для контроля по четности.
. 11 – 9-битный режим передачи информации с переменной скоростью, величина
которой задается таймером Т1.
Для сопряжения с интерфейсом RS232C, УАПП может работать в режимах 10
и 11, когда скорость определяется таймером Т1. Если устройство
разрабатывается на МК51, оно должно иметь выход на последовательный
интерфейс с RS232C. При этом перед разработчиком встают следующие проблемы:
1. Согласование уровней сигналов RS232C и МК51.
2. Поддержание стандартной скорости передачи.
3. Поддержание стандартных форматов посылок.
4. Поддержание стандартных протоколов обмена – набор символов для того,
чтобы обеспечить нормальный прием/передачу.
Задача преобразования последовательного кода выходного сигнала
частотомера в параллельный несколько усложняется тем, что необходим опрос
38 каналов. Данное обстоятельство приводит к необходимости применения
дополнительных микросхем, позволяющих решить эту задачу. Для этого
использовались микросхемы КР580ВВ55А.
Микросхема КР580ВВ55А предназначена для параллельной передачи
информации между микропроцессором и периферийными устройствами и содержит
три 8-разрядных канала ввода/вывода
А, В, С.
Канал С может быть представлен в виде двух 4-разрядных каналов
ввода/вывода, доступ к которым производится как к отдельным независимым
каналам. Периферийные устройства подключаются к каналам А, В, С, а связь с
микропроцессором осуществляется с помощью шины D через буфер данных.
Структурная схема КР580ВВ55А представлена на рис 10.
[pic]
Рисунок 10 Структурная схема микросхемы КР580ВВ55А
Каждый из каналов А, В, С состоит из 8-разрядного регистра и
двунаправленных формирователей, имеющих на выходе состояние «Выключено»,
Устройство управления содержит регистр управляющего слова (РУС), в который
предварительно производится запись информации, определяющей режим работы
каналов, и формирует сигналы выбора канала и управления каналом С.
Микросхема может работать в одном из трех режимов: режим 0 - простой
ввод/вывод; режим 1 - стробируемый ввод/вывод; режим 2 -двунаправленный
канал. Режим работы каналов можно. изменять как в начале, так и в процессе
выполнения программы, что позволяет обслуживать различные периферийные
устройства в определенном порядке с помощью одной микросхемы КР580ВВ55А.
Каналы А и В могут работать в различных режимах, а работа канала С зависит
от режимов работы каналов А и В, Комбинируя режимы работы каналов, можно
обеспечить работу микросхемы почти с любым периферийным устройством.
В режиме 0 осуществляется простой ввод/вывод данных по трем 8-
разрядным каналам, причем канал С может использоваться как два 4-разрядных
канала. Каждый из каналов может использоваться отдельно для ввода или
вывода информации, В режиме 0 входная информация не запоминается, а
выходная хранится в выходных регистрах до записи новой информации в канал
или до записи нового режима.
В режиме 1 передача данных осуществляется только через каналы А и В, а
линии канала С служат для приема и выдачи сигналов управления. Каждый из
каналов А и В независимо друг от друга может использоваться для ввода или
вывода 8-разрядных данных, причем входные и выходные данные фиксируются в
регистрах каналов,
В режиме 2 для канала А обеспечивается возможность обмена информацией
с периферийными устройствами по 8-разрядному двунаправленному каналу. Для
организации обмена используются пять линий
|