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

Страницы работы

Содержание работы

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО НАУКЕ И ОБРАЗОВАНИЮ

РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

"БРАТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ"

Кафедра

Управления в

технологических системах

Программно-аппаратное

обеспечение

цифровых систем

управления

ОТЧЁТ ПО ЛАБОРАТОРНЫМ РАБОТАМ № 1, 2

"Изучение функций конфигурации и тестирование платы"

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

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

Выполнили:

студенты группы АТП-01-2                                        Сопелева А. А.

                                                                                          Харлова А. С.

Проверил:

к.т.н., доцент кафедры УТС                                       Дедюхин А. А.

Братск 2005

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

Изучение функций конфигурации и тестирование платы.

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

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

1. Написать и отладить программу для установки базового адреса и номера прерывания, а выходным будет сообщение о верном выборе параметров конфигурации и успешном тестировании.

2. Написать и отладить программу для определения базового адреса и номера прерывания, путём перебора всех базовых адресов и номеров прерывания. Результаты перебора оформить в виде таблицы 5. Сравнить полученные данные с установленными.

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

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

1.

int main (void)

{

   //IRQ4

   //Base Address = 310h

   SETBASEADDRESS(0x310);     //установка нового базового адреса (по умолчанию 300h)

   INTR_SETUP(1);                         //установка номера прерывания 1->IRQ4

   if (!PLATA_TEST())                  //проверка наличия платы в компьютере

      printf ("Плата инициализирована\n");   //успешное тестирование если PLATA_TEST=0

   else

      printf ("Плата отсутствует в компьютере либо значение базового адреса платы не     

      соответствует установленному\n"); 

   return 0;

}

         2.

int main (void)

{

   int i=0, j=0x0, flag=0;

   printf ("\tBA\t\tIRQ\tTEST\n");

   for (i=0;i<4;i++) 

      {

         //IRQ

         for (j=0x300; j<=0x340; j+=0x10)

            {

                //BA

                 printf("\t%x\t\tIRQ%d\t\t",j,i+3);

                 if (PLATA_TEST())

                 printf ("NO\n"); //неправильно определён базовый адрес и номер прерывания

                else

                printf ("YES\n"); //правильно определён базовый адрес и номер прерывания

           }

      }

    return 0;

}

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

Таблица 1.1

Базовый адрес

Номер прерывания

Результат проверки

0x300

IRQ3

NO

0x310

IRQ3

NO

0x330

IRQ3

NO

0x340

IRQ3

NO

0x300

IRQ4

NO

0x310

IRQ4

YES

0x330

IRQ4

NO

0x340

IRQ4

NO

0x300

IRQ5

NO

0x310

IRQ5

NO

0x330

IRQ5

NO

0x340

IRQ5

NO

0x300

IRQ6

NO

0x310

IRQ6

NO

0x330

IRQ6

NO

0x340

IRQ6

NO

Похожие материалы

Информация о работе