Регистры направления PxDir
Каждый бит в каждом регистре PxDIR позволяет выбрать направление соответствующей ножки ввода/вывода, независимо от выбранной для этой ножки функции. Биты PxDIR для ножек ввода/вывода, выбранные для других функций модуля должны быть установлены так, как это требуется для другой функции.
Бит = 0: Ножка порта переключается на ввод;
Бит = 1: Ножка порта переключается на вывод.
Исходя из этого, настраиваем регистры P1DIR, P2DIR следующим образом:
P1DIR = 0xFF; P2DIR = 0x00;
2.1.2 Регистры флагов прерываний PxIfg
Каждый бит PxIFG – это флаг прерывания соответствующей ножки ввода/вывода, устанавливаемый, когда происходит перепад выбранного входного сигнала на ножке. Все флаги прерывания PxIFG запрашивают прерывание, когда установлен их соответствующий бит PxIE и установлен бит GIE. Каждый флаг PxIFG должен быть сброшен программно. Программное обеспечение также может устанавливать каждый флаг PxIFG, обеспечивая возможность генерации программно-инициированного прерывания.
Бит=0: Прерывание не ожидается
Бит = 1: Прерывание ожидается
Прерывания вызывают только перепады уровней, а не статические уровни. Если любой флаг PxIFG оказывается установленным во время выполнения процедуры обработки прерывания Px или устанавливается после команды RETI выполняемой процедуры обработки прерывания Px, установка флага PnIFGx генерирует другое прерывание. Таким образом, гарантируется, что каждый перепад уровня будет учтен.
2.1.3 Регистр разрешения прерываний PxIe
Каждый бит PxIE разрешает прерывание от соответствующего флага прерываний регистра PxIFG.
Бит = 0: Прерывание запрещено
Бит = 1: Прерывание разрешено
Соответственно, настраиваем: P2IE = 0x02.
2.1.4 Регистры выбора фронта прерываний PxIes
Каждый бит PxIES позволяет выбрать, по какому фронту сигнала будет происходить прерывание для соответствующей ножки ввода/вывода.
Бит = 0: Флаг PxIFG устанавливается при изменении уровня сигнала с низкого на высокий.
Бит = 1: Флаг PxIFG устанавливается при изменении уровня сигнала с высокого на низкий.
Выбираем срабатывание прерывания при изменении уровня сигнала с низкого на высокий: P2IES = 0x00.
2.1.5 Регистр управления таймером А TACTL
Настройка осуществлена следующим образом: тактирование от SMCLK, коэффициент деления равен 2, выбран режим непрерывного счета.
Кодировка: 1001100011
TACTL = 0x263
2 .1.6 Управляющий регистр 0 АЦП 12 ADC12CTL0
Настраиваем регистр следующим образом: время выборки - максимальное, включить АЦП12:
ADC12CTL0 = 0x210
2.1.7 Управляющий регистр 1 АЦП 12 ADC12CTL1
Здесь выбираем источник сигнала SAMPON – таймер выборки:
ADC12CTL1 = 0x200
Сигнал SAMPC0N управляет периодом выборки и началом преобразования. Когда SAMPCON имеет высокий уровень, выборка активна. При переходе сигнала SAMPCON с высокого уровня на низкий, стартует аналого-цифровое преобразование, которому необходимо 13 циклов ADC12CLK.
2.1.8 Регистр разрешения прерываний АЦП12 ADC12IE
Разрешение прерывания. Эти биты разрешают или запрещают запрос прерывания для битов:
ADC12IFGX.
0 - Прерывание запрещено
1 - Прерывание разрешено
Присваиваем биту значение 1: ADC12IE = 0x01.