Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Как ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π² ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ комплСкс». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 14

Автор ΠŸΠ°Ρ‚Ρ€ΠΈΠΊ Π“Ρ‘Π»Π»ΡŒ

begin

port[b+4]:=2;

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

port[b+4]:=0;

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

end;

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

port[b+4]:=1;

end;

procedure affiche;

begin

acquisition;

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

writeln(d);

delay(500);

end;

begin

clrscr;

init;

for g: =1 to 20 do

begin

affiche;

end;

end.

(* COPYRIGHT 1997 Patrick GUEULLE *)


Π‘ АЦП МАΠ₯ 1241 (рис. 4.6) Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ MAXIM12.BAS Π½Π° языкС BASIC ΠΈ MAXIM12.PAS Π½Π° языкС TurboPASCAL.


10 ΠΠ•Πœ β€” MAXIM12 β€”

20 KEY OFF: CLS

30 B=&H3F8: REM COM1:

40 N= 12: RΠ•Πœ число разрядов

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

180 OUT B+4,1: RETURN

190 REM (c) 1997 Patrick GUEULLE


program maxim12;

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

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]:=2; port[b+4]:=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-1-f)*ln(2))

end;

d:=(5*d)/(exp((n)*ln(2))β€”1);

port[b+4]:=1;

end;

procedure affiche;

begin

acquisition;

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

writeln(d);

delay(500);

end;

begin

clrscr;

init;

for g:=1 to 20 do

begin

affiche;

end;

end.

(* COPYRIGHT 1997 Patrick GUEULLE *)


ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ продСмонстрировано, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌ приносит ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ практичСскиС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ измСнСния (часто ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’ любом случаС объСдинСниС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выполняСтся ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ MERGE (Π² языкС BASIC).

Для использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ VOLTS.BAS совмСстно с АЦП ADC 10, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° языкС GWBASIC ΠΈΠ»ΠΈ эквивалСнтном Π½Π°Π΄ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки:

load "ADC10" (Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°);

Π·Π°Ρ‚Π΅ΠΌ

MERGE "VOLTS" (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹).

По ΠΊΠΎΠΌΠ°Π½Π΄Π΅ RUN запускаСтся получСнная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

SAVE "ИМЯ", А (Ссли ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π² тСкстовом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅);

ΠΈΠ»ΠΈ просто:

SAVE "ИМЯ" (Ссли ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅).

Π‘ΡƒΠ΄Π΅Ρ‚ цСлСсообразно произвСсти ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ составлСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС TurboPASCAL, Π² Ρ„Π°ΠΉΠ» ИМЯ.EXE, исполняСмый нСпосрСдствСнно ΠΏΠΎΠ΄ DOS ΠΈΠ»ΠΈ Windows. Для этого Π½Π°Π΄ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² распоряТСнии ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ компилятор, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Turbo BASIC ΠΈΠ»ΠΈ Quick BASIC.


Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π²ΠΎΠ»ΡŒΡ‚ΠΌΠ΅Ρ‚Ρ€

ΠžΡ‡Π΅Π½ΡŒ короткая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° VOLTS.BAS прСкрасно ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΠ΅Ρ€Π²Ρ‹Ρ… шагов Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ собранного ΠΈΠ»ΠΈ ΠΊΡƒΠΏΠ»Π΅Π½Π½ΠΎΠ³ΠΎ АЦП, Π½ΠΎ ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Π° ΠΈ для Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡.


200 REM VOLTS

210 GOSUB 100

220 D=INT(100*D)/100

230 LOCATE 1,1

240 PRINT USING "##.##"; D

250 GOTO 210

260 REM (c) 1997 Patrick GUEULLE


ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ экрана Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ напряТСния (Π² Π²ΠΎΠ»ΡŒΡ‚Π°Ρ…), ΠΏΠΎΠ΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° Π²Ρ…ΠΎΠ΄ модуля прСобразоватСля. Π­Ρ‚Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° подвСргаСтся ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, поэтому данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Β«Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅Β», Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ использовании ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… ПК.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ LOCATE, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅ΠΉ курсор Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ ΡƒΠ³ΠΎΠ» экрана, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π°ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ старого значСния Π½ΠΎΠ²Ρ‹ΠΌ. ΠŸΡ€ΠΈ этом индикация постоянно обновляСтся со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, Ρ€Π°Π²Π½ΠΎΠΉ частотС взятия Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ, Ρ‚. Π΅. ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² классичСском Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ Π²ΠΎΠ»ΡŒΡ‚ΠΌΠ΅Ρ‚Ρ€Π΅.

Надо ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° способ, посрСдством ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ измСрСнная Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° округляСтся Π΄ΠΎ Π΄Π²ΡƒΡ… Π·Π½Π°ΠΊΠΎΠ² послС запятой (строка 220), Π° ΠΏΠΎΡ‚ΠΎΠΌ выводится Π² ТСстком Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ точности (строка 240). ПодобноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π² дальнСйшСм.

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° рассчитана Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ совмСстно с 8- ΠΈΠ»ΠΈ 10-разрядным АЦП (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ 1 %), Π½ΠΎ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с 12-Ρ€Π°Π· рядным АЦП, исправив строки 220 ΠΈ 240 ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈ обСспСчив ΠΏΡ€ΠΈ этом Ρ‚Ρ€ΠΈ ΠΈΠ½Π΄ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π·Π½Π°ΠΊΠ° послС запятой (Ρ‚. Π΅. Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ 0,1 %):

220 D=INT(1000*D)/1000

240 PRINT USING "##.###"; D

НС стоит Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ· Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π΅ выполняСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соблюдая Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ прСобразоватСля. Волько прикладная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² соотвСтствии с поставлСнной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, ΠΈ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ. Π’Ρ‹Π²ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ… Π·Π½Π°ΠΊΠΎΠ² послС запятой для 8-разрядного АЦП Π±ΡƒΠ΄Π΅Ρ‚ излишним, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π·Π½Π°ΠΊ ΠΏΡ€ΠΈ этом Π½Π΅ нСсСт Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ смысла.


200 REM β€” BARRE β€”

210 LOCATE 6,1

220 FOR H=1 TO 5

230 PRINT "I….!..";

240 NEXT H

250 PRINT " I "

260 LOCATE 7,1

270 PRINT "0___1___2___"

280 PRINT "3___4___5"

290 GOSUB 100

300 D=INT(10*D)

310 LOCATE 5,1

320 PRINT SPC (D);" I";

330 PRINT SPC (50-D)

340 GOTO 290

350 REM (c) 1997 Patrick GUEULLE


ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° BARRE.BAS, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²ΠΎΠΉ ΡˆΠΊΠ°Π»Ρ‹.



Π­Ρ‚Π° Ρ„ΠΎΡ€ΠΌΠ° прСдставлСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΠΌΠ΅Π½Π΅Π΅ точная, Ρ‡Π΅ΠΌ цифровая индикация, Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Π°, ΠΊΠΎΠ³Π΄Π° трСбуСтся лишь ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ измСряСмой Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΈΠ»ΠΈ настройкС. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ шкала построСна Π½Π° Π±Π°Π·Π΅ ASCII символов, Π½ΠΎ такая ΠΆΠ΅ шкала ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΈ Π² графичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ экрана.


Π£ΡΡ€Π΅Π΄Π½ΡΡŽΡ‰ΠΈΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€

НаиболСС распространСнный способ подавлСния быстрых Ρ„Π»ΡƒΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΉ (часто ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚Π½Ρ‹Ρ…) Π² ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΌΡΡ сигналС состоит Π² вычислСнии срСднСго значСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ, относящихся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρƒ дискрСтизации. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, этот способ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы, ΠΈ поэтому ΠΎΠ½ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ Π² Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, выводящих Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² сСкунду (SECONDE.BAS) ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ (MINUTE.BAS).


200 REM β€” SECONDE β€”

210 Q=0: S=0: GOSUB 100

220 LOCATE 5,1

230 PRINT "Π˜Π΄Π΅Ρ‚ измСрСниС…"

240 H$=TIME$

250 IF H$<>TIME$ THEN BEEP: GOTO 290

260 GOSUB 100

270 S=S+D: Q=Q+1

280 GOTO 250

290 D=INT(100*S/Q)/100

300 LOCATE 1,1

310 PRINT USING "##.##";D;

320 PRINT "(срСднСС Π·Π°"; Q; " ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ)"

330 GOTO 210

340 REM (c) 1997 Patrick GUEULLE


ΠšΡ€ΠΎΠΌΠ΅ вычислСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, каТдая ΠΈΠ· этих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈ количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ использовано ΠΏΡ€ΠΈ Π΅Π³ΠΎ вычислСнии. Π­Ρ‚ΠΎ позволяСт Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ быстродСйствиС сиcΡ‚Π΅ΠΌΡ‹ Π² зависимости ΠΎΡ‚ примСняСмого ПК Π’Π°ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ 3–4 измСрСния Π² сСкунду Π½Π° Β«Π°Π½Ρ‚ΠΈΠΊΠ²Π°Ρ€Π½ΠΎΠΌΒ» ПК 8088/4,77 ΠœΠ“Ρ†, 60–70 ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² сСкунду Π½Π° 386SX25 ΠΈ 700-1000 ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² сСкунду Π½Π° 486 DX/133 ΠœΠ“Ρ†, Ρ‡Ρ‚ΠΎ всС ΠΆΠ΅ достаточно Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ соврСмСнных скоростСй, Π½ΠΎ вСсьма ΠΏΠΎΡ‡Π΅Ρ‚Π½ΠΎ для BASIC-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ использована зарСзСрвированная цикловая пСрСмСнная TIΠœΠ•$. Она позволяСт ΠΏΡ€ΠΈ любой частотС процСссора ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ достаточно Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΡˆΠΊΠ°Π»Ρƒ сСкунд, ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ Π΄Π°ΠΆΠ΅ часов. А Ссли понадобится ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π·Π° нСсколько Π΄Π½Π΅ΠΉ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ DATES.


200 REM β€” MINUTE β€”

210 Q=0: S=0: GOSUB 100

220 LOCATE 5,1

230 PRINT "Π˜Π΄Π΅Ρ‚ измСрСниС…"

240 H$=LEFT$(TIME$,5)

250 IF H$<>LEFT$ (TIME$, 5) THEN BEEP: GOTO 290

260 GOSUB 100

270 S=S+D: Q=Q+1

280 GOTO 250

290 D=INT(100*S/Q) /100

300 LOCATE 1,1

310 PRINT USING "##.##";D;

320 PRINT "(срСднСС Π·Π°";Q; " ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ)"

330 GOTO 210

340 REM (c) 1997 Patrick GUEULLE


ΠŸΠΈΠΊΠΎΠ²Ρ‹ΠΉ рСгистратор ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠ² ΠΈ максимумов

Достаточно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько строк Π½Π° языкС BASIC, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ запоминания ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠ² ΠΈ максимумов измСряСмого напряТСния, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ обнулСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡƒΡ‚Π΅ΠΌ наТатия Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ ПК.


200 REM β€” MINMAX β€”

210 PRINT "Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ΠΏΡ€ΠΎΠ±Π΅Π»Π° для пСрСзапуска"

220 I=5: А=0: Q=0: GOSUB 100

230 FOR G=1 TO 100

240 GOSUB 100: Q=Q+D

250 NEXT G

260 Q=Q/100

270 IF Q<=I THEN I=Q: S$=TIME$

280 IF Q>=A THEN A=Q: T$=TIME$

290 LOCATE 3,5: PRINT "Mes: ";

300 PRINT USING"##.##"; INT(100*Q)/100;

310 PRINT " "+TIME$

320 LOCATE 5,5: PRINT "Макс: ";

330 PRINT USING "##.##"; INT(100*A) /100

340 PRINT " " + T$

350 LOCATE 7,5: PRINT "Мин: ";

360 PRINT USING "##.##β€œ; INT(100*1)/100

370 PRINT " " + S$

380 IF INKEY$=CHR$(32) THEN 220

390 Q=0: GOTO 230

400 REM (c) 1997 Patrick GUEULLE

Π­Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ сдСлано Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ MINMAX.BAS; Ρ‚Π°ΠΊΠΆΠ΅ Π² Π½Π΅Π΅ Π±Ρ‹Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚Ρ€Π΅Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π² часах, ΠΌΠΈΠ½ΡƒΡ‚Π°Ρ… ΠΈ сСкундах):

β€’ Π²Ρ€Π΅ΠΌΡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ измСрСния;

β€’ Π²Ρ€Π΅ΠΌΡ рСгистрации максимума;

β€’ Π²Ρ€Π΅ΠΌΡ рСгистрации ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°.

Надо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ Ρ€Π΅Π΄ΠΊΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ возмоТности, ΡΡ‚ΠΎΠ»ΡŒ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠ±ΠΎΡ€Π΅.


РСгистратор Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ рассказано ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π·Π° нСсколько дСсятков Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ использовании Π»Π΅Π½Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Ρ… рСгистраторов β€” ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ², стоящих Π² сотни Ρ€Π°Π· Π΄ΠΎΡ€ΠΎΠΆΠ΅! ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Ρ€Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π±ΡƒΠΌΠ°Π³Π΅ ΠΊΡ€ΠΈΠ²ΡƒΡŽ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎ тСхничСски Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠ²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΠΎ, Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ»Π΅ Π½Π° дискС, Π° ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ….