Изучение функций конфигурации и тестирование платы. Установка номера канала АЦП и аналого-цифровое преобразование, страница 2

Результат программы подтверждает установленные базовый адрес и номер прерывания.

Вывод по работе. В данной лабораторной работе была изучена конфигурация и протестирована плата АЦП с помощью разработанных на языке С++ программ.


Лабораторная работа № 2.

Установка номера канала АЦП

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

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

Задание на лабораторную работу.

1. Написать и отладить программу для установки номера канала АЦП.

2. Написать и отладить программу для однократного асинхронного ввода с АЦП при помощи предварительно установленного канала.

3. Написать и отладить программу, где входными данными будут режим подключения, коэффициент усиления, номер канала АЦП, а выходным будет значение напряжения, снятого с этого канала.

Листинг программ и

пояснение операторов, используемых в них.

1.

int main (void)

{

    SETCHANNEL(0x7c); // установим канал

    //U2=0; U1=1 (УСИЛЕНИЕ=2)

    //номер канала – 28 (11100)

    //0111 1100 = 7с

    return 0;

}

2.

int main (void)

{

   int i;

   SETCHANNEL(0xA9); //установим канал

   //U2=1; U1=1 M32=0

   //10-ый канал (16 кан. подкл.) 01001

   // 1100 1001 =A9

   i=sample(); //вводим значение с канала

   printf ("Код АЦП=%d", i); //выведем его на экран

   return 0;

}

3.

int main (void)

{

   int usil, reg, n, byte; // переменные режимы усиления и подключения, номер канала

   double out; // переменная значение на выходе

   printf ("Введите режим подключения 1-16 каналов или 1-32 каналов");

   scanf ("%d", &reg);

   printf ("Введите режим усиления 1, 2, 5");

   scanf ("%d", &usil);

   printf ("Введите номер канала 1-16 или 1-32");

   scanf ("%d", &n);

   switch (usil)

   {

       case 1: byte=0xc0; break;

       case 2: byte=0x40; break;

       case 5: byte=0x80; break;

       default: break;

   }

    if (reg) byte=byte||0x20;

    byte=byte+n-1;

    SETCHANNEL(byte); //установка канала

    out=sample(); //вводим значение с канала

    out=out*5,12/(usil*4096);

    printf ("напряжение=%f", out); //выводим значение с канала на экран

    return 0;

}

Вывод по работе. В данной работе мы изучили функции для обеспечения однократного асинхронного ввода аналогового сигнала в компьютер. В процессе достижения цели работы были написаны программы на языке С++.