Порты ввода/вывода. Система управления МКЭВМ. Автономное использование МК-48. БИС расширителя ввода/вывода, страница 11

1.           Косвенная регистровая адресация

@Ri       i=0,1

2.           Прямая адресация – адрес прямо указан в команде

1)  MOV R0,#25H

MOV @R0,#50H

2)           MOV 25H,#50H

Обращаться к РСФ можно только с помощью прямой адресации.

Имеется возможность расширения внутр.ПД путем подключения внешней МС. При этом обмен данными осуществляется с помощью команд.

Предел 0…255 байт

MOVX @Ri,A

MOVX A,@Ri  i=0,1

Предел 0…64K

MOVX @DPTR,A

MOVX A,@DPTR – 16-разр. è сразу может быть помещен адрес ячейки памяти

Структура памяти команд.

Внутр. ПК (если есть) равна 4К.

Для адресации к ячейкам ПК используется РС (16 разр.)

Имеется возможность обращаться к 216=64К

Адрес ПК

Наименование

(на ассемблере)

Назначение

0000

RESET

Стартовый адрес при начальной установке

0003

EXIT0

Вектор внешнего прерывания с вектором 0

000И

TIMER0

Вектор внешнего прерывания от T/C0

0013

EXIT1

Вектор внешнего прерывания с номером 1

001И

TIMER1

Вектор внешнего прерывания от T/C1

0023

SINT

Вектор прерывания от последовательного порта

Порты ввода/вывода.

Р1, Р2, Р3 – квазидвунаправленные (также, как и у семейства МК48)

МК 48

МК 51

IN A,P1

MOV A,90H или

MOV A,P1

OUTL P1,A

MOV 90H,A или

MOV P1,A

Р3 – может выполнять альтернативные функции.

Р0 – двунаправленный с 3-мя состояниями (аналогичен BUS у МК48)

Нагрузочная способность портов:

Р1, Р2, Р3 – каждая линия не более 1-й стандартной ТТЛ-нагрузки

Р0 – в два раза больше (2 ТТЛ-нагрузки)

МК 48

МК 51

ORL P1,#00000001B

P1,0ß1

SETB 90H,0 или

SETB P1.0

ANL P1,#01111111B

P1.7ß0

CLR 90H.7 или

CLR P1.7

Таймеры-счетчики МК-51

Имеется 2 16-разрядных регистра, которые могут работать в режимах:

1.  Режим таймера: на вход подаются импульсы внутренней тактовой частоты fCLK (подсчет интервалов времени)

2.  Режим счета внешних импульсов (Т0,Т1 - альтернативное наименование выводов порта)

Т/С0 – Т0

Т/С1 – Т1

Управление регистрами таймера-счетчика при помощи регистров:

TMOD

TCON

7

6

5

4

3

2

1

0

TMOD

GATE

M1

M0

GATE

M1

M0

Т/С1

Т/С0

GATE – бит управления внешней блокировкой таймера-счетчика

GATE=1 => разрешается входу  блокировать счет

 - установка работы

=1 – режим счетчика

=0 – режим таймера

М1, М0 – определяют режим работы таймера-счетчика

0

0

Режим 0

0

1

Режим 1

1

0

Режим 2

1

1

Режим 3

7

6

5

4

3

2

1

0

TСON

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT1

Управление Т/С1, Т/С0

Управление прерываниями Т/С1, Т/С0

TF1, TF0 – флаги переполнения;

TR1, TR0 – биты управления счетом; если 1 – то счет разрешен (запуск), 0 – счет запрещен (остановка)

IE1, IE0 – флаги внешнего прерывания: флаг=1 при переходе уровня из 1 в 0 на входах ,  флаг сбрасывается в 0 при выходе из подпрограммы обслуживания прерывания.

IT1, IT0 – флаг управления видом прерывания; если 1 – то прерывание по перепаду ; если 0 – то прерывание происходит по низкому уровню.

Режим 0