Скачиваний:
23
Добавлен:
01.05.2014
Размер:
465.41 Кб
Скачать

6. Пример программы для работы с устройством.

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<bios.h>

void signal_ADC(int);

int read_adc(int);

int TestADC(void);

int base_address;

void main(void)

{

char c;

int num_chanel;

do

{ clrscr();

printf("1 – Начало работы! \n2 – Выход \n\n Выбирайте: ");

scanf("%c",&c);

if(c=='1')

{ clrscr();

printf(" Поиск устройства .....");

if(TestADC())

{ printf(" Устройство найдено.\n\n Введите номер измеряемого канала (1-4).");

scanf("%d",&num_channel);

signal_ADC(num_channel);

}

else

{ printf(" Устройство не найдено."); getch(); }

}

while(c!='2');

}

void signal_ADC(int num_channel)

{

int Data[320];

int i,mask_channel=1;

mask_channel=mask_channel<<(num_channel-1);

outport(base_address,(mask_channel <<10)|0x4000); //сброс FIFO

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

Data[i]=read_adc(mask_channel); //чтение слова из устройства

//-----------------------------------Использование данных------------------------------------

}

int read_adc(int mask_channel)

{

outport(base_address,(num_channel<<4)|1); //запуск АЦП

return (inport(base_address+2)); //чтение данных

}

int TestADC(void)

{

char p1,p2;

p1=inportb(0x248);

p1=(p1>>10)&0x3F;

p2=inportb(0x2С8);

p2=(p2>>10)&0x3F;

if(p1==26) //десятичное значение “011010”

{ base_address=0x248; return 1; }

else if(p2==26)

{ base_address=0x2C8; return 1; }

else

return 0;

}

Выводы.

Результатом выполнения курсовой работы явилось создание системы сбора аналоговой информации. Спроектированное устройство удовлетворяет заданным требованиям и совместимо с магистралью ISA.

Список использованной литературы.

  1. Маркировка и обозначение радиоэлементов. Системы цветовой и буквенно-цифровой маркировки отечественных и зарубежных радиоэлектронных элементов. Справочник. – Мукосеев В.В., Сидоров И.Н. – М.: Горячая линия-Телеком, 2001.

  2. Популярные цифровые микросхемы: Справочник. – 2-ое издание. В.Л. Шило. Радио и связь, 1989.

  3. Проектирование элементов и узлов ЭВМ. Е.П. Угрюмов. Высшая школа, 1987.

  4. Цифровая схемотехника. Е.П. Угрюмов. БХВ-Петербург, 2002.

21

Соседние файлы в папке Курсовая работа5