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

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

 

 

Взад

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

Вперед

 

Так как 10-разрядной версии ADC 10 не существует, приводимые здесь драйверы относятся только к трем устройствам для самостоятельной сборки:

• версия АЦП на базе TLC 1549 (рис. 4.1, 4.3);

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

• версия АЦП на базе TLC 1549 (рис. 4.13, 4.14).

Версия на языке BASIC для обоих устройств на базе TLC 1549 называется 10BITS.BAS. Она написана для работы с последовательным портом СОМ1 (3F8h).

10 REM----1 OBITS ----

20 KEY OFF:CLS

30. B=&H3F8:REM COM1:

40 N=10: 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

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-l-F)

160 NEXT F ' 170 D=5*D/(2^N-1)

180 RETURN

190 REM (c)1997 Patrick GUEULLE

Версия того же драйвера на языке TurboPASCAL с выводом на экран результатов двадцати измерений называется 10BITS.PAS.

program dixbits;

uses crt;

var n,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 acquisition;

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)) ;

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 *)

Устройство на базе MAX 1243 требует особого драйвера MAXIM 10.BAS и также предназначено для работы с последовательным портом СОМ1 (3F8h).

10 REM----MAXIM10----

20 KEY OFF:CLS

30 B=&H3F8:REM COM1:

40 N=10: 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-1

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^AN-1)

180 OUT B+4,1:RETURN

190 REM (c)1997 Patrick GUEULLE

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

program dixbits;

uses crt;

var n,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;

port[b+3]:=64; delay(500);

end;

procedure acquisition;

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 *)

 

Взад

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

Вперед

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

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

 Рейтинг@Mail.ru

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

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