Главная  Компьютер 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [ 27 ] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46]

105 OUT В+4,2 :ОиТ В+4 ,0 110 FOR F=0 ТО N-1 120 OUT В+4,2 130 E=INP{B+6) AND 16 140 OUT B+4,0

150 IF E=16 THEN D=D+2" (N-l-F)

160 NEXT F

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

180 OUT B+4,1:RETURN

190 REM (c)1997 Patrick GUEULLE

Его версия на языке TurboPASCAL называется MAXIMIO.PAS.

program dixbits; uses crt; varn.f ,e:bYte;

b,g:integer;

d:real; procedure init; begin

b:=$3F8; n:=10; port[b+4]:=1; delay(100); port[b+3]:=64; delay(500); end;

procedure accjuisition; begin

port[b+4] :=0; d:=0; for f :=0 to n-1 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); end;

procedure affiche; begin

acquisition;

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

writeln(d);

delay(500);

end;

begin

clrscr;

init;

for g:=l to 20 do begin



affiche; end; end.

(* COPYRIGHT 1997 Patrick GUEULLE *)

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

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

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

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

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

• версия АЦП на базе LTC 1286 или ADS1286 (рис. 4.13, 4.14). Так как АЦП ADC 12 собран на базе LTC 1292, он требует тактовой

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

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

10 REM----ADC12----

20 KEY OFF:CLS

30 B=&H378:REMLPT1:

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

50 OUTB.l

60 FORT=0TO100:NEXTT 70 OUT B,254

80 FOR T=0 TO 500 :NEXT T 90 GOTO 200

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

105OUTB,254:OUTB,252

106 OUT B, 254 :OUT B,252

110 FOR F=0 TON-1

120 OUT B,254

130E=INP(B+1) AND 128

140 OUT B,252

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

160 NEXT F

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

180OUTB,253:RETURN

190 REM (c)1997 Patrick GUEULLE



program adcl2;

uses crt ;

var n, f .eibyte.-b.giinteger.-direal;

procedure init;

begin

b:=$378; n:=12; port[b]:=l; delay(100); port[b]:=254; delay (500); end;

procedure acquisition; begin

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

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

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

for f :=0 ton-1 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))-1);

port[b]:=253;

end;

procedure affiche; begin

acquisition; d:={int{100*d))/100; writeln{d); delay(500); end;

begin

clrscr;

init;

for g:=l to 20 do begin affiche; end; end.

{* COPYRIGHT 1997 Patrick GUEULLE *)

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



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [ 27 ] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46]

0.0009