Смекни!
smekni.com

Методические указания к лабораторным работам со стендом (стр. 3 из 9)

Бит DDBn регистра DDRB выбирает направление передачи данных. Если бит установлен (1), вывод сконфигурирован как выход. Если бит сброшен (0) - вывод сконфигурирован как вход. Если PORTBn установлен и вывод сконфигурирован как вход, включается КМОП подтягивающий резистор. Для отключения резистора, PORTBn должен быть сброшен (0) или вывод должен быть сконфигурирован как выход.

АЛЬТЕРНАТИВНЫЕ ФУНКЦИИ ПОРТА B

SCK - бит 7 порта B - тактовые импульсы для записи/чтения памяти

MISO - бит 6 порта B - выход данных для чтения памяти

MOSI - бит 5 порта B - вход данных для записи памяти

OC1 - PORTB, Bit 3 - Выход совпадения. Этот вывод может быть сконфигурирован для вывода внешнего события - совпадения таймера 1. Для этого бит DDB3 должен быть установлен в 1 (вывод сконфигурирован как выход).

AIN1 - бит 1 порта B - Отрицательный вход аналогового компаратора. Если вывод сконфигурирован как вход (DDB1 сброшен) и отключен внутренний подтягивающий резистор (PB0 сброшен), то этот вывод работает как отрицательный вход встроенного аналогового компаратора.

AIN0 - бит 0 порта B - Положительный вход аналогового компаратора. Если вывод сконфигурирован как вход (DDB0 сброшен) и отключен внутренний подтягивающий резистор (PB1 сброшен), то этот вывод работает как положительный вход встроенного аналогового компаратора.

Таблица 2. Влияние DDBn на выводы порта B

DDBn

PORTBn

Вх/Вых

Подт.резист

Комментарий

0

0

Вход

7Нет

Третье состояние (Hi-Z)

0

1

Вход

Да

PBn источник тока IIL, если извне соединен с землей

1

0

Выход

Нет

Выход установлен в 0

1

1

Выход

Нет

Выход установлен в 1

n = 7,6...0 - номер вывода

Порт D

Для порта D зарезервированы 3 ячейки памяти - регистр PORTD ($12, $32), регистр направления данных - DDRD ($11, $31) и выводы порта D - PIND ($10, $30). Регистры данных и направления данных могут читаться/записывать­ся, ячейка PIND - только для чтения.

Порт D - 7-разрядный двунаправленный порт со встроенными подтягивающими регистрами. Выходные буферы порта могут поглощать ток до 20 мА. Выводы используются, как входы и на них подан низкий уровень, они являются источниками тока IIL, если подключены подтягивающие рези­сторы. Некоторые из выводов порта имеют альтернативные функции, как показано в таблице 18.

Если выводы порта используются для обслуживания альтернативных функций, они должны быть сконфигурированы на ввод/вывод в соответствии с описанием функции.

Таблица 3. Альтернативные функции порта D

Вывод порта

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

PD0

RXD (вход данных UART)

PD1

TXD (выход данных UART)

PD2

INT0 (вход внешнего прерывания 0)

PD3

INT1 (вход внешнего прерывания 1)

PD4

T0 (внешний вход таймера счетчика 0)

PD5

T1 (внешний вход таймера счетчика 1)

PD6

ICP (вход захвата таймера счетчика 1)

РЕГИСТР ДАННЫХ ПОРТА D - PORTD

Бит

$12($32)

Чт./зап. (R/W) Начальн.знач.

7

6

5

4

3

2

1

0

-

PORTD6

PORTD5

PORTD4

PORTD3

PORTD2

PORTD1

PORTD0

PORTD

R

R/W

R/W

R/W

R/W

R/W

R/W

R/W

0

0

0

0

0

0

0

0

РЕГИСТР НАПРАВЛЕНИЯ ДАННЫХ ПОРТА D - DDRD

Бит

$11($31)

Чт./зап. (R/W) Начальн.знач.

7

6

5

4

3

2

1

0

-

DDD6

DDD5

DDD4

DDD3

DDD2

DDD1

DDD0

DDRD

R

R/W

R/W

R/W

R/W

R/W

R/W

R/W

0

0

0

0

0

0

0

0

ВЫВОДЫ ПОРТА D - PIND

Бит

$10 ($30)

Чт./зап. (R/W) Начальн.знач.

7

6

5

4

3

2

1

0

-

PIND6

PIND5

PIND4

PIND3

PIND2

PIND1

PIND0

PIND

R

R

R

R

R

R

R

R

0

Hi-Z

Hi-Z

Hi-Z

Hi-Z

Hi-Z

Hi-Z

Hi-Z

PIND не является регистром, по этому адресу осуществляется доступ к физическим значениям каждого из выводов порта D. При чтении PORTD, читаются данные из регистра-защелки, при чтении PIND читаются логичес­кие значения, присутствующие на выводах порта.

Порт D, как порт ввода/вывода общего назначения

Все 7 бит порта D при использовании для ввода/вывода одинаковы.

Бит DDDn регистра DDRD выбирает направление передачи данных. Если бит установлен (1), вывод сконфигурирован как выход. Если бит сброшен (0) - вывод сконфигурирован как вход. Если PORTDn установлен и вывод сконфигурирован как вход, включается КМОП подтягивающий резистор. Для отключения резистора, PORTDn должен быть сброшен (0) или вывод должен быть сконфигурирован как выход.

Таблица 4. Влияние DDDn на выводы порта D

DDDn

PORTDn

Вх/Вых

Подт.резист

Комментарий

0

0

Вход

Нет

Третье состояние (Hi-Z)

0

1

Вход

Да

PDn источник тока IIL, если извне соединен с землей

1

0

Выход

Нет

Выход установлен в 0

1

1

Выход

Нет

Выход установлен в 1

n = 6...0 - номер вывода

Альтернативные функции порта D

ICP - Порт D, бит 6 - вход захвата таймера/счетчика 1. Подробнее см. описание таймера.

T1 - Порт D, бит 5 - тактовый вход таймера/счетчика 1. Подробнее см. описание таймера.

T0 - Порт D, бит 4 - тактовый вход таймера/счетчика 0. Подробнее см. описание таймера.

INT1 - Порт D, бит 3 - вход внешних прерываний 1. Подробнее см. описание прерываний.

INT0 - Порт D, бит 2 - вход внешних прерываний 0. Подробнее см. описание прерываний.

TXD - Порт D, бит 1 - выход передатчика UART. Если разрешена работа передатчика UART, то независимо от состояния DDRD1 этот вывод сконфигурирован как выход.

RXD - Порт D, бит 0 - выход приемника UART. Если разрешена работа приемника UART, то независимо от состояния DDRD0 этот вывод сконфигурирован как выход. Когда UART использует вывод для приема данных, единица в PORTD0 подключает встроенный подтягивающий резистор.

Пример выполнения лабораторной работы №1

В регистр r16 записывается число, например, 256 (11111111), при нажатии на клавишу SW0, расположенную на стенде, происходит уменьшение числа, записанного в r16, на 1. Вывод значения из регистра r16 отображается на панели светодиодов. Панель кнопок подключена к Gорту D, панель светодиодов к Порту B.

;***** Демонстрация использования светодиодов и кнопок в стенде STK500