Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Регистр OPTION_REG (адрес 81 h или 181 h)




R/W–1 R/W–1 R/W–1 R/W–1 R/W–1 R/W–1 R/W–1 R/W–1
–RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
Бит 7 Бит 6 Бит 5 Бит 4 Бит З Бит 2 Бит 1 Бит 0

Рисунок3.20

 

Выбор коэффициент деления определяется значением битов OPTION_REG<2>, OPTION_REG<1>, OPTION_REG<0> (таблица 3.12).

 

Таблица 3.12

 

PS2: PS1: PS0: Коэф. делен.
Значение
  1:2
  1:4
  1:8
  1:16
  1:32
  1:64
  1:128
  1:256

 

Когда бит T0CS установлен в '1' (OPTION_REG<5>), TMR0 работает от внешнего источника тактового сигнала с входа RA4/T0CKI. Активный фронт внешнего тактового сигнала выбирается битом T0SE в регистре OPTION_REG<4> (T0SE = 0 – активным является передний фронт сигнала).

Более подробное описание работы таймера-0 приведено в разделе 1.10.

 

Рассмотрим формирование временной задержки в 20ms, оформив её в виде подпрограммы DELAY_SCAN, как в Лабораторной работе № 6.

 

DELAY_SCAN:

bcf STATUS,RP0; Банк 0

bcf STATUS,RP1;

 

bcf INTCON,T0IF; снять флаг прерывания

movlw 64h; загрузить TMR0 = 64h(100)

movf TMR0;

 

bsf STATUS,RP0; Банк 1

bcf STATUS,RP1;

 

movlw b’00000110’; TMR0 от внутреннего сигнала

movf OPTION_REG; предделитель 1:128

 

bcf STATUS,RP0; Банк 0

bcf STATUS,RP1;

 

bsf INTCON,T0IE; запуск TMR0

 

btfsz INTCON,T0IF; ожидание флага переполнения

goto $-1;

return

 

При Fтакт = 4 МГц частота машинного цикла равна 1 МГц, что составляет Tтакт = 1 μs.

Общее время задержки, составляет:

 

Команда Назначение Время выполнения
call DELAY_SCAN Вызов собственно п/п 2 μs
bcf STATUS,RP0.. ! … bsf INTCON,T0IE Первые 12 команд 12*(1 μs)
btfsz INTCON,T0IF Проверка условия (1 μs) Здесь считает таймер
goto $-1 Переход если ложно (2 μs)
nop Когда истинно то goto пропускается 1 μs
return Собственно выход из п/п 2 μs

Итого: 20ms (20000μs - 17 μs) = Tтакт *128*N. Время цикла таймера после предделителя составляет 128 μs.

N = 156, что возможно при загрузке в TMR0 значения: 256-100(64h).

 

Содержание лабораторной работы

1. Реализовать программу бегущих огней с задержкой между переключениями Тзад = 1сек. При формировании подпрограммы задержки использовать опыт создания п/п DELAY_SCAN.

Как один из вариантов получения задержки в 1 сек, можно использовать 100-кратный вызов рассмотренной в п 3.7.2 п/п DELAY_SCAN.

5. Используя краткие сведения из раздела 3.7.2 реализовать программу подсчёта числа импульсов, приходящих на вывод RA4/T0CKI.

 

Порядок проведения лабораторной работы

1. Создайте новый проект и, пользуясь рассмотренными выше примерами, напишите и введите программу.

2. Откомпилируйте проект и перейдите к режиму симуляции.

3. Откройте окна регистров специальных функций и ОЗУ данных.

4. Выполняя в пошаговом режиме (F7) проанализируйте содержимое регистров STATUS, OPTION_REG, INTCON, FSR и содержимое TMR0.

Примечание:

1. При переходе, в пошаговом режиме, к команде вызова подпрограммы нажмите клавишу (F8), которая позволит выполнить подпрограмму за один шаг.

2. В теле подпрограммы DELAY_SCAN задайте значения TMR0 например как 02h, что позволит пронаблюдать работу подпрограммы задержки за много меньшее число тактов.

3. Имитацию внешних воздействий на входе RA4/T0CKI произведите с помощью асинхронных стимулов, рассмотренных в разделе 3.6.4, Лабораторной работы № 6.

 

3.7.5 Контрольные вопросы:

1. Что произойдёт с содержимым предделителя при записи нового значения в TMR0?

2. Каков максимальный коэффициент деления можно осуществить с помощью TMR0 при наличии предделителя?

3. Какие факторы определяют время выполнения группы команд микроконтроллера?

4. Чем ограничена частота внешнего входного сигнала для TMR0?

 


3.8 Лабораторная работа № 8
«ИЗУЧЕНИЕ СПОСОБОВ ОБРАБОТКИ ПРЕРЫВАНИЙ»

Цель работы

Изучить особенности использования таймера для формирования программно-независимых временных задержек и подсчёта внешних событий.

3.8.2 Краткие сведения

 

PIC16F87X имеют 14 источников прерываний. Регистр INTCON содержит флаги отдельных прерываний, биты разрешения этих прерываний и бит глобального разрешения прерываний.

 





Поделиться с друзьями:


Дата добавления: 2016-11-02; Мы поможем в написании ваших работ!; просмотров: 877 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Люди избавились бы от половины своих неприятностей, если бы договорились о значении слов. © Рене Декарт
==> читать все изречения...

2450 - | 2243 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.