Сопряжение частотомера с ЭВМ
В состав ОМЭВМ входят 2 независимых таймера/счетчика Т0 и Т1, предназначенных для измерения временных интервалов, длительности импульсов регенерирования периодически повторяющихся прерываний. Каждому таймеру/счетчику соответствует 16-разрядный таймерный регистр, состоящий из двух байт (TH0, TL0; TH1, TL1)
Таймеры/счетчики работают в двух режимах (в качестве таймера и счетчика).
При работе в качестве таймера, содержимое таймерного регистра увеличивается на единицу в каждом машинном цикле.
Путем программной установки таймерного регистра в исходное состояние и анализа флага переполнения могут быть реализованы различные временные задержки в диапазоне 0000-FFFF. Временная задержка, превышающая это значение (65535 мкс) может быть получена накоплением переполнений в рабочем регистре под управлением программы.
При работе в режиме счетчика событий таймерный регистр увеличивается на 1 каждый раз, когда сигнал на входе Т0 порта 3 переходит из «1» в «0».
Состояние внешнего входа Т0 или Т1 опрашивается каждую микросекунду (машинный цикл). Для управления таймером/счетчиком используются 2 регистра специальных функций: TCON – регистр управления и TMOD – регистр режимов.
Прерывания
МК51 имеет 5 аппаратных источников прерываний. Прерывание – сигнал, который поступает в ОМЭВМ от одного из 5 источников прерываний и вызывает переход из основной программы в подпрограмму обработки прерываний.
Появление сигнала – событие, неожиданное для основной программы. Поэтому точно не известно, в каком месте выполнения программы это произойдет. В ОМЭВМ используется векторная система прерываний. Это значит, что для каждого источника прерываний в ПЗУ предусмотрен адрес (вектор) начала подпрограммы обработки прерываний.
Каждый источник прерываний имеет свой адрес начала подпрограммы обработки прерываний. Адреса находятся в ПЗУ.
Получив запрос прерывания от одного из пяти источников, система обработки прерываний выполняет следующие действия:
Помещает в стек содержимое счетчика команд, чтобы запомнить команду основной программы, на которую нужно вернуться после обработки прерываний.
Загружает в счетчик команд адрес вектора, соответствующей подпрограммы обработки прерываний и осуществляет переход по этому адресу. По адресу вектора должна быть расположена команда безусловного перехода к начальному адресу подпрограммы обработки прерываний.
Подпрограмма обслуживания прерывания обязательно завершается командой выхода из подпрограммы, обслуживающей прерывания, по которой счетчик команд перезагружается из стека адресом возврата в основную программу и осуществляет аппаратный сброс запросов прерываний.
Последовательный порт ввода/вывода
В состав ОМЭВМ входит последовательный порт, представляющий собой асинхронный приемопередатчик. Он осуществляет прием и передачу информации, представленной последовательным кодом, младшими битами вперед. Для этого в состав УАПП входят принимающие и передающие сдвиговые регистры, преобразующие параллельный код в последовательный. Последовательный порт является дуплексным, то есть одновременно осуществляет прием и передачу. Передаваемые и принимаемые данные хранятся в регистре специальных функций SBUF – буферный регистр. Физически регистр SBUF представляет собой 2 раздельных регистра. Один – для передаваемых данных, второй – для принимаемых. При приеме обеспечивается хранение принятого байта до конца приема следующего байта. Байт, не прочитанный из SBUF за время приема следующего байта, теряется. Запись байта в буфер SBUF при передаче приводит к автоматической перезаписи байта в сдвигающий регистр передатчика и инициализирует передачу байта. Всего имеется 4 режима работы последовательного порта:
Дополнительно
Репрезентативная теория измерений и её применения
Репрезентативная теория
измерений (РТИ) согласно принятой в обзоре [1] классификации научных
направлений является одной из составных частей статистики объектов нечисловой
природы. Основные понятия этой теории и некоторые ее применения рассматривались
в обзорах [1,2], в которых приведено так ...
Использование роботов на промышленных предприятиях
Рассмотрим
конкретные задачи , которые роботы решают в настоящее время на промышленных предприятиях.
Их можно разделить на три основных категории :
-
манипуляции заготовками и изделиями
-
обработка с помощью ...