Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Краткие теоретические сведения. Таймер TMR1 входит в состав периферийных устройств микрокон-троллера PIC16F877A
Таймер TMR1 Таймер TMR1 входит в состав периферийных устройств микрокон-троллера PIC16F877A. TMR1- 16-разрядный таймер/счетчик, состоящий из двух 8-разрядных регистров (TMR1H и TMR1L), доступных для чтения и записи. Счет выполняется в спаренных регистрах (TMR1H: TMR1L), инкрементируется их значение от 0000h до FFFFh. Если перед включением TMR1 в эти регистры будут записаны некоторые числа, то после включения TMR1 единица добавляется вначале к значению, записанному в регистр TMR1L. Включается TMR1 установкой бита TMR1ON в 1 (регистр T1CON< 0>). При переполнении регистров они будут снова равны 0000h. При переполнении счетчика устанавливается в 1 бит флага прерывания TMR1IF в регистре PIR1< 0> вне зависимости от состояния бита разрешения/запрещения прерываний. Флаг прерывания снимается в программе обработки прерывания или по ходу выполнения программы. Запрет прерывания, (при котором не будет вызвана программа обработки прерывания, название которой указывается в адресе 04h) может быть выполнен: - установкой бита глобального запрещения/разрешения прерываний GIE=0 (регистр INTCON< 7>); - установкой бита запрещения/разрешения прерываний от периферий- ных устройств PEIE=0 (регистр INTCON< 6>); - установкой бита запрещения/разрешения периферийных прерываний TMR1IE=0 (регистр РIЕ1< 0>). Если прерывания будут разрешены (соответствующие биты равны 1), то после переполнения счетчика запустится подпрограмма обработки этого прерывания, название которой записывается в память программ по адресу 04h. (разумеется, можно в подпрограмме обработки прерывания, анализируя флаги прерывания, выявить причину появления прерывания и правильно определить реакцию программы на это прерывание). TMR1 может работать в режимах: режим таймера, режим счетчика. В лабораторных работах рассмотрен только режим таймера. Управляющие биты TMR1 находятся в регистре T1CON. Если бит TMR1CS=0 (регистр T1CON< 1>), то выбирается внутренний источник тактовых импульсов Fosc/4. TMR1 инкрементируется при каждом машинном цикле, т.е. вначале заполняется регистр TMR1L и после его переполнения добавляется 1 в регистр TMR1H. Регистр TMR1L обнуляется и опять инкрементируется. При переполнении регистра TMR1H появляется прерывание, а бит TMR1IF в регистре PIR1< 0> становится равным 1 (появляется «флаг»). Этот флаг необходимо программно снимать, чтобы различить следующее переполнение. Если TMR1 не выключен, то он автоматически начнет заполняться до нового переполнения. Запускается TMR1 установкой бита TMR1ON в единицу в регистре T1CON< 0>. Регистры TMR1H и TMR1L не сбрасываются в 00h при сбросе по включению питания и других видах сброса, кроме сброса по сигналу триггера специальных событий модуля ССР1 и ССР2. Предделитель TMR1 предназначается для замедления заполнения счетчика в соответствии со своей настройкой. Коэффициент деления предделителя (биты 5-4 в регистре T1CON< 5: 4>) принимает следующие значения: 11 = 1: 8; 10 = 1: 4; 01 = 1: 2; 00 = 1: 1. Предделитель очищается при записи чисел в регистр TMR1L или TMR1H. Таблица 5.1 - Задания по изменению времени работы TMR1
Алматинский университет энергетики и связи Некоммерческое акционерное общество
Кафедра «Электроснабжение промышленных предприятий»
|