Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Описание периферийных устройств




 

Таймеры/счётчики: содержит три 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 следующая:

 

№ бита Мнемоника Описание
0 EXС Бит разрешения внешнего запуска. Если установлен, то контакт 23 (CONVST/) будет использоваться как сигнал запуска (активный низкий должен быть не менее 100 нс).
1 T2C Бит запуска преобразования от Таймера2. Если бит установлен, то сигнал переполнения Таймера2 используется для запуска АЦП.
2 AQ0 Биты задержки переключения, выбирают время, необходимое для перезарядки УВХ при переключении мультиплексора: AQ1 AQ0 Число тактов задержки запуска АЦП 0 0 1 0 1 2 1 0 3 1 1 4
3 AQ1  
4 CK0 Биты деления тактовой частоты, выбирают коэффициент деления основной частоты микропроцессора для получения тактовой частоты АЦП. Цикл преобразования АЦП занимает 16 тактов, в дополнении к числу тактов переключения. Коэффициент выбирается из: CK1 CK0 Делитель для MCLK 0 0 1 0 1 2 1 0 4 1 1 8
5 CK1  
6 MD0 Биты режима выбирают режимы работы АЦП следующим образом: MD1 MD0 Режим АЦП 0 0 Дежурный 0 1 Нормальный 1 0 Дежурный, если не выполняется цикл преобразования 1 1 Холостой, если не выполняется цикл преобразования
7 MD1  

 

Регистр ADCCON2 управляет выбором канала и режимами преобразования. Он имеет следующий формат:

 

№ бита Мнемоника Описание
0 CS0 Биты выбора входных каналов. Позволяют осуществлять выбор номера канала АЦП под управлением программы. Преобразование будет выполняться для канала, номер которого указан данными битами. В режиме ПДП выбор номера канала осуществляется из ID канала, записанного во внешней памяти. CS3 CS2 CS1 CS0 CH# 0 n2 n1 n0 Номер входного канала(n2n1n0) 1 0 0 0 Температурный сенсор 1 x x x Другие комбинации 1 1 1 1 Останов ПДП
1 CS1  
2 CS2  
3 CS3  
4 SCONV Бит запуска однократного преобразования. Устанавливается пользователем для однократного запуска АЦП. Бит сбрасывается автоматически по завершению преобразования.
5 CCONV Бит циклического преобразования. Устанавливается пользователем для установки АЦП в режим непрерывного циклического преобразования. В этом режиме АЦП выполняет преобразование в соответствии с типом синхронизации и конфигурацией каналов, выбранными в других SFR.
6 DMA Бит разрешения режима ПДП. Устанавливается пользователем для начала операции ПДП со стороны АЦП.
7 ADCI Бит прерывания АЦП устанавливается аппаратно по окончанию однократного цикла преобразования АЦП или по окончанию передачи блока в режиме ПДП. ADCI очищает аппаратно при переходе по вектору на процедуру обслуживания прерывания.

 

Регистр ADCCON3 является регистром статуса АЦП и используется только для чтения. Бит 7 этого регистра - бит занятости, автоматически устанавливается в 1 во время преобразования, по окончанию цикла преобразования автоматически очищается. Биты с 0-го по 6-й зарезервированы и в программе пользователя не используются.

Как только АЦП сконфигурирован и установлен бит SCONV регистра ADCCON2, начинается преобразование аналоговых входных сигналов и выдача 12-разрядных выходных кодов в регистры ADCDATAH и ADCDATAL.состоит из двух частей: номер канала (старшие четыре бита)+старшие разряды (младшие четыре бита), ADCDATAL содержит младшие разряды АЦП:

 

ADCDATAH

 

ADCDATAL

                                 

не используются

старшие 4 разряда 12-разрядного слова АЦП

 

младшие 8 разрядов 12-разрядного слова АЦП

                                 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...