|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Схемотехника порта Р1 для одного разрядаРежим вывода: Р1.х повторяет состояние триггера. Режим ввода: требуется, чтобы транзистор был закрыт, следовательно, триггер должен быть в "1". Перед началом ввода необходимо выполнить настройку: mov P1,#0ffh Обращение к портам ввода/вывода возможно с использованием команд, оперирующих с байтом, отдельным битом и произвольной комбинацией бит. При этом в тех случаях, когда порт является одновременно операндом и местом назначения результата, устройство управления автоматически реализует специальный режим, который называется "чтение-модификация-запись". Этот режим обращения предполагает ввод сигналов не с внешних выводов порта, а из его регистра-защелки, что позволяет исключить неправильное считывание ранее выведенной информации. Подобный механизм обращения к портам реализован в следующих командах: ANL - логическое И; ORL - логическое ИЛИ; XRL - исключающее ИЛИ, например XRL РЗ, А; JBC - переход, если в адресуемом бите единица, и последующий сброс бита; CPL - инверсия бита; INC - инкремент порта; DEC - декремент порта; DJNZ - декремент порта и переход, если его содержимое не равно нулю; MOV PX.Y, C - передача бита переноса в бит Y порта X; SET PX.Y - установка бита Y порта X; CLR PX.Y - сброс бита Y порта X. Причиной, по которой команды "чтение-модификация-запись" обеспечивают раздельный доступ к регистру-защелке порта и к внешним выводам порта, является необходимость исключить возможность неправильного прочтения уровней сигналов на внешних выводах. Предположим для примера, что линия Y порта Х соединяется с базой мощного транзистора и выходной сигнал на ней предназначен для его управления. Когда в данный бит записана 1, то транзистор включается. Если для проверки состояния исполнительного механизма (в нашем случае - мощного транзистора) прикладной программе требуется прочитать состояние выходного сигнала в том же бите порта, то считывание сигнала с внешнего вывода порта, а не из D-триггера регистра-защелки порта приведет к неправильному результату: единичный сигнал на базе транзистора имеет относительно низкий уровень и будет интерпретирован в МК как сигнал 0. Команды "чтение-модификация-запись" реализуют считывание из регистра-защелки, а не с внешнего вывода порта, что обеспечивает получение правильного значения 1. Действия над портом: 1. Установка или сброс битов порта. 2. Установка или сброс группы разрядов порта (с помощью команд ANL, XRL, ORL). 3. Тестирование входов порта: а) ожидание прихода лог. "0": wait: JB P1.2, wait б) ожидание прихода лог. "1": wait: JNB P1.2, wait в) ожидание прихода импульса: wait: JNB P1.2, wait; wait: JB P1.2, wait. Для короткого импульса: CLR P1,0; SETB P1,0; wait: JNB P1.2, wait г) ожидание поступления входного двоичного набора: mov A,#135 - код сравнения; wait: CJNE A,P1,wait. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |