F60-67 (1041605), страница 38
Текст из файла (страница 38)
Исключением являются только выводы модуля SMBus (SDA, SCL),вывод приемника УАПП0 (RX0, в режиме 0) и вывод приемника УАПП1 (RX1, в режиме 0), которые всегданастроены как выходы с открытым стоком независимо от настроек соответствующих бит регистров PnMDOUT.Ред. 1.2206C8051F060/1/2/3/4/5/6/718.1.3. Настройка выводов портов как цифровых входовВывод порта настраивается как цифровой вход переводом его выходного драйвера в режим выхода соткрытым стоком и записью лог.
‘1’ в соответствующий бит регистра данных порта. Например, Р3.7настраивается как цифровой вход сбросом в 0 бита P3MDOUT.7 и установкой в 1 бита Р3.7.Если вывод порта назначен посредством матрицы цифровому периферийному модулю и этот выводфункционирует как вход (например, RX0, вывод приемника УАПП0), то выходной драйвер этого выводаавтоматически отключается.18.1.4. Слаботоковые подтяжкиКаждый вывод порта имеет внутреннюю слаботоковую подтяжку, которая по умолчанию включена.Она обеспечивает соединение данного вывода с шиной питания VDD через резистор с высокимсопротивлением (около 100кОм).
Слаботоковые подтяжки можно глобально отключить, установив в 1 битотключения слаботоковых подтяжек WEAKPUD (XBR2.7). Слаботоковые подтяжки автоматическиотключаются у любого вывода, на который выдается лог. ‘0’, т.е. выход вывода не будет конфликтовать ссобственной слаботоковой подтяжкой. Кроме этого, слаботоковые подтяжки выводов Порта 1 можноотключить, настроив эти выводы как аналоговые входы (см. описание ниже).18.1.5. Настройка выводов Портов 1 и 2 как аналоговых входов.Выводы Порта 1 могут функционировать в качестве аналоговых входов мультиплексора АЦП2 (толькоC8051F060/1/2/3), а выводы Порта 2 могут служить аналоговыми входами компараторов напряжения (все МКсемейства C8051F06x).
Вывод порта настраивается как аналоговый вход сбросом в 0 соответствующего бита врегистрах PnMDIN. По умолчанию все порты настраиваются как цифровые входы. Настройка вывода порта каканалогового входа:1. Разрывает цепь тока цифрового входа от этого вывода. Это исключает увеличение тока потребленияпри напряжении на этом выводе, близком к значению VDD/2. Чтение бита данных порта возвратитлог. ‘0’ независимо от напряжения на выводе порта.2. Отключает слаботоковую подтяжку от этого вывода.3. Заставляет матрицу «пропускать» этот вывод при назначении выводов цифровым периферийныммодулям.Следует иметь ввиду, что выходные драйверы выводов, настроенных как аналоговые входы, неотключаются явным образом.
Поэтому биты регистров PnMDOUT, соответствующие выводам, настроеннымкак аналоговые входы, следует явно сбросить в 0 (режим выхода с открытым стоком), а соответствующие битыданных портов следует установить в 1 (высокоимпедансное состояние). Также следует иметь ввиду, что нетребуется настраивать вывод порта как аналоговый вход, чтобы использовать его в качестве входа АЦП2 иликомпараторов; однако, строго рекомендуется это делать. Подробная информация приведена в разделах данноготехнического описания, посвященным соответствующим периферийным модулям.207Ред. 1.2C8051F060/1/2/3/4/5/6/718.1.6. Пример назначения выводов при помощи матрицыВ этом примере (см. рис.18.4) мы настроим матрицу таким образом, чтобы назначить выводы портовдля УАПП0, SMBus, для всех 6 модулей ПМС, /INT0 и /INT1 (всего 12 выводов).
Дополнительно мы настроимР1.2, Р1.3 и Р1.4 как аналоговые входы, что позволит измерять напряжение на этих выводах с помощью АЦП2.Описание настройки (по «шагам») приведено ниже:XBR0, XBR1 и XBR2 настраиваются так, чтобы UART0EN = 1, SMB0EN = 1, PCA0ME = ‘110’,INT0E = 1 и INT1E = 1. Таким образом: XBR0 = 0х3D, XBR1 = 0х14 и XBR2= 0х40.1. Настраиваем выбранные выводы Порта 1 как аналоговые входы записью значения 0хE3 в регистрP1MDIN (Р1.2, Р1.3 и Р1.4 являются аналоговыми входами, т.е. соответствующие им биты регистраP1MDIN сброшены в 0).2. Включаем матрицу установкой XBARE = 1: XBR2= 0х40.- УАПП0 имеет наивысший приоритет, т.е. Р0.0 назначается сигналу TX0, а Р0.1 назначается сигналуRX0.- SMBus имеет следующий по порядку приоритет, т.е.
Р0.2 назначается сигналу SDA, а Р0.3назначается сигналу SCL.- PCA0 (ПМС) имеет следующий по порядку приоритет, т.е. выводы портов Р0.4 – Р1.1 назначаютсясигналам CEX0 – CEX5.- Т.к. регистр P1MDIN содержит значение 0хЕ3, которое настраивает Р1.2, Р1.3 и Р1.4 каканалоговые входы, то матрица будет пропускать эти выводы при назначении выводовпериферийным модулям.- /INT0 имеет следующий по порядку приоритет, т.е. назначается следующему «не пропускаемому»выводу, которым является Р1.5.- /INT1 имеет следующий по порядку приоритет, т.е.
назначается выводу Р1.6.3. Настраиваем выходные драйверы вывода TX УАПП0 (TX0, P0.0) и выводов CEX0 – CEX3как цифровые двухтактные выходы, для чего записываем значение 0xF1 в регистр P0MDOUT.4. Явным образом отключаем выходные драйверы трех выводов аналоговых входов, для чегосоответствующие биты в регистре P1MDOUT сбрасываем в 0, а в регистре Р1 – устанавливаем в 1.Кроме этого, выходные драйверы выводов CEX5 и CEX4 настраиваем как цифровые двухтактныевыходы. Т.е. в регистр P1MDOUT необходимо загрузить значение 0х03 (неиспользуемые выводынастраиваются как выходы с открытым стоком), а в регистрР1 необходимо загрузить значение 0xFF(лог.
‘1’ переводит выход в высокоимпедансное состояние).Ред. 1.2208C8051F060/1/2/3/4/5/6/7Рисунок 18.4. Пример использования матрицы(P1MDIN = 0xЕ3, XBR0 = 0x3D, XBR1 = 0x14, XBR2 = 0x40)Выв. I/OP00670123P3456701234567●SPI0EN: XBR0.1●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●SMB0EN: XBR0.0●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●UART1EN: XBR2.2●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●PCA0ME: XBR0.[5:3]●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●CP0-●●●●●●●●●●CP0+●●●●●●●●●CP2-●●●●●●●CP2+●● ●●●●● ●●●●● ●●●●●●CP1-●●●CP0●CP1●CP2●T0●/INT0●T1●/INT1●T2●T2EX●T3●T3EX●T4●T4EX/SYSCLK ●CNVSTR2 ●Биты регистровматрицы●●CEX52095UART0EN: XBR0.2CEX4ECIP24CP1+CEX33AIN2.7CEX22AIN2.6CEX11AIN2.5CEX00AIN2.4RX17AIN2.3TX16AIN2.2SCL5AIN2.1●MOSISDAP14●MISONSS3●RX0SCK2AIN2.0TX01Ред.
1.2ECI0E: XBR0.6CP0E: XBR0.7CP1E: XBR1.0CP2E: XBR3.3T0E: XBR1.1●●●●●●●●●●●INT0E: XBR1.2●●●●●●●●●●T1E: XBR1.3●●●●●●●●●INT1E: XBR1.4●●●●●●●●T2E: XBR1.5●●●●●●●T2EXE: XBR1.6●●●●●●T3E: XBR3.0●●●●●T3EXE: XBR3.1●●●●T4E: XBR2.3T4EXE: XBR2.4SYSCKE: XBR1.7CNVSTE2: XBR3.2C8051F060/1/2/3/4/5/6/7Рисунок 18.5. XBR0: Регистр 0 матрицы портов ввода/выводаR/WCP0ER/WECI0ER/WR/WPCA0MEБит 7Бит 6Бит 5Бит 4R/WR/WUART0ENБит 3Бит 7:CP0E: Бит подключения выхода Компаратора 0 (CP0)0: CP0 не соединен с выводом порта.1: CP0 соединен с выводом порта.Бит 6:ECI0E: Бит подключения входа ECI ПМС00: ECI не соединен с выводом порта.1: ECI соединен с выводом порта.R/WSPI0ENR/WSMB0ENБит 1Бит 0Бит 2Значениепри сбросе:00000000SFR Адрес: 0xE1SFR страница: FБиты 5-3: PCA0ME: Биты подключения входов/выходов модуля ПМС0000: Все входы/выходы модуля ПМС не соединены с выводами порта.001: CEX0 соединен с выводом порта.010: CEX0, CEX1 соединены с двумя выводами порта.011: CEX0, CEX1, CEX2 соединены с тремя выводами порта.100: CEX0, CEX1, CEX2, CEX3 соединены с четырьмя выводами порта.101: CEX0, CEX1, CEX2, CEX3, CEX4 соединены с пятью выводами порта.110: CEX0, CEX1, CEX2, CEX3, CEX4, CEX5 соединены с шестью выводами порта.Бит 2:UART0EN: Бит подключения входов/выходов УАПП00: Входы/выходы УАПП0 не соединены с выводами порта.1: TX0 и RX0 соединены с выводами Р0.0 и Р0.1 соответственно.Бит 1:SPI0EN: Бит подключения входов/выходов модуля SPI00: Входы/выходы модуля SPI0 не соединены с выводами порта.1: В 4-х проводном режиме MISO, MOSI, SCK и NSS соединены с четырьмя выводами порта.В 3-х проводном режиме MISO, MOSI, SCK соединены с тремя выводами порта.Бит 0:SMB0EN: Бит подключения входов/выходов модуля SMBus00: Входы/выходы модуля SMBus0 не соединены с выводами порта.1: SDA и SCL соединены с двумя выводами порта.Ред.
1.2210C8051F060/1/2/3/4/5/6/7Рисунок 18.6. XBR1: Регистр 1 матрицы портов ввода/выводаR/WSYSCKER/WT2EXER/WT2ER/WINT1EБит 7Бит 6Бит 5Бит 4R/WT1ER/WINT0ER/WT0ER/WCP1EБит 3Бит 2Бит 1Бит 0Бит 7: SYSCKE: Бит подключения выхода SYSCLK0: Выход SYSCLK не соединен с выводом порта.1: Выход SYSCLK соединен с выводом порта.Бит 6: T2EXE: Бит подключения входа T2EX0: T2EX не соединен с выводом порта.1: T2EX соединен с выводом порта.Бит 5: T2E: Бит подключения входа T20: T2 не соединен с выводом порта.1: T2 соединен с выводом порта.Бит 4: INT1E: Бит подключения входа /INT10: /INT1 не соединен с выводом порта.1: /INT1 соединен с выводом порта.Бит 3: T1E: Бит подключения входа T10: T1 не соединен с выводом порта.1: T1 соединен с выводом порта.Бит 2: INT0E: Бит подключения входа /INT00: /INT0 не соединен с выводом порта.1: /INT0 соединен с выводом порта.Бит 1: T0E: Бит подключения входа T00: T0 не соединен с выводом порта.1: T0 соединен с выводом порта.Бит 0: CP1E: Бит подключения выхода Компаратора 1 (CP1)0: CP1 не соединен с выводом порта.1: CP1 соединен с выводом порта.211Ред.
1.2Значениепри сбросе:00000000SFR Адрес: 0xE2SFR страница: FC8051F060/1/2/3/4/5/6/7Рисунок 18.7. XBR2: Регистр 2 матрицы портов ввода/выводаR/WWEAKPUDR/WXBARER/W-R/WT4EXEБит 7Бит 6Бит 5Бит 4R/WT4EБит 3R/WUART1EБит 2R/WБит 1R/WБит 0Значениепри сбросе:00000000SFR Адрес: 0xE3SFR страница: FБит 7: WEAKPUD: Бит отключения слаботоковых подтяжек портов ввода/вывода0: Слаботоковые подтяжки включены1: Слаботоковые подтяжки отключеныБит 6: XBARE: Бит включения матрицы0: Матрица отключена. Все выводы портов Р0, Р1, Р2 и Р3 настроены на вход.1: Матрица включенаБит 5: Не используются.
Читается как 0b. Запись не оказывает никакого влияния.Бит 4: T4EXE: Бит подключения входа T4EX0: T4EX не соединен с выводом порта.1: T4EX соединен с выводом порта.Бит 3: T4E: Бит подключения входа T40: T4 не соединен с выводом порта.1: T4 соединен с выводом порта.Бит 2: UART1E: Бит подключения входов/выходов УАПП10: Входы/выходы УАПП1 не соединены с выводами порта.1: TX1 и RX1 соединены с двумя выводами порта.Биты 1-0: Зарезервированы.Ред. 1.2212C8051F060/1/2/3/4/5/6/7Рисунок 18.8.