Работа периферийных устройств
Содержание
Введение
1. Параллельные порты ввода-вывода
2. Последовательный порт ввода-вывода SPI
3. Последовательный порт ввода-вывода UART
4. Последовательный порт ввода-вывода TWSI (I2C)
5. Таймеры-счетчики общего назначения
5.1 Таймер-счетчик типа А
5.2 Таймер-счетчик типа В
5.3 Таймер-счетчик типа С
5.4 Таймер-счетчик типа D
5.5 Таймер-счетчик типа Е
6. Сторожевой таймер
7. Аналого-цифровой преобразователь
8. Аналоговый компаратор
9. Программируемый аппаратный модулятор
10. Блок прерываний
Литература
Введение В работе периферийных устройств участвуют регистры ввода-вывода. Работа периферийных устройств определяется состоянием разрядов регистров управления, а состояние периферийных устройств отражается состоянием разрядов регистров состояния. Имена и номера регистров ввода-вывода у микроконтроллеров разных типов указаны в приложении П4. Имена и номера разрядов регистров управления и разрядов регистров состояния приведена в приложении П5.
1. Параллельные порты ввода-вывода Число параллельных портов ввода-вывода, суммарное число выводов портов и суммарное число выводов, выполняющих альтернативные функции, у микроконтроллеров разных типов указано в табл.1.1 в колонках Р, I/O и ALT соответственно.
В табл.1 приведены имена портов и указано число выводов (в числителе) и число выводов, выполняющих альтернативные функции (в знаменателе) для каждого порта в отдельности.
В состав порта РХ (X = А, В, С, D, Е) входят три регистра ввода-вывода с именами DDRX, PORTX и PINX. Регистр PINX не имеет аппаратной реализации. Это имя используется в командах, по которых выполняется чтение байтов на выводах порта.
Число разрядов в регистрах равно числу выводов порта.
Таблица 1
Тип МК Имя порта PA PB PC PD PE PF t11 6/6 t12 6/6 t15 6/6 2323 3/2 2343 5/3 1200 8/2 7/2 2313 8/3 7/7 t28 4/1 8/5* 8/0 4433 6/6 6/6 8/8 8515 8/8 8/8 8/8 8/7 8535 8/8 8/8 8/2 8/8 m163 8/8 8/8 8/4 8/8 m103 8/8 8/8 8/8* 8/7 8/8 8/8* * - PC - только выходы, PB, PF - только входы
Состояние разряда DDRX. Y определяет направление передачи бита через вывод порта PX. Y. При DDRX. Y = 0 вывод PX. Y работает в режиме входа, при DDRX. Y = 1 - в режиме выхода.
В режиме входа состояние разряда PORTX. Y определяет состояние вывода PX. Y. При PORTX. Y = 0 вывод находится в высокоимпендансном состоянии (Z-состояние), при PORTX. Y = 1 вывод, порта через внутренний резистор с сопротивлением 30-120 кОм подключается к шине VCC. В режиме входа вывод PX. Y соединен с шиной данных ШД. Y.
Значение входного сигнала на отдельном выводе порта может быть определено с использованием команд условного перехода с мнемокодом SBIC PINX, Y (№ 113) или SBIS PINX, Y (№ 114). При одном значении сигнала выбирается одно продолжение программы, при другом значении сигнала - другое продолжение.
В режиме выхода разряд PORTX. Y определяет значение выходного сигнала на выводе PX. Y. При PORTX. Y = 0 выходной сигнал имеет низкий уровень напряжения (U0l), при PORTX. Y = 1 - высокий уровень напряжения (UOнI).
В табл.2 указано состояние вывода порта PX. ............