- •Цифровые и микропроцессорные устройства
- •Часть 4
- •07.04 2014 Г., протокол № 10
- •Введение
- •Лабораторная работа № 12составление линейных и циклических программ на языке ассемблер Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •Лабораторная работа № 13обучение работе на симуляторе микропроцессора Sim8085 Microprocessor Simulator
- •Содержание отчета
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •2 Индивидуальное задание № 14. 1
- •3 Индивидуальное задание № 14. 2
- •4 Индивидуальное задание № 14. 3
- •Лабораторная работа № 15логические команды и команды сдвига Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Команды сравнения
- •Команды сдвига
- •Индивидуальное задание № 15. 1
- •Индивидуальное задание № 15. 2
- •Индивидуальное задание № 15. 3
- •Лабораторная работа № 16 команды управления Цель работы
- •Подготовка и выполнение работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Теоретическое обоснование
- •2 Индивидуальное задание № 16. 1
- •3 Индивидуальное задание № 16. 2
- •Лабораторная работа № 17обучение работе в интегрированной среде mplab ide
- •Содержание отчета
- •Контрольные вопросы
- •Методические указания
- •1 Структурная схема учебного стенда нтц – 31.000
- •2 Органы управления учебного стенда
- •Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •1. 2 Общий формат инструкций и директив
- •1. 3 Директивы Ассемблера
- •1.4 Числовые константы и системы счисления
- •2 Тренировочный пример составления исходного кода программы
- •Лабораторная работа № 19исследование устройств ввода-вывода дискретных сигналов в микропроцессорных системах на базе миКроконтроллера семейства dsPic33f Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Краткие теоретические сведения
- •2 Схема электрическая принципиальная к лабораторной работе
- •3 Алгоритм и листинг программы к заданию № 19. 1
- •4 Алгоритм и листинг программы к заданию № 19. 2
- •Лабораторная работа № 20реализация временных функций в микропроцессорных системах на базе миКроконтроллера семейства dsPic33f Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Краткие теоретические сведения
- •1.1 Реализация временных функций
- •1.2 Метод программных циклов
- •1.3 Использование таймера/счётчика
- •1.4 Схема электрическая принципиальная к лабораторной работе
- •1. 5 Листинг программы для создания проекта lr20_1
- •1.6 Листинг программы для создания проекта lr20_2
- •1.7 Листинг программы для создания проекта lr20_3
- •Литература
- •Содержание
- •Цифровые и микропроцессорные устройства
- •Часть 4
1.3 Использование таймера/счётчика
Таймеры/счетчики (Т/С) предназначены для подсчета внешних событий, для получения программно-управляемых временных задержек и выполнения времязадающих функций микроконтроллера.
Микроконтроллеры семейства dsPIC33 имеют несколько 16-разрядных таймеров. Таймеры имеют обозначение Timer1, Timer2 Timer3 и т.д. С небольшими исключениями, все 16-битные таймеры имеют одинаковую функциональность и разделены на 3 типа:
- Таймер типа А (Timer1).
- Таймер типа В (Timer2, Timer4, Timer6, Timer8).
- Таймер типа С (Timer3, Timer5, Timer7, Timer9).
Таймеры типа В и С могут быть объединены для формирования 32-разрядного таймера.
Каждый из таймеров настраивается следующими регистрами, доступными для чтения и записи:
- TMRx – регистр счета;;
- PRx – регистр периода;
- TxCON – регистр конфигурации,
где x – номер таймера.
Также с каждым таймером ассоциированы следующие биты в регистре управления прерываниями:
- TxIE – бит разрешения прерывания (регистр IESO);
- TxF – бит статуса прерывания (регистр IFSO);
- TxIP<2:2> - биты установки приоритета прерывания (регистр IPCO).
Структурная схема модуля Timer1 приведена на рисунке 20.16.
Модуль Timer1 является 16-разрядным таймером, который может служить как счетчик для часов реального времени или работать как интервальный таймер-счетчик.
16-разрядный Timer1 имеет следующие режимы работы:
- 16-разрядный таймер;
- 16-разрядный синхронный счетчик;
- 16-разрядный асинхронный счетчик.
Эти режимы работы определяются установкой соответствующих битов в 16-разрядном регистре конфигурации T1CON.
Рисунок 20.16 – Структурная схема модуля Timer1
В 16-разрядном режиме таймера, таймер инкрементируется на каждый цикл инструкций до соответствующего значения, предварительно загруженного в регистр периода PR1 (рисунок 20.16), а затем сбрасывается в «0» и продолжает считать. Если CPU входит в режим простоя IDLE, таймер может остановить приращение если бит TSIDL = 0 (бит регистра T1CON < 13 >). Если TSIDL = 1, модуль таймера может продолжать последовательность инкрементирования с завершением режима простоя CPU.
В режиме 16-разрядного синхронного счетчика, таймер инкрементируется по нарастающему фронту внешнего тактового сигнала. Таймер считает до соответствующего значения загруженного в регистр PR1, затем сбрасывается в «0» и продолжает считать. В режиме простоя CPU модуль таймера работает в аналогичном режиме 16-разрядного таймера.
В режиме 16-разрядного асинхронного счетчика в режиме простоя CPU, таймер остановит инкрементирование, если бит TSIDL = 1.
В режиме SLEEP CPU таймер Timer1 работает если:
- модуль таймера разрешен (бит регистра T1CON < 15 > TON = 1);
- выбран внешний источник тактирования (бит регистра T1CON < 1 > TCS = 1);
- бит TSYNC регистра T1CON < 2 > переведен в логический 0, который определяет внешний источник тактирования как асинхронный.
Когда все три условие выполнены, таймер продолжает считать до состояния регистра PR1 и, после чего, сброшен состоянием 0х0000. При совпадении состояний регистров TMR1 и PR1 (рисунок 20.16) устанавливается бит T1IF в регистре управления прерываниями IFSO. В этом случае генерируется прерывание, если установлено соответствующий бит разрешения прерывания таймера.