Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ТСИ.doc
Скачиваний:
5
Добавлен:
26.09.2019
Размер:
1.97 Mб
Скачать

Работа сср в режиме шим

В режиме ШИМ модуль ССР формирует на выводы ССР1 ШИМ - процесс с 10-битной точностью установки длительности импульса и периода.

Период ШИМ - рассчитывается по формуле:

PWMper = 4*(PR2+1)*Tosc*TMR2presc

Длительность ШИМ- импульса задается значением регистра ССРR1L и двух бит ССР1СОN<5:4>:

PWMimp = (ССРR1L:ССР1СОN<5:4>)*Tosc*TMR2presc

и может быть обновлена в любой момент, однако изменение производится также как и для периода ШИМ в момент окончания формирования периода (т.е. когда ТМR2 = РR2). При этом значение ССРR1L переписывается в регистр ССРR1H и 2-битную защелку для хранения всего 10-битного значения.

В случае если длительность ШИМ - импульса больше периода, сброс вывода порта в 0 не производится. Таким образом, для перевода, модуля ССР в режим ШИМ необходимо выполнить следующие операции:

• Установить период ШИМ - сигнала записью соответствующего значения в регистр РR2;

• Установить длительность ШИМ - импульса с помощью регистра ССРR1L и 2-х битов ССР1СОN<5:4>;

• Конфигурация вывода ССР1 в режим вывода сбросом бита ТRISC<2> в регистре конфигурации порта С;

• Установить значение предделителя ТМR2 и включить ТМR2 установкой бита ТМR2ОN(Т2СОN<2>);

• Сконфигурировать модуль ССР в режим ШИМ установкой требуемых битов ССРхМЗ...ССРхМ0.

Схема модуля ССР в режиме ШИМ

Модуль ССР1:

Регистр ССРR1 модуля ССР состоит из двух 8-разрядных регистров: ССРR1L (младший байт), ССРК1Н (старший байт). В регистре ССР1СОN находятся управляющие биты модуля ССР1, доступные для записи и чтения. В режиме сравнения триггер специального события сбрасывает таймер ТМR1.

Модуль ССР2:

Регистр ССРR2 модуля ССР состоит из двух 8-разрядных регистров: ССРR2L (младший байт), ССРR2Н (старший байт). В регистре ССР2СОN находятся управляющие биты модуля ССР2, доступные для записи и чтения. В режиме сравнения триггер специального события сбрасывает таймер TМR1 и запускает преобразование АЦП (если АЦП включено).

Режим пониженного энергопотребления SLЕЕР

Переход в режим энергосбережения происходит по команде SLЕЕР. При переходе в режим SLЕЕР сторожевой таймер WDТ сбрасывается, но продолжает работать. В регистре STATUS бит –РD сбрасывается в '0', бит -ТО устанавливается в '1', тактовый генератор микроконтроллера выключен. Порты ввода/вывода остаются в том же состоянии, что и до выполнения команды SLЕЕР (высокий уровень, низкий уровень, третье состояние).

Для снижения энергопотребления в SLЕЕР режиме все каналы ввода вывода должны быть подключены к VDD или VSS при отсутствии токов из внешней схемы через выводы портов, выходы модуля компараторов и источника опорного напряжения выключены. Выводы находящиеся в третьем состоянии должны иметь высокий или низкий уровень сигнала, чтобы избежать токов переключения входных буферов. Вход Т0СК1 должен быть подключен к VDD или VSS для снижения энергопотребления. Должны учитываться внутренние подтягивающие резисторы, включенные на входах РОRТВ. На входе -МСLR должен быть высокий уровень сигнала.

У контроллеров с буквой 'L' в маркировке самое низкое энергопотребление.

Пример потребления контроллером РIС16F877:

при тактовой частоте 4 МГц и UDD = 3 В потребляет < 0.6 мА

при тактовой частоте 32 кГц и UDD =3 В потребляет 20 мкА (меньше в 30 раз)

Порт А (РОRТА): цифровой ввод-вывод, входы АЦП и таймеров. Выходы с открытым коллектором для управления нагрузкой (6 выводной).

Все каналы РОRTA имеют соответствующие биты направления в регистре TRISA, позволяющие настраивать канал как вход или выход. Запись '1' в TRISA переводит соответствующий выходной буфер в 3-е состояние. Запись '0' в регистр ТRISА определяет соответствующий канал как выход, содержимое защелки РОRТА передается на вывод микроконтроллера (если выходная защелка подключена к выводу микроконтроллера).

Порт В (РОRТВ): управление клавиатурой, внешнее прерывание, низковольтное программирование.

РОRТВ – 8-разрядный двунаправленный порт ввода/вывода. Биты регистра ТRISB определяют направление каналов порта. Установка бита в ‘1’ регистра ТRISB переводит выходной буфер в 3-е состояние. Запись '0' в регистр ТRISB настраивает соответствующий канал как выход, содержимое защелки РОRТВ передается на вывод микроконтроллера (если выходная защелка подключена к выводу микроконтроллера).

Три вывода РОRТВ мультиплицированы со схемой низковольтного программирования: RВЗ/РGМ, RВ6/РGС, RВ7/РGD.

Порт С (РОRТС): цифровой ввод-вывод (байтовый). Шины SPI, I2C, USART.

Биты регистра TRISC определяют направление каналов порта. Установка бита в ‘1’ регистра TRISC переводит выходной буфер в 3-е- состояние. Запись ‘0’ в регистр TRISC настраивает соответствующий канал как выход, содержимое защелки РОRТС передается на вывод микроконтроллера (если выходная защелка подключена к выводу микроконтроллера).

Выводы РОRТС мультиплицированы с несколькими периферийными модулями. На каналах РОRТС присутствует входной буфер с триггером Шмидта.

Порты D и Е (РОRТD, РОRТЕ): программно реализуемый параллельный порт.