Код
void InitializationADC (void) // Функция инициализации модуля АЦП микроконтроллера
{
// Управляющий регистр 0 АЦП12 - ADC12CTL0
ADC12CTL0 = ADC12ON | // Включаем модуль АЦП
MSC | // Разрешаем режим множественных выборок и преобразований (только для последовательных и повторных режимов преобразования)
SHT1_4; // Устанавливаем время выборки и хранения для ячеек памяти результатов преобразования с 8 по 15 равным 32 циклам
// ENC | // Разрешаем преобразование
// ADC12SC; // Запускаем преобразование
// Управляющий регистр 1 АЦП12 - ADC12CTL1
ADC12CTL1 = SHP | // Источник сигнала SAMPCON -> таймер выборки и хранения
ADC12SSEL0 | ADC12SSEL1 | // Источник тактирования АЦП -> тактовая частота SMCLK
CONSEQ_3 | // Режим работы АЦП -> повторяющаяся последовательность каналов
// CONSEQ_2 | // Режим работы АЦП -> повторяющийся одноканальный
CSTARTADD_15 | // Стартовый адрес начала преобразования АЦП -> ADC12MEM15
ADC12DIV_3; // Тактовый делитель частоты тактирования = 4
// Управляющий регистр памяти преобразований АЦП12
ADC12MCTL15 = INCH_10; // Для ячейки памяти №15 включаем внутренний датчик температуры
// Управляющий регистр разрешения прерываний АЦП - ADC12IE
ADC12IE = ADC12IV_ADC12IFG15; // Разрешаем прерывание от АЦП при заполнении 15 ячейки памяти
}
{
// Управляющий регистр 0 АЦП12 - ADC12CTL0
ADC12CTL0 = ADC12ON | // Включаем модуль АЦП
MSC | // Разрешаем режим множественных выборок и преобразований (только для последовательных и повторных режимов преобразования)
SHT1_4; // Устанавливаем время выборки и хранения для ячеек памяти результатов преобразования с 8 по 15 равным 32 циклам
// ENC | // Разрешаем преобразование
// ADC12SC; // Запускаем преобразование
// Управляющий регистр 1 АЦП12 - ADC12CTL1
ADC12CTL1 = SHP | // Источник сигнала SAMPCON -> таймер выборки и хранения
ADC12SSEL0 | ADC12SSEL1 | // Источник тактирования АЦП -> тактовая частота SMCLK
CONSEQ_3 | // Режим работы АЦП -> повторяющаяся последовательность каналов
// CONSEQ_2 | // Режим работы АЦП -> повторяющийся одноканальный
CSTARTADD_15 | // Стартовый адрес начала преобразования АЦП -> ADC12MEM15
ADC12DIV_3; // Тактовый делитель частоты тактирования = 4
// Управляющий регистр памяти преобразований АЦП12
ADC12MCTL15 = INCH_10; // Для ячейки памяти №15 включаем внутренний датчик температуры
// Управляющий регистр разрешения прерываний АЦП - ADC12IE
ADC12IE = ADC12IV_ADC12IFG15; // Разрешаем прерывание от АЦП при заполнении 15 ячейки памяти
}