
- •Теория микропроцессорных систем микроконтроллеры
- •Структура и функциональные возможности мк51
- •Электрический интерфейс мк51
- •Резидентная память данных
- •Работа блока управления и синхронизации
- •Элементы данных в мк51
- •Характеристика функциональных групп команд
- •2.5. Система команд семейства mcs-51.
- •2.5.1. Команды пересылки данных.
- •Команда обработки данных.
- •Команды передачи управления.
- •Характеристика периферийных блоков в составе мк51
- •Управление таймерами-счетчиками (т/с)
- •Описание вариантов конфигурации таймеров-счетчиков
- •Особенности реализации временных интервалов
- •Структура последовательного порта и принципы управления
- •Описание режимов работы уапп
- •Назначение и принципы функционирования системы прерываний
- •Управление приоритетами запросов прерываний
- •Работа системы обслуживания прерываний
- •Заполнение начальной области памяти программ
- •Шестнадцатиразрядные микроконтроллеры Motorola
- •Современные встраиваемые микроконтроллеры, выпускаемые производственной фирмой Freescale Semiconductor
- •Номенклатура и функциональный состав микроконтроллеров cемейства 68hcs12
- •2.1. Микроконтроллеры семейства 68нс12/912
- •2.1.3. Начальный запуск и обработка прерываний
- •2.1.4. Режимы работы и конфигурация микроконтроллеров
- •2.1.5. Функционирование и программирование Flash-памяти и эсппзу
- •2.1.6. Блок контроля функционирования и генератор тактовых импульсов
- •2.1.7. Параллельный ввод-вывод данных и подключение внешней памяти
- •2.1.8. Последовательные порты sci и spi
- •2.1.9. Таймерные модули и широтно-импульсные модуляторы
- •2.1.10. Модуль аналого-цифрового преобразователя atd
- •2.1.11. Модуль последовательного интерфейса msCan
- •2.1.12. Режим отладки bdm и установка контрольных точек
Управление таймерами-счетчиками (т/с)
Для управления режимами работы Т/С и организации взаимодействия таймеров с системой прерываний используют два РСФ:
- регистр режимов - TMOD - от английского "Timer MODe";
- регистр управления/статуса - TCON - от "Timer CONtrol"
Путем записи числовых кодов в эти регистры таймеры Т0 и Т1 могут быть независимо настроены на разные режимы работы.
Структура регистров TMOD и TCON и назначение битов
Каждый из таймеров Т/С0 и Т/С1 может функционировать в любой из четырех конфигураций - конфигурациях 0,1,2,3. Конфигурации 0,1,2 одинаковые для Т/С0 и T/С1. Конфигурация 3 реализуется в Т/С0 и Т/С1 по-разному. Структура регистра TMOD показана на рис.14.1, а структура регистра управления работой таймеров TCON - на рис.14.2.
Рис. 14.1. Битовая структура регистра TMOD
Регистр TMOD не является битово-адресуемым. Нужна загрузка байтового кода!
Рис.14.2. Битовая структура регистра TCON
TCON является регистром с побитовой адресацией, а приведенные на схеме имена бит представляют собой зарезервированные символические имена Ассемблера. Сброс и установка отдельных бит могут проводиться независимо, что обеспечивает эффективное управление работой таймеров.
Далее индекс "х" будем использовать для обобщенного обозначения номера таймера-счетчика: 0 или 1.
Т а б л и ц а 14.1
Назначение битов регистра режимов TMOD
Символ |
Позиция |
Назначение |
|||||||||||||||
GATE |
TMOD.7 (1) TMOD.3 (0) |
Разрешение остановки от прерывания. При GATE=1 Т/Сх запускается и работает, если бит TRх=1 и на входе ІNTх - уровень "1". При возникновении сигнала INTx=0 Т/Сх останавливается независимо от значения TRx. При GATE=0 Т/Сх запускается только установкой TRх=1 и останавливается при TRx=0. |
|||||||||||||||
С/T |
TMOD.6 (1) TMOD.2 (0) |
Выбор режима - таймер или счетчик. 0 - режим таймера, 1 - режим счетчика импульсов по входам Тх. |
|||||||||||||||
Продолжение на следующей странице |
|
|
|||||||||||||||
М1 М0 |
TMOD.5 (1) TMOD.1 (0) TMOD.4 (1) TMOD.0 (0) |
Задание конфигурации (0,1,2,3) таймерных регистров для каждого Т/С в отдельности
|
Т а б л и ц а 14.2
Назначение битов регистра управления TCON
Имя бита |
Позиция |
Назначение |
TF1 |
TCON.7 |
Флаг переполнения таймера 1. Устанавливается аппаратно при переполнении Т/С1. Сбрасывается при обслуживании прерывания аппаратно. |
TR1 |
TCON.6 |
Бит управления запуском таймера 1. Устанавливается и сбрасывается программно для запуска и останова Т/С1 ("программный выключатель") |
TF0 TR0 |
TCON.5 TCON.4 |
То же самое, как и для TF1, для таймера Т0 То же самое, как и для TR1, для таймера Т0 |
IE1 |
TCON.3 |
Флаг запроса внешнего прерывания 1. Устанавливается аппаратно при выявлении запроса внешнего прерывания по входу INT1. Сброс зависит от значения бита IT1 |
IT1 |
TCON.2 |
Бит управления типом сигнала прерывания 1. Модифицируется программно для задачи правила восприятия сигнала INT1: при IT1 = 1 - по срезу (переход "1" -> "0"); сброс IE1 выполняется аппаратно, при IT1 = 0 - по низкому уровню на входе INT1; сброс IE1 может выполняться программно |
IE0 IT0 |
TCON.1 TCON.0 |
То же, как и для IE1, по сигналу INT0 То же, как и для IT1, по сигналу INT0 |
Например, нужно настроить таймер-счетчик 1 на запуск только от бита TR1 в конфигурации 2, а для таймера-счетчика 0 управление запуском может выполняться от TR0 и сигнала прерывания INT0 в конфигурации 1. Таймер-счетчик 1 должен функционировать в режиме таймирования, а таймер-счетчик 0 - в режиме счетчика внешних импульсов. Код настройки таймеров формируем в виде:
init_timers equ 00101101B
Настройка таймеров на нужный режим осуществляется командой
MOV TMOD, #init_timers
Примеры программного управления таймером:
SETB TR1 ; запуск таймера 1
CLR TR0 ; останов таймера 0
Управление запуском от сигналов TRx, INT и GATE иллюстрируется схемой на рис. 14.3.
Рис. 14.3. Управление запуском таймера от сигналов TRx, INT и GATE.