Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Порты ввода/вывода информации

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

Выходные драйверы портов 0 и 2, а также входной буфер порта О используются при обращении к внешней памяти (ВП). При этом через порт 0 в режиме временного мультиплексирования сначала выводится младший байт адреса ВП, а затем выдается или принимается байт дан­ных. Через порт 2 выводится старший байт адреса в тех случаях, когда разрядность адреса равна 16 бит,

Все выводы порта 3 могут быть использованы для реализации аль­тернативных функций, перечисленных в табл. 3.3. Альтернативные функ­ции могут быть задействованы путем записи 1 в соответствующие биты регистра-защелки (РЗ.О—Р3.7) порта 3.

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

По сигналу СБР в регистры-защелки всех портов автоматически за­писываются единицы, настраивающие их тем самым на режим ввода.

Все порты могут быть использованы для организации ввода/вывода информации по двунаправленным линиям передачи. Однако порты О и 2 не могут быть использованы для этой цели в случае, если МК-система имеет внешнюю память, связь с которой организуется через общую раз­деляемую шину адреса/данных, работающую в режиме временного мультиплексирования.

Запись в порт. При выполнении команды, которая изменяет содержи­мое регистра-защелки порта, новое значение фиксируется в регистре в момент S6P2 последнего цикла команды. Однако опрос- содержимого регистра-защелки выходной схемой осуществляется во время фазы Р1 и, следовательно, новое содержимое регистра-защелки появляется на выходных контактах порта только в момент S1P1 следующего машин­ного цикла.

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

Нагрузочная способность портов. Выходные линии портов 1, 2 и 3 могут работать на одну ТТЛ-схему. Линии порта 0 могут быть нагруже­ны на два входа ТТЛ-схем каждая. Линии порта 0 могут работать и на «-МОП-схемы, однако при этом их необходимо подключать на источник электропитания через внешние нагрузочные резисторы за исключением случая, когда шина порта 0 используется в качестве шины адреса/данных внешней памяти.

Входные сигналы для МК51 могут формироваться ТТЛ-схемами или я-МОП-схемами. Допустимо использование в качестве источников сигна­лов для МК51 схем с открытым коллектором или открытым стоком. Однако при этом время изменения входного сигнала при переходе из О в 1 окажется сильно затянутым.

Особенности работы портов. Обращение к портам ввода/вывода воз­можно с использованием команд, оперирующих с байтом, отдельным битом и произвольной комбинацией бит. При этом в тех случаях, когда порт является одновременно операндом и местом назначения результа­та, устройство управления автоматически реализует специальный режим, который называется "чтение-модификация-запись". Этот режим обраще­ния предполагает ввод сигналов не с внешних выводов порта, а из его регистра-защелки, что позволяет исключить неправильное считывание ранее выведенной информации.

Подобный механизм обращения к портам реализован в следующих командах:

ANL — логическое И, например ANL Р1,А;

ORL - логическое ИЛИ, например ORL Р2,А;

XRL — исключающее ИЛИ, например XRL РЗ,А;

JBC — переход, если в адресуемом бите единица, и последующий сброс бита, например JBC P1.1, LABEL;

CPL — инверсия бита, например CPL РЗ.З;

INC — инкремент порта, например INC P2;

DEC - декремент порта, например DEC P2;

DJNZ — декремент порта и переход, если его содержимое не равно нулю, например DJNZ P3, LABEL;

MOV PX.Y, С - передача бита переноса в бит Y порта X;

SET PX.Y — установка бита Y порта X;

CLR PX.Y - сброс бита Y порта X.

Совсем не очевидно, что последние три команды в приведен,спис­ке являются командами "чтение-модификация-запись". Однако это именно так. По этим командам сначала считывается байт из порта, а затем записывается новый байт в регистр-защелку.

Причиной, по которой команды "чтение-модификация-запись" обеспе­чивают раздельный доступ к регистру-защелке порта и к внешним вы­водам порта, является необходимость исключить возможность непра­вильного прочтения уровней сигналов на внешних выводах. Предполо­жим для примера, что линия Y порта X соединяется с базой мощного

Рис 3.5. Временные диаграммы операций ввода/вывода

транзистора и выходной сигнал на ней предназначен для его управления. Когда в данный бит записана 1, то транзистор включается. Если для проверки состояния исполнительного механизма (в нашем случае — мощного транзистора) прикладной программе требуется прочитать со­стояние выходного сигнала в том же бите порта, то считывание сигнала с внешнего вывода порта, а не из D-триггера регистра-защелки порта приведет к неправильному результату: единичный сигнал на базе тран­зистора имеет относительно низкий уровень и будет интерпретирован в МК как сигнал 0. Команды "чтение-модификация-запись" реализуют считывание из регистра-защелки, а не с внешнего вывода порта, что обеспечивает получение правильного значения 1.

На рис.3.5 приведены временные диаграммы, иллюстрирующие про­цесс выполнения операций ввода/вывода информации через порты МК51.

 

 

<== предыдущая лекция | следующая лекция ==>
Спряження мікроконтролерів з зовнішніми пристроями введення/виведення з використанням паралельних портів | Обоеполое размножение
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 589; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.