Размещенные в области специальных регистров четыре 8-разрядных псевдодвунаправленных порта ввода-вывода совмещены с битовым пространством, что обеспечивает доступ к отдельным их разрядам независимо друг от друга.
Последовательный интерфейс
В составе МК1 введен дуплексный периферийный связной адаптер, который может быть запрограммирован для работы в одном из четырех основных режимов:
0 синхронный последовательный ВВ со скоростью OSC/12;
1 асинхронный с 10-битовым кадром и переменной скоростью передачи;
2 асинхронный с 11-битовым кадром и фиксированной скоростью передачи
OSC/32 или OSC/64;
3 асинхронный с 11-битовым кадром и переменной скоростью передачи.
Через универсальный асинхронный приемопередатчик (УАПП) осуществляется прием, передача информации, представленной последовательным кодом, в полном дуплексном режиме обмена. В состав УАПП входят принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приемопередатчика. Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр и инициирует начало передачи байта. Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного байта. Если к моменту окончания приема байта предыдущий байт не был считан из SBUF, то он будет потерян.
Управление режимом работы УАПП осуществляется через специальный регистр с символическим именем SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и TB8) и биты прерывания приемопередатчика (RI и TI).
Таймер/счетчик
Два программируемых 16-битных таймера/счетчика (Т/С0 и Т/С1) могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое Т/С инкрементируется в каждом машинном цикле. При работе в качестве счетчика содержимое Т/С инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (Т0, Т1) вывод МК51. Так как на распознавание перехода требуется два машинных цикла, то максимальная частота подсчета входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входного считаемого сигнала он должен удерживать значение 1 как минимум в течение одного машинного цикла.
Регистр режима работы таймера/счетчика (TMOD)
Символ | Позиция | Имя и значение |
GATE | TMOD.7 для T/C1TMOD.3 для T/C0 | Управление блокировкой. |
C/T | TMOD.6 для T/C1TMOD.2 для T/C0 | Бит выбора режима таймера или счетчика событий. |
M1 | TMOD.5 для T/C1TMOD.1 для T/C0 | Биты выбора режима работы |
M0 | TMOD.4 для T/C1TMOD.0 для T/C0 |
Структурная схема работы T/C0 (T/C1)
Система прерываний
Внешние прерывания INT0 и INT1 могут быть вызваны либо уровнем, либо перепадом сигнала из 1 в 0 на входах МК51 в зависимости от значений управляющих бит IT0 и IT1 в регистре TCON.
Прерывания могут быть вызваны или отменены программой, так как все рассмотренные выше флаги прерываний программно-доступны и могут быть установлены/сброшены программой с тем же результатом, как если бы они были установлены/сброшены аппаратурными средствами.
В блоке регистров специальных функций есть два регистра, предназначенных для управления режимом прерываний и уровнями приоритета. Их символические имена IE и IP соответственно.