Описание периферийных устройств
⇐ ПредыдущаяСтр 2 из 2
Таймеры/счётчики: содержит три 16-ти разрядных счетчика таймера: Таймер0, Таймер1 и Таймер2. Каждый таймер/счетчик состоит из двух 8-ми разрядных регистров THx и TLx (х = 0, 1 и 2). Все три можно сконфигурировать как таймеры, либо как счетчики событий. В режиме «Таймера» регистр TLx инкрементируется в каждом машинном цикле. В этом режиме работу можно рассматривать как счет машинных циклов. Так как машинный цикл состоит из 12 периодов осциллятора, то максимальная скорость счета составляет 1/12 от частоты осциллятора. В режиме «Счетчика» регистр TLx инкреминтируется по перепаду 1 - 0 на соответствующем контакте микросхемы Т0, Т1 или Т2. Счетчики/таймеры могут работать в 3-х основных режимах: Оставлен для совместимости с 48-й серией, на таймер поступает OSC/32, разрядность 13 бит. Работает как 16-ти разрядный счетчик. При переполнении состояние изменяется с FFFFh на 0000h. При необходимости изменения коэффициента деления после переполнения в каждом такте необходимо записывать заданную константу. Счетчик работает как 8-ми разрядный, причем используется младшая часть - TL. В старшей части (TH) находится делитель, который по переполнению TL автоматически перегружается из TH в TL. Режимы работы таймеров Таймер0 и Таймер1 задают два регистра специальных функций (SFR - Special Function Register): регистр режима - TMOD, расположенный по адресу 89h в регистровой памяти и регистр управления таймерами и внешними прерываниями - TCON (88h). Для управления работой таймера Таймер2 служит регистр T2CON. Регистр TMOD условно разбит на две половины: первая его часть отвечает за Таймер0, а вторая - за Таймер1. Распределение битов регистра TMOD следующее: Бит0 - (М0) - Младший байт поля управления режимом;
Бит1 - (М1) - Старший байт поля управления режимом; Бит2 - (С/Т0) - Выбор функции таймера или счетчика для Таймера0: 0 - таймер; 1 - счетчик; Бит3 - (GATE0) - Флаг управления входом: - работа канала разрешается (INT0=1, TR=1) - работа счетчика зависит только от TR0 Распределение битов регистра TCON следующее: Бит0 - (IT0) - Управление типом входа INT0: - вход прог-ся как динамич по зад фронту импльса, - статическое состояние входа. Бит1 - (IE0) - Флаг запроса прерывания INT0 при динамическом входе. Сбрасывается, когда происходит режим подтверждения прерывания.; Бит2,3 - (IT1/IE1) - Тоже, что и предыдущие биты, но для Таймера0; Бит4 - (TR0) - Флаг программного запуска Таймера0 Бит5 - (TF0) - Флаг переполнения Таймера0, который вызывает запрос прерывания. При подтверждении прерывания флаг сбрасывается; Бит6,7 - (TR1,TF1) - Для Таймра1; Для работы с таймером используется механизм прерываний, работой которого можно управлять через регистр маски прерываний IE (Interrupt Enable). Назначение битов регистра IE следующее: Бит0 - (EX0) - Бит разрешения внешнего прерывания INT0. Бит1 - (ET0) - Бит разрешения прерывания по переполнению Таймера0; Бит2 - (EX1) - Бит разрешения внешнего прерывания INT1; Бит3 - (ET1) - Бит разрешения прерывания по переполнению Таймера1; Бит4 - (ES) - Бит разрешения прерывания от последовательного порта UART. Бит5 - (ET2) - Бит разрешения прерывания по переполнению Таймера 2 Бит6 - (EADC) - Бит разрешения прерывания АЦП Бит7 - (EA) - Бит разрешения глобального прерывания. Если EA=0, то все прерывания запрещены; -ти разрядный 8-ми канальный АЦП; Блок АЦП представляет собой восьмиканальный пяти микросекундный преобразователь с однополярным питанием. АЦП позволяет работать как в однократном режиме измерения, так и в циклическом. Запуск на преобразование осуществляется или по внешнему сигналу, подаваемому на 23-й контакт (CONVST/) или по сигналу переполнения Таймера2. Для управления АЦП имеется 3 основных SFR-регистра: ADCCON1, ADCCON2, ADCCON3.
Регистр ADCCON1 производит управление преобразованием, временем переключения и режимами. Структура управл бит ADCCON1 следующая:
Регистр ADCCON2 управляет выбором канала и режимами преобразования. Он имеет следующий формат:
Регистр ADCCON3 является регистром статуса АЦП и используется только для чтения. Бит 7 этого регистра - бит занятости, автоматически устанавливается в 1 во время преобразования, по окончанию цикла преобразования автоматически очищается. Биты с 0-го по 6-й зарезервированы и в программе пользователя не используются. Как только АЦП сконфигурирован и установлен бит SCONV регистра ADCCON2, начинается преобразование аналоговых входных сигналов и выдача 12-разрядных выходных кодов в регистры ADCDATAH и ADCDATAL.состоит из двух частей: номер канала (старшие четыре бита)+старшие разряды (младшие четыре бита), ADCDATAL содержит младшие разряды АЦП:
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|