
- •Программирование цифровой техники и микроконтроллеров управления
- •Алматы 2012
- •1 Микроконтроллеры в современном мире
- •1.1 Краткая история развития микроконтроллеров
- •1.2 Задачи и роль микроконтроллеров
- •2 Выполнение арифметических операций в мп
- •2.1 Системы счислений
- •2.2 Двоичная арифметика
- •2.3 Дополнительный код
- •2.4 Знаковый разряд
- •3 Регистры общего и специального назначения
- •3.1 Регистры portc и trisc
- •3.2 Регистр Status
- •3.3 Фиксированная (абсолютная) адресация
- •4 Косвенная адресация. Логика
- •4.1 Косвенная адресация
- •4.2 Логические функции
- •5 Маскирование. Стек
- •5.1 Маскирование
- •5.2 Счетчик команд
- •5.3 Стек
- •6 Конвейер и подпрограмма задержки
- •6.1 Конвейер
- •6.2 Программа задержки
- •6.3 Расчет времени задержки
- •7 Выполнение умножения и деления
- •7.1 Умножение и деление при помощи сдвига
- •7.2 Инструкции условных переходов
- •7.3 Целочисленное умножение
- •7.4 Целочисленное деление
- •7.5 Умножение на дробное число
- •8 Программирование клавиатуры. Дешифратор
- •8.1 Клавиатура
- •8.2 Фрагменты программы
- •8.3 Дешифратор
- •8.4 Компаратор
- •9 Основные элементы цифровой техники
- •9.1 Сумматор
- •9.2 Арифметико-логическое устройство
- •9.3 Бистабильные схемы
- •9.4 Триггеры и регистры
- •10 Структура микроконтроллера. Индикатор
- •10.1 Применение операций сдвига
- •10.2 Цифровой индикатор
- •10.2 Структурная схема мк
- •11 Прерывания и сторожевой таймер
- •11.1 Прерывания
- •11.2 Подсчет посетителей с помощью прерываний
- •11.3 Сторожевой таймер
- •12 Фактор времени и аналоговый мир
- •12.1 Модуль таймера tmr1
- •12.2 Применение таймера tmr1
- •12.3 Аналоговый мир
- •Приложение а Список некоторых сокращений
- •Список литературы
- •Содержание
- •050013, Алматы, Байтурсынова, 126
12 Фактор времени и аналоговый мир
Цель лекции: научить студентов работать с временными факторами и обрабатывать аналоговые сигналы с применением цифровой техники.
Краткое содержание лекции. Модуль таймера TMR1 Управляющие биты TMR1. Применение таймера TMR1. Аналоговый мир и цифровая обработка сигналов. Преобразователи АЦП и ЦПА.
12.1 Модуль таймера tmr1
Во многих системах ключевые операции связаны со временем. Это может быть измерение длительности какого-либо события, подсчет числа внешних событий или же управление внешним объектом в течение определенного периода времени. В качестве примера можно указать задачу измерения интервала между импульсами, формируемыми датчиком при прохождении мимо него зубцов маховика коленчатого вала двигателя. Это значение далее используется для определения скорости вращения вала.
В тех случаях, когда время становится одним из важнейших критериев, для реализации указанных функций обычно используются аппаратные счетчики, например таймер TMR1, а не программно – формируемые задержки.
Управляют работой таймера TMR1 регистры специального назначения PIR1, TICON, INTCON, TMR1, TMR1H, TMR1L.
TMR1 – 16-разрядный таймер/счетчик, состоящий из двух 8-разрядных регистров (TMR1H и TMR1L), доступных для чтения и записи. Счет выполняется в этих спаренных регистрах. Инкрементируя их значение от 0000h до FFFFh. Если к FFFFh добавить единицу регистр переполнится и далее счет продолжится с 0000h. При переполнении счетчика устанавливается в '1' флаг прерывания TMR1IF (нулевой бит в регистре PIR1<0>). Само прерывание можно разрешить/запретить установкой/сбросом бита TMR1IE в регистре Р1Е1<0>.
Примечание. Цифра в скобках <0> обозначает номер бита регистра.
TMR1 может работать в режимах: режим таймера, режим счетчика.
Включается TMR1 установкой бита TMR1ON в ‘1’ (T1CON<0>).
Битом TMR1CS (T1CON<1>) выбирается внешний или внутренний источник тактовых импульсов. Счетчики TMR1 инкрементируются при каждом машинном цикле.
Когда включен генератор тактовых импульсов (T1OSCEN=1), выводы RC1/T1OSI/CCP2 и РС0/T1OSO/TICK1 настроены как входы. Значение битов TRISC<1:0> игнорируется, а чтение данных с этих выводов дает результат '0'.
Управляющие биты TMR1 находятся в регистре T1CON.
Предделитель TMR1 очищается при записи в TMR1L или TMR1H.
Регистр PIE1 (адрес 8Ch) доступен для чтения и записи, содержит биты разрешения периферийных прерываний. Чтобы разрешить периферийные прерывания необходимо установить в '1' бит PEIE регистра INTCON<6>.
Регистр INTCON (адреса 0Вh, 8Вh, 10Вh или 18Вh) доступен для чтения и записи. Он содержит биты разрешений и флаги прерываний: переполнения TMR1; изменения уровня сигнала на выводах PORTB; внешний источник прерываний RB0/INT.
Регистр
PIR1
доступен для чтения и записи, содержит
флаги прерываний периферийных модулей.
Примечание. Флаги прерываний устанавливаются при возникновении условий прерываний вне зависимости от установленных битов разрешения конкретных прерываний и бита общего разрешения прерываний GIE (INTCON<7>). Программное обеспечение пользователя должно сбрасывать соответствующие флаги при обработке прерываний от периферийных модулей.