Драйверы для 12-разрядных АЦП.

Схемы Программы Библиотека Все для сотового Компьютеры Поиск
Чат Форум Ссылки Рефераты Гостевая

 

 

Взад

(В главное меню)

Вперед

 

На сервере www.dmk.ru содержатся драйверы для четырех 12-разрядных АЦП:

• АЦП ADC 12 компании PICO Technology;

• версия АЦП на базе LTC 1286 или ADS 1286 (рис. 4.1, 4.3);

• версия АЦП на базе МАХ 1241 (рис. 4.6);

• версия АЦП на базе LTC 1286 или ADS 1286 (рис. 4.13, 4.14).

Так как АЦП ADC 12 собран на базе LTC 1292, он требует тактовой частоты не менее 100 кГц. В силу этого обстоятельства драйверы ADC12.BAS и даже ADC12.PAS следует с большой осторожностью использовать на старых и медленных ПК, поскольку в таком случае не всегда удается добиться результатов, которые может обеспечить АЦП ADC 10 при тех же условиях. Самая нежелательная ситуация возникает при исполнении программы в окне Windows, что еще больше замедляет работу по сравнению с выполнением непосредственно в DOS.

Иначе говоря, АЦП ADC 12 будет работать с полной отдачей только со своим программным обеспечением PICOSCOPE и PICO-LOG, причем под DOS лучше, чем под Windows.

10 REM----ADC12----

20 KEY OFF:CLS

30 B=&H378:REM LPT1:

40 N=12:REM число разрядов

50 OUT B,l

60 FOR T=0 TO 100:NEXT T

70 OUT B,254

80 FOR T=0 TO 500:NEXT T

90 GOTO 200

100 OUT B,252:D=0:REM ACQUISITION

105 OUT B,254:OUT B,252

106 OUT B,254:OUT B,252

110 FOR F=0 TO N-l

120 OUT B,254

130 E=INP(B+1) AND 128

140 OUT B,2S2

150 IF E=0 THEN D=D+2^(N-l-F)

160 NEXT F

170 D=5*D/(2^N-1)

180 OUT B,253:RETURN

190 REM (c)1997 Patrick GUEULLE

 

program add 2;

uses crt;

var n,f,e:byte; ,

b,g:integer;

d:real;

procedure init;

begin

b:=$378; n:=12;

port[b]:=1;

delay(100);

port[b]:=254;

1 delay(500);

end;

procedure acquisition;

begin

port[b]:=0; d:=0;

port[b]:=254;port[b]:=252;

portfb]:=254;port[b]:=252;

for f:=0 to n-l do

begin

port[b]:=254;

e:=port[b+l] and 128;

port[b]:=252;

if e=0 then d:=d+exp((n-l-f)*ln(2)) ;

end;

d:=(5*d)/(exp((n)*ln(2))-l);

port[b]:=253;

end;

procedure affiche;

end;

procedure affiche;

begin

acquisition;

d:=(int(100*d))/100;

writeln(d);

delay (500);

end;

begin

clrscr;

in it;

for g:=l to 20 do

begin

affiche;

end;

end.

(* COPYRIGHT 1997 Patrick GUEULLE *)

Описанные в книге устройства, работающие через последовательный порт (рис. 4.3 и 4.6), не имеют такого ограничения и могут наилучшим образом использовать точность высококачественных АЦП. Только версия с оптоизоляцией (рис. 4.13, 4.14) потребует определенной аккуратности, так как применение оптронов слегка ухудшает характеристики устройства в 12-разрядном режиме.

Из сказанного можно сделать вывод, что с АЦП LTC 1286 или ADS 1286 будут работать программы 12BITS.BAS и 12BITS.PAS при условии, что для связи с ПК используется последовательный порт СОМ1 (адрес 3F8h в строке 30).

10 REM----12BITS----

20 KEY OFF:CLS

30 B=&H3F8:REM COM1:

40 N=12:REM число разрядов

50 OUT B+4,1

60 FOR T=0 TO 100:MEXT T

7 0 OUT B+3,64

80 FOR T=0 TO 500:NEXT T

90 GOTO 200

100 OUT B+4,0:D=0:REM ACQUISITION

102 OUT B+4,2:OUT B+4,0

103 OUT B+4,2:OUT B+4,0

104 OUT B+4,2:OUT B+4,0

110 FOR F=0 TO N-l

120 OUT B+4,2

130 E=INP(B+6)AND 16 .

140 OUT B+4,0

150 IF E=16 THEN D=D+2^(N-1~F)

160 NEXT F

170 D=5*D/(2^N-1)

180 OUT B+4,1:RETURN

190 REM (c)1997 Patrick GUEULLE

 

program douzebits;

uses crt;

var n, f,e:byte;

b,g:integer;

d:real;

d:real;

procedure init;

begin

b:=$3F8; n:=12;

port[b+4]:=1;

delay(100);

port[b+3]:=64;

delay(500);

end;

procedure acquisition;

begin

port [b+4]:=0; d:=0;

port[b+4]:=2;port[b+4] :=2;

port[b+4]t=2;port[b+4]:=0;

port[b+4.] :=2;port[b+4] :=2;

port[b+4]:=2;port[b+4]:=0;

port[b+4]:=2-port[b+4]:=2;

port[b+4]:=2;port[b+4]:=0;

for f:=0 to n-l do

begin

port[b+4]:=2;

e:=port[b+6] and 16;

port [b+4]:=0;

if e=16 then d:=d+exp((n-l-f)*ln(2));

end;

d: = (5*d)/(exp((n)*ln(2)).-l);

port[b+4]:=1;

end;

procedure affiche;

begin

acquisition;

d:=(int(1000*d))/1000;

writeln(d);

delay(500);

end;

begin

clrscr;

init;

for g:=l to 20 do

begin

affiche;

end;

end. (* COPYRIGHT 1997 Patrick GUEOLLE *).

С АЦП MAX 1241 (рис. 4.6) будут работать программы MAXIM12.BAS на языке BASIC и MAXIM12.PAS на языке TurboPASCAL. '

10 REM----MAXIM12----

20 KEY OFF: CLS

30 B=&H3F8:REM COM1:

40 N=12:REM число разрядов

50 OUT B+4,1

60 FOR T=0 TO 100:NEXT T

70 OUT B+3,64

80 FOR T=0 TO 500:NEXT T

90 GOTO 200 .

100 OUT B+4,0:D=0:REM ACQUISITION

105 OUT B+4,2:OUT B+4,0

110 FOR F=0 TO N-l .

120 OUT B+4,2

130 E=INP(B+6) AND 16

140 OUT B+4,0

150 IF E=16 THEN D=D+2^A(N-1-F)

160-NEXT F

170 D=5*D/(2^N-1)

180 OUT B+4,1:RETURN

190 REM (c)1997 Patrick GUEULLE

 

program maximl2;

uses crt;

var n,f,e:byte;

b,g:integer;

d:real;

procedure init;

begin

b:=$3F8; n:=12;

port[b+4]:=1;

delay(100);

porttb+3]:=64;

delay(500);

end;

procedure acquisition;

begin

port[b+4]:=0; d:=0;

port[b+4]:=2;port[b+4]:=2;

port[b+4]:=2;port[b+4]:=0;

for f :=0 to n-l do

begin

port [b+4]:=2;

e:=pprt[b+6] and 16;

port[b+4]:=0;

if e=16 then d:=d+exp((n-l-f)*ln(2)) ;

end ;

d:=(5*d)/(exp((n)*ln(2))-l);

port[b+4]:=1;

end;

procedure affiche;

begin

acquisition;

d:=(int(1000*d) )/1000;

writeln(d);

delay(500);

end;

begin

clrscr;

init;

for g:=l to 20 do

begin

affiche;

end;

end.

*'COPYRIGHT 1997 Patrick GUEULLE *)

 

Взад

(В главное меню)

Вперед

--------------------------------------------------------------------------------------------------------------------------------------------

По всем вопросам работы сайта пишите!

 Рейтинг@Mail.ru

Дизайн и программирование - Joker -  2005г.

Используются технологии uCoz
Joker -  2005г.
Используются технологии uCoz