Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие_модуль_2.doc
Скачиваний:
4
Добавлен:
29.08.2019
Размер:
3.04 Mб
Скачать

6.2.2.Настройка аналоговых входов

Регистры ADCON1, TRISA и TRISE отвечают за настройку выводов АЦП. Если выводы микросхемы настраиваются как аналоговые входы, то при этом должны быть установлены соответствующие биты в регистре TRIS. Если соответствующий бит сброшен в "0", вывод микросхемы настроен как цифровой выход со значениями выходных напряжений VOH и VOL .

Модуль АЦП функционирует независимо от состояния битов CHS2:CHS0 и битов TRIS.

6.2.3.. Аналого-цифровое преобразование

Сброс бита GO/-DONE в "0" во время преобразования приведет к его прекращению. При этом регистры результата (ADRESH:ADRESL) не изменят своего содержимого. После досрочного завершения преобразования необходимо обеспечить временную задержку 2TAD. Выдержав требуемую паузу, можно начать новое преобразование установкой бита GO/-DONE в "1".

На рис. 5.2. Показана последовательность получения результата после установки бита GO/-DONE.

6.2.4. Выравнивание результата преобразования

10-разрядный результат преобразования сохраняется в спаренном 16-разрядном регистре ADRESH:ADRESL. Запись результата преобразования может выполняться с правым или левым выравниванием, в зависимости от значения бита ADFM. Не задействованные биты регистра ADRESH:ADRESL читаются как "0". Если модуль АЦП выключен, то 8-разрядные регистры ADRESH и ADRESL могут использоваться как регистры общего назначения.

7.Прерывания микроконтроллеров

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

Если бит GIE (INTCON<7>) установлен в 1, разрешены все немаскируемые прерывания. Если GIE=0, то все прерывания запрещены. Каждое прерывание в отдельности может быть разрешено/запрещено установкой/сбросом соответствующего бита в регистрах INTCON, PIE1 и PIE2. При сбросе микроконтроллера бит GIE сбрасывается в 0.

При возвращении из подпрограммы обработки прерываний, по команде RETFIE, бит GIE аппаратно устанавливается в 1, разрешая все немаскированные прерывания.

В регистре INTCON находятся флаги следующих прерываний: внешнего сигнала INT, изменения уровня сигнала на входах RB7:RB4, переполнения TMR0.

В регистрах PIR1, PIR2 содержатся флаги прерываний периферийных модулей микроконтроллера, а в регистрах PIE1, PIE2 соответствующие биты разрешения прерываний. В регистре INTCON находится бит разрешения прерываний от периферийных модулей.

При переходе на подпрограмму обработки прерываний бит GIE аппаратно сбрасывается в 0, запрещая прерывания, адрес возврата из подпрограммы обработки прерываний смещается в стек, а в счетчик команд РС загружается вектор прерывания 004h. Источник прерываний может быть определен проверкой флагов прерываний, которые должны быть сброшены программно перед разрешением прерыванием, чтобы избежать повторного вызова.

Для внешних источников прерываний (сигнал INT, изменения уровня сигнала на входах RB7:RB4) время перехода на подпрограмму обработки прерываний будет составлять 3-4 машинных цикла. Точное время перехода зависит от конкретного случая, оно одинаково для 1 и 2-х цикловых команд. Флаги прерываний устанавливаются независимо от состояния соответствующих битов маски и бита GIE.

Индивидуальные флаги прерываний устанавливаются независимо от состояния соответствующих битов маски и бита GIE.

На рис. 7.1. Приведена структурная схема логики прерывания.

Рис.7.1. Структурная схема логики прерываний.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]