5. Программное обеспечение виртуального измерительного комплекса
мужские легкие кожаные куртки
Исходный текст ADC10.PAS представляет собой не просто драйвер. В качестве примера он содержит небольшую прикладную программу вывода на экран результатов двадцати последовательных измерений, проводимых с интервалом в 500 мс.
program adc10;
uses crt;
var n, f, e : byte;
b,g : integer;
procedure init;
begin
b:=$378; n:=8;
port[b]:=2;
delay(100);
port[b]:=254;
delay(500);
end;
procedure acquisition;
begin
port[b]:=252; d:=0;
for f:=0 to n-1 do
begin
delay(2);
port[b]:=253;
e:=port[b+1] 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]:=2;
end;
procedure affiche;
begin
acquisition;
d:=(int(100*d))/100;
writeln(d);
delay(500);
end;
begin
clrscr;
init;
for g:=1 to 20 do
begin
affiche;
end;
end.
(* COPYRIGHT 1997 Patrick GUEULLE *)
Устройство на базе MAX 1243 также требует особого драйвера, версия которого на языке BASIC называется MAXIM8.BAS. Он определяет 8-разрядный режим работы данного компонента, на самом деле представляющего собой 10-разрядное устройство.
10 REM----MAXIMS----
20 KEY OFF:CLS
30 B=&H3F8:REM COM1:
40 N=8: REM число разрядов
50 OUT B+4,1
60 FOR T=0 TO 100:NEXT Т
70 OUT B+3,64
80 FOR T=0 TO 500:NEXT Т
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^(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
Шестнадцатеричная величина 3F8 в строке 30 предполагает, что устройство подключено к последовательному порту СОМ1. Чтобы иметь возможность использовать COM2 вместо COM1, надо заменить эту величину на 2F8, а при использовании порта COM3 или COM4 рекомендуется предварительно проверить установки BIOS по экрану настройки SETUP, выводимому на дисплей при включении ПК.
Страницы: 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
|