Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект лекций.doc
Скачиваний:
79
Добавлен:
21.05.2017
Размер:
3.74 Mб
Скачать

1.1.9. Порты мк51

Четыре двунаправленных порта Р0...Р3 предназначены для обмена информацией MK51 с внешними устройствами. Каждый из портов содержит 8-разрядный регистр-защелку, имеющий байтовую и битовую адресацию для установки (сброса) разрядов программным способом.

Физические адреса регистров портов Р0...Р3 приведены в табл. 1.13.

Таблица 1.13

Номер порта

Байтовая адресация

Битовая адресация

Р0

80H

80H…87H

Р1

90H

90H…97H

Р2

0A0H

0A0H…0A7H

Р3

0B0H

0B0H…0B7H

Помимо работы в качестве обычных портов ввода/вывода линии портов Р0…Р3 могут выполнять ряд дополнительных функций, описанных ниже.

Через порт Р0:

  1. Выводится младший байт адреса А0...А7 при работе с ВПД и ВПП;

  2. Выдается из МК51 и принимается в МК51 байт данных при работе с внешними памятью программ и данных, причем обмен данными и выдача адреса мультиплексированы во времени;

  3. Задаются данные при программировании внутреннего ПЗУ и читается содержимое RPM.

Через порт Р1задается младший байт адреса при программировании внутреннего ПЗУ и при чтении RPM.

Через порт Р2:

  1. Выводится старший байт адреса А8...А15 при работе с ВПД и ВПП;

  2. Задается старший байт (разряды А8...А14) адреса при программировании внутреннего ПЗУ и при чтении RPM.

Альтернативные функции линий порта Р3 приведены в табл. 1.14

Таблица 1.14

Номер линии

Имя линии

Альтернативная функция

Р3.0

RxD

вход УАПП

Р3.1

TxD

выход УАПП

Р3.2

нулевой вход внешнего запроса прерывания

Р3.3

первый вход внешнего запроса прерывания

Р3.4

T0

вход счетчика внешних событий Т/С0

Р3.5

T1

вход счетчика внешних событий Т/С1

Р3.6

WR

строб записи в ВПД, сопровождающий вывод данных из порта Р0 при использовании команд MOVX@Ri, А или MOVX@DPTR, A

Р3.7

RD

строб чтения из ВПД, сопровождающий ввод данных через порт Р0 при использовании команды MOVXA@Ri и MOVXA@DPTR

Альтернативная функция любой линии порта Р3 реализуется только в том случае, если в соответствующем этой линии разряде регистра-защелки записана 1.

1.1.10. Начальная установка и режимы работы мк51

Сброс микросхемы осуществляется сигналом RST (активный высокий уровень напряжения) при условии подачи на МП внешнего тактового сигнала или при подключенном кварце. Для гарантированного сброса высокий уровень на входе RST должен удерживаться не менее 2 машинных циклов.

На рис. 1.12 показана цепь для автоматического сброса при включении

Рис. 1.12. Цепь сброса МК51

питания. После подачи активного сигнала на вход RST МП продолжает работать еще в течение машинного цикла, после чего сигналы ALE и PME устанавливаются в "1" и находятся в этом состоянии все время, пока действует сигнал RST. После подачи на вход RST лог. "0" проходит от 1 до 2 машинных циклов до начала формирования этих сигналов.

Активный уровень на входе RST "запускает" внутренний алгоритм сброса МК51, согласно которому выполняются следующие действия:

  1. Счетчик команд РС, регистры специальных функций, кроме регистров-защелок портов Р0-Р3, указателя стека SP и регистра SBUF, сбрасываются в нуль.

  2. В указатель стека записывается адрес 07Н.

  3. Запрещается работа Т/С, УАПП и всех источников прерываний.

  4. Выбирается Банк 0 ОЗУ, порты Р0-Р3 подготавливаются для приема данных, а выводы ALE и PME определяются как входы для внешней синхронизации.

  5. В регистры специальных функций PCON, IP и IE в функциональные биты записывается ноль, а неопределенные биты устанавливаются случайным образом.

  6. В регистры-защелки портов Р0-Р3 записывается "1".

Сигнал сброса не влияет на содержимое внутреннего ОЗУ. После включения питания содержимое ЯП устанавливается случайным образом.

Режим холостого хода. В этом режиме блокируются узлы CPU. Состояние регистров не изменяются. Для выхода из режима холостого хода используется два способа. В первом случае, активация любого разрешенного прерывания, приведет к сбросу PCON.0 в «0», выключая режим холостого хода. После выполнения команды RETI (выход из подпрограммы обслуживающей прерывание) будет использована команда, которая следует за командой, переводящей МК51 в режим холостого хода.

При втором способе используется аппаратный сброс по входу RST, длительностью не менее двух машинных циклов.

Биты GF0 и GF1 удобно использовать для индикации режима, в котором была вызвана программа обработки прерываний.

Режим микропотребления.Команда, устанавливающая PCON.1 в «1» (PD), является последней перед переходом в режим микропотребления. В этом режиме задающий генератор останавливается, прекращая работу всех узлов. Сохраняется только содержимое ОЗУ. В этом режиме можно установить Ucc=2 В. Для выхода из режима микропотребления необходимо активизировать системный сброс, который должен длиться не менее 10 мс.