Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
01.05.2014
Размер:
35.33 Кб
Скачать

Организация подсистемы ввода/вывода в МК51

Параллельные порты P0-P3 предназначены для побайтного ввода или вывода информации. Каждый порт содержит управляемые регистр-защелку, входной буфер и выходной драйвер. Порт 0 является двунаправленным, а порты 1, 2 и 3 – квазидвунаправленными.

Каждая линия портов может быть использована независимо для ввода или вывода информации. Чтобы некоторая линия порта использовалась для ввода, в D-триггер регистра-защелки порта должна быть записана 1, которая закрывает МОП-транзистор выходной цепи. По сигналу сброса в регистры-защелки всех портов записываются единицы, настраивающие их тем самым на режим ввода.

Порты P0 и P2 используются при обращении к внешней памяти. При этом через P0 в режиме временного мультиплексирования сначала выводится младший байт адреса, а затем выдается или принимается байт данных. Через порт P2 выводится старший байт адреса в тех случаях, когда разрядность адреса равна 16 бит.

Линия порта P0 может быть нагружена на два ТТЛ-входа, а выходные линии портов P1-P3 могут работать на одну ТТЛ-схему.

Схемотехника портов ввода/вывода МК51 для одного бита показана на рис. 3.4 (порты 1 и 2 имеют примерно такую же структуру, как и порт 3). Каждый порт содержит управляемые регистр-защелку, входной буфер и выходной драйвер.

Рис. 3.4. Схемотехника портов ввода/вывода МК51: а - порт 0; б - порт 3

Последовательный порт, который также называют универсальным асинхронным приемопередатчиком (УАПП), предназначен для приема и передачи информации в последовательной форме (младшими битами вперед). Порт обеспечивает полный дуплексный режим обмена, то есть позволяет работать одновременно на выдачу и на прием информации.

В состав УАПП входят принимающий и передающий сдвигающие регистры, а также буферный регистр SBUF приемопередатчика, через который программно доступны как принимающий, так и передающий регистры. Запись байта в регистр SBUF приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Порт позволяет начинать прием нового байта до того, как из приемного регистра считан предыдущий байт, однако, если первый байт еще не считан к тому моменту, когда закончится прием второго байта, то он будет потерян.

УАПП может работать в четырех различных режимах:

Режим 0. Последовательная информация передается и принимается 8-битными посылками через вывод RXD входа приемника. Через вывод TXD выхода передатчика выдаются тактовые импульсы, сопровождающие каждый бит. Таким образом в данном режиме информация записывается/считывается синхронно с тактовыми импульсами. Скорость обмена фиксирована и составляет 1/12 частоты тактового генератора.

Режим 1. В этом режиме посылка содержит 10 бит, которые передаются (через TXD) либо принимаются (через RXD) в следующей последовательности:

старт-бит (логический "0");

8 бит данных (младший бит первым);

стоп-бит (логическая "1").

При приеме стоп-бит заносится в разряд RB8 регистра SCON. Скорость обмена задается пользователем, для чего используется таймер/счетчик 1.

Режим 2. В этом режиме каждая посылка содержит 11 бит, которые передаются (через TXD) и/или принимаются (через RXD) в следующей последовательности:

старт-бит (логический "0");

8 бит данных (младший бит первым);

программируемый 9-й бит данных;

стоп-бит (логическая "1").

При передаче 9-й бит данных (размещается в разряде ТВ8 регистра SCON) может принимать фиксированное значение 0 или 1, либо формироваться программно, например, для контроля передаваемого байта по четности (в этом случае в него может быть помещено значение флага паритета из регистра PSW).

При приеме 9-й бит данных поступает в разряд RB8 регистра SCON. Скорость обмена в режиме 2 составляет 1/64 или 1/32 частоты внешнего тактового генератора и зависит от состояния бита SMOD (старший бит в регистре специального назначения PCON). Если SMOD=0 (устанавливается по сбросу МК), то скорость обмена составляет 1/64 частоты внешнего тактового генератора. Если SMOD=1, То скорость обмена составляет 1/32 частоты тактового генератора.

Режим 3. Данный режим совпадает с режимом 2, за исключением частоты приема/передачи, которая управляется программно с помощью таймера/счетчика 1.

Для задания режима работы последовательного порта используются регистры SCON и PCON.

Соседние файлы в папке MPS_shprots