PIC-Контроллеры. Воробьева Г.С - 33 стр.

UptoLike

33
специальных функций расположенные в одном банке, могут быть
отображены в другом банке.
Управление периферийными устройствами сводится к установке
(сбросу) и опросу соответствующих битов регистров специальных
функций. Карта памяти данных приведена в приложении 1. Для работы
с регистрами специальных функций используются те же команды, что и
для работы с универсальными регистрами. Система команд приведена в
приложении 2.
Ниже будут описаны основные, необходимые для управления
микроконтроллером, регистры.
Для наглядности состояния порта С микроконтроллера, на
демонстрационной плате к нему включены светодиоды. Для настройки
порта на ввод в регистр-защелку (для порта C это TRISC) нужно
записать «1», и соответственно «0» - на вывод. Регистр TRISC
находится в первом банке.
Если требуется осуществить косвенную адресацию, используют
регистры косвенной адресации FSR и INDF. Для того чтобы прочитать
ячейку памяти данных или записать в нее, нужно занести в регистр FSR
адрес этой ячейки, а данные этой ячейки в регистр INDF. Следует
отметить, что 7 бит регистра STATUS – IRP и 7 бит регистра FSR
отвечают за выбор банка при косвенной адресации.
Управление прерываниями осуществляется записью в регистр
INTCON соответствующих битов. Вектор прерываний находится по
адресу 0004h памяти программ, и, следовательно, данный адрес
необходимо зарезервировать для обработчика прерываний. Возврат из
обработчика прерываний осуществляется командой RETFIE.
4. МОДУЛЬ АЦП
Модуль аналого-цифрового (A/D) преобразователя у
микроконтроллера PIC16F877 имеет восемь аналоговых вводов.
A/D обеспечивает преобразование аналогового входного сигнала в
соответствующий 10-разрядный цифровой код. A/D преобразование
осуществляется методом последовательного приближения, на время
преобразования уровень входного сигнала удерживается устройством
выборки и хранения. Источник опорного напряжения задается
программно. Внутренним источником является положительное
напряжение питания устройства (V
DD
)
A/D преобразователь может работать, когда микроконтроллер
находится в режиме SLEEP. В таком случае АЦП должен тактироваться