ОМЭВМ имеет встроенный генератор тактовых импульсов, к которому необходимо присоединять кварцевый резонатор с частотой 1 -12 МГц, LC-цепочку или внешний генератор

На рис. 5 показано формирование машинных циклов ОМЭВМ. Все машинные циклы одинаковы и состоят из 12 периодов сигнала ALE. Практически все команды выполняются за один или два машинных цикла, кроме команд умножения MUL A,B и деления DIV A,B, продолжительность выполнения которых составляет 4 машинных цикла.

Рис. 5. Синхронизация ОМЭВМ

4. Блок таймеров/счетчиков

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

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

· восьмиразрядный регистр режимов Т/С (TMOD);

· восьмиразрядный регистр управления (TCON);

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

· схема фиксации INT 0, INT 1, T0, T1;

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

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

Режим работы каждого Т/С определяется значением битов М0, М1 в регистре TMOD. Т/С 0 и Т/С 1 имеют 4 режима работы:

· режим 0 (М0=0, М1=0) – Т/С представляет собой устройство на основе 13-разрядного регистра, функцию делителя на 32 выполняют регистры TL0, TL1;

· режим 1 (М0=0, М1=1) – аналогичен режиму 0 отличие в том, что данный режим превращает Т/С в устройство на основе 16-разрядного регистра;

· режим 2 (М0=1, М1=0) – Т/С представляет собой устройство на основе 8-разрядного регистра;

· режим 3 (М0=1, М1=1) – Т/С 1 в режиме 3 заблокирован и просто сохраняет свой счет (значение кода в регистре Т/С). Т/С 0 представляет собой 2 независимых устройства на основе 8-разрядных регистров TL0, TH0. Устройство на основе TL0 может работать только в режиме таймера.

Во всех режимах, кроме режима 2, после переполнения Т/С счет продолжается с величины 00H, если Т/С не выключить с помощью битов TR0, TR1 или входов INT0, INT1.

Оба счетчика могут работать в двух режимах:

· внутренний таймер, когда на вход счетчика подается сигнал с внутреннего тактового генератора (частота сигнала Fкв/12);

· счетчик событий, когда на вход счетчика подается внешний сигнал с вывода T0 (для Т/С0), T1 (для Т/С1).

Переключение режимов производится установкой битов C/T0, C/T1 в управляющем регистре TMOD.

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

Таблица 2.

Регистр TMOD = 89H

Gate1 C/T1 M11 M01 Gate0 C/T0 M10 M00
Бит Наименование Назначение бита Доступ к биту
0,1 М00, М10 Биты режима для таймера 0. Програм-мно
C/T0 C/T0 = 0 – режим таймера, = 1 – режим счетчика событий (сигнал со входа Т0; для таймера 0). Програм-мно
Gate0 Gate0 = 1 – запуск таймера 0, если на входе INT0 =1 и флаг TR0=1 в регистре TCON. Gate0 = 0 – запуск таймера 0, если флаг TR0=1 в регистре TCON. Програм-мно
4,5 М01, М11 Биты режима для таймера 1. Програм-мно
C/T1 C/T1 = 0 – режим таймера, = 1 – режим счетчика событий (сигнал со входа Т1; для таймера 1) Програм-мно
Gate1 Gate1 = 1 – запуск таймера 1, если на входе INT1 =1 и флаг TR1=1 в регистре TCON. Gate1 = 0 – запуск таймера 1, если флаг TR1=1 в регистре TCON. Програм-мно

Регистр TCON = 88H

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Бит Наименование Назначение бита Доступ к биту
IT0 Бит управления типом прерывания 0. Если IT0 = 1 – запуск прерывания по фронту, IT0 = 0 - запуск прерывания по низкому уровню. Програм-мно
IE0 Флаг прерывания 0. Устанавливается аппаратно при обнаружении прерывания 0, сбрасывается при обслуживании прерывания. Аппаратно
IT0 Бит управления типом прерывания 1. Если IT1 = 1 – запуск прерывания по фронту, IT1 = 0 - запуск прерывания по низкому уровню. Програм-мно
IE1 Флаг прерывания 1. Устанавливается аппаратно при обнаружении прерывания 1, сбрасывается при обслуживании прерывания. Аппаратно
TR0 Флаг управления запуском таймера 0. При программной установке – происходит запуск таймера, при программном сбросе – останов. Програм-мно
TF0 Флаг переполнения таймера 0. Устанавливается аппаратно при переполнении таймера, сбрасывается при переходе к подпрограмме обслуживания таймера 0. Аппарат-но
TR1 Флаг управления запуском таймера 1. При программной установке – происходит запуск таймера, при программном сбросе – останов. Програм-мно
TF1 Флаг переполнения таймера 1. Устанавливается аппаратно при переполнении таймера, сбрасывается при переходе к подпрограмме обслуживания таймера 1. Аппарат-но