При напряжении питания больше 4,5 В изготовитель рекомендует применять конденсаторы со значениями С1 = С2 = 30 пФ.
Рисунок 3.6 - Схема подключения внешнего генератора
При использовании независимого внешнего генератора, его схема может быть любой. Выход генератора подключается к выводу OSC1, вывод OSC2 обязательно должен остаться свободным, в противном случае контроллер может выйти из строя. Контроллер в этом случае настраивается в режим XT, LP или HS.
Если приложение некритично к величине и стабильности тактовой частоты, можно применить недорогой RC-генератор. Резистор и конденсатор являются внешними элементами.
Рекомендуемый номинал резистора лежит в пределах от 5 кОм до 100 кОм. При использовании резистора менее 4 кОм генерация может быть нестабильной или вообще не возникнет. При слишком большом номинале, порядка 1 МОм и выше, на работу генератора начинают влиять внешние наводки и шумы схемы, а также монтажная емкость и влажность платы. Несмотря на то, что генератор может работать вообще без внешнего конденсатора, рекомендуется применять конденсатор с емкостью порядка 20 пФ для увеличения стабильности и помехоустойчивости генератора.
Рисунок 3.7 - Схема внешнею RC-генератора
Частота тактового генератора зависит от мигающего напряжения, номиналов резистора и конденсатора и варьируется от кристалла к кристаллу.
В режиме RC с вывода OSC2/CLKOUT можно снимать импульсы с частотой одна четвертая от тактовой и использовать эти импульсы для тактирования или синхронизации остальной схемы.
Когда контроллер настроен в режим RC, на его вывод OSC1/CLKIN нельзя подавать импульсы от внешнего генератора, так как можно вывести кристалл из строя.
Организация сброса.
Для PIC16F84 доступны следующие пять вариантов сброса:
- Сброс по включению питания
- Сброс по входу MCLR во время нормальной работы
- Сброс по входу MCLR в режиме SLEEP
- Сброс по переполнению сторожевого таймера (WDT) во время нормальной работы
- Сброс по переполнению сторожевого таймера (WDT) в режиме SLEEP
Если питающее напряжение при включении устанавливается достаточно быстро, не дольше, чем за 70мс, то можно обойтись без внешней цепи сброса и подключить вывод MCLR непосредственно к плюсовой шине питания. При достижении питающим напряжением уровня 1.2-1.7V сформируется внутренний сигнал сброса и начнется отсчет времени задержки сброса специальным внутренним таймером PWRT (Power-up timer). За это время питающее напряжение должно подняться до нормального рабочего уровня. Таймер PWRT работает от независимого встроенного RC-генератора, время задержки равняется примерно 72мс и может несколько изменяться от кристалла к кристаллу, а также в зависимости от температуры. После окончания задержки таймера PWRT включается таймер запуска основного тактового генератора, но он тактируется непосредственно от этого генератора и отсчитывает 1024 импульса.
Таймер PWRT может быть включен или выключен изменением бита PWRTE в слове конфигурации.
Если питающее напряжение нарастает медленно, может понадобиться внешняя цепь сброса.
Рисунок 3.8 - Внешняя цепь сброса
Организация прерываний
Микроконтроллеры PIC16F84 имеют четыре источника прерываний:
- Внешнее по входу RB0/INT
- Внешнее по изменению состояния одной из линий RB4-RB7 порта В
- Внутреннее по переполнению таймера/счетчика TMR0
- Внутреннее по окончанию записи в EEPROM.
Для каждого из прерываний 1, 2 и 3 существует свой флаг-бит в регистре INTCON, сигнализирующий о поступлении конкретного вида запроса. Для прерывания 4 флаг-бит хранится в регистре EECON1. Анализируя эти биты подпрограмма обработки прерываний, начинающаяся с адреса 0004h, определяет источник прерывания. Кроме этого, в регистре INTCON содержится бит глобального запрета прерываний GIE и биты индивидуального запрета каждого прерывания. Когда бит GIE сброшен, все прерывания запрещены. При включении питания бит GIE по умолчанию сброшен.
Когда поступает прерывание, бит GIE сбрасывается, чтобы не допустить возникновения нового прерывания (поскольку у микроконтроллера PIC16F84 существует только один вектор прерывания), адрес возврата загружается в стек, а в программный счетчик загружается адрес-вектор 0004h. Инструкция возврата из подпрограммы обработки прерывания RETFIE устанавливает бит GIE в единицу, тем самым разрешая прерывания. Перейти на страницу: 3 4 5 6 7 8 9 10
Другое по теме:
Построение вычислительных сетей на основе технологий CISCO Компания Horns&Hoofs, занимающаяся продажами товаров широкого потребления в регионе, занимает три корпуса. Все здания имеют различные заземления. Каждое здание имеет только одно заземление. Пол покрыт керамической плиткой, если тольк ...