Главная  Микроконтроллеры 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [ 20 ] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

соответствующего вектора прерывания. Другой способ очистпгь ACI - записать во флаг логическую единицу.

Бит 3 - ACIE - разрешение прерывания ог аналогового компаратора. Когда установлен этот бит и бит I регис фа состояния, прерывания от аналогового компаратора отрабатываются. Если бит ACIE = О, прерывания запрещены.

Бит 2 - ACIC - захват по выходу аналогового компаратора. Если этот бит установлен, функция захвата таймера/счетчика! управляется выходом аналогового компаратора. При этом выход компаратора подключается непосредственно к схеме обработки захвата, предоставляя удобные средства подавления шума и выбора фронта, предусмотренные прерыванием захвата по входу. Когда бит очищен, схема захвата и компаратор разъединены. Чтобы компаратор мог управлять функцией захвата таймера/счетчика!, должен быть установлен бит TICIE1 в регистре TIMCK.

Биты 1,0 - ACIS1, ACISO - выбор режима прерывания аналогового компаратора. Различные установки приведены в табл. 2.14.

Таблица 2.14. Установки ACIS1/ACIS0

ACIS1

AQSO

Описание

Прерывание от компаратора по переключении выхода

Зарезервировано

Прерывание от компаратора по спадающему фронту выхода

Прерывание от компаратора по нарастакхцему фронту выхода

Примечание. При изменении битов ACIS1/ACIS0 прерывания от аналогового компаратора должны быть запрещены сбросом бита разрешения прерывания в регистре ACSR. Иначе прерывание может произойти в процессе изменении этих битов.

2.10. Порты ввода/вывода Порт в

Порт В 8-разрядный - двунаправленный для ввода/вывода.

Для обслуживания порта отведено три регистра: регистр данных PORTB ($18, $38), регистр направления данных - DDRB ($17, $37) и выводы порта В ($16, $36). Адрес выводов порта В предназначен



только для чтения, в то время как регистр данных и регистр направления данных - для чтения и записи.

Все выводы порта имеют отдельно подключаемые подтягивающие резисторы. Выходы порта В могут поглощать ток до 20 мА и непосредственно управлять светодиодными индикаторами. Если выводы РВ0...РВ7 используются как входы и замыкаются на землю, то при включенных внутренних подтягивающих резисторов выводы являются источниками тока. Дополнительные функции выводов порта В приведены в табл. 2.15.

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

Вывод

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

AINO (положительный вход аналогового компаратора)

AIN1 (отрицательный вход аналогового компаратора)

0С1 (выход совпадения таймерг/счетчика 1)

MOSI (вход данных для SPI)

MISO (выход данных для SPI)

SCK (вход тактовых импульсов SPI)

При использовании альтернативных функций выводов регистры DDRB и PORTB должны быть установлены в соответствии с описанием альтернативных функщш. При использовании возможности внутрисхемного программирования микроконтроллера следует учитывать, что программатор использует для своей работы линии MOSI, MISO и SCK. Соответственно, устройства, подключенные к этим линиям, не должны мешать работе программатора.

Бит 7 $16 ($38)

Чт7зап. RW

Нач. знач. О

Еаш1шшшшгнп11[ш?1гнп?1[т1шзш

PORTS

R/W О

R/W О

R/W О

R/W О

RW О

R/W О

R/W О

Рис. 2.47. Регистр данных порта В - PORTB

$17 ($37) 1

DDB7

DDBe

DDBS

DDB4

DDB3

DDB2

DDB1

ODBC

Чт7зап. Нач. знач.

RW 0

R/W 0

R/W 0

R/W 0

R/W 0

RW 0

R/W 0

RW 0

Рис. 2.48. Регистр направления данных порта В - DDRB



$16($36) 1

PINB7

PINB6

PINB5

PINB4

PINB3

PINB2

PINB1

PINBO 1

Чт/зап.

Нач. знач.

Рис. 2.49. Выводы порта В - PINB

PINB не является регистром, по этому адресу осуществляется доступ к физическим значениям каждого из выводов порта В. При чтении PORTB читаются данные из регистра-защелки, при чтении PINB читаются логические значения, соответствующие фактическому состоянию выводов порта.

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

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

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

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

DDBn

PORTBn

Вход/выход

Подтягивающий резистор

Комментарий

Вход

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

Вход

Есть

РВп источник тока, если соединен с землей

Выход

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

Выход

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

Примечание: п = 7,6...0 - номер вывода.

Альтернативные функции PORTB: Бит 7 SCK - вход тактовой частоты для SPI. Бит 6 MISO - выход данных для SPI. Бит 5 MOS1 - вход данных для SPI.

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



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [ 20 ] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

0.0009