Определение промежутка времени между двумя замыканиями


Определение периода колебания маятника.

На длинной нити подвешивается магнит, а в качестве датчика магнитного поля используется геркон (герметичный контакт). Для проведения компьютерного эксперимента геркон подключается к контактам 15 (D3) и 25 (GND). Геркон устанавливается в точке покоя маятника. Под действием магнитного поля ферромагнитные пластинки геркона соединяются, замыкая цепь.

Определение промежутка времени между двумя замыканиями - student2.ru

Отклоним магнит в крайнее правое положение, запустим программу и отпустим маятник. В момент замыкания геркона программа выходит из цикла строк 20-30 и фиксирует в t1 начало периода колебания. В момент времени t2 фиксируется размыкание геркона после прохождения магнита. В момент t3 магнит возвращается и вновь замыкает геркон и в t4 фиксирует его размыкание. Отклоняясь вправо и возвращаясь в исходную точку, фиксируется вновь время t5. Период колебания маятника Т = t5 – t1

10 cls очистка экрана

20 a=inp ( &h 379) чтение состояния порта

30 if =127 then go to 20 проверка замкнутого состояния геркона

40 t1=timer запись времени начала падения (точность 0,05 с)

50 a= inp ( &h 379)

60 if a=119 then go to 50 проверка замкнутого состояния геркона

70 t2= timer

80 a= inp ( &h 379)

90 if a =127 then go to 80

100 t3= timer

110 a= inp ( &h 379)

120 if a= =119 then go to 110

130 t4= timer

140 a= inp ( &h 379)

150 if a =127 then go to 140

160 t5= timer

170 t= t5 – t1

180 print t

185 sleep 1

190 goto 20

Опыт с наклонной плоскостью.

Движение тела по наклонной плоскости в установке представлено движением кольцевого магнита Рис.6. В наклонную плоскость вмонтированы на равном расстоянии герконы 1–6, создавая 5 одинаковых участков для движения магнита. При прохождении магнита над герконом последний замыкается, подавая во входной порт число 119, при удалении от геркона поле магнита уменьшается, контакт размыкается и во входной порт подается число 127. Измеряя время замкнутого и разомкнутого состояния геркона можно определить время прохождения одного участка. Время измеряется в относительных единицах (программных циклах) и заносится в массив замкнутых состояний M(5) и массив разомкнутых состояний N(5). В машинах с большей тактовой частотой эти числа больше и соответственно точность измерения выше. Программная обработка данных позволяет определить скорость, ускорение и пройденный путь.

Определение промежутка времени между двумя замыканиями - student2.ru

Рис.6

10 cls очистка экрана

20 dim m (5) массив из 5 элементов для замкнутого состояния

30 dim n (5) массив из 5 элементов для разомкнутого состояния

40 a= inp (&h 379) чтение порта

50 if a = 127 then go to 40 ожидание скатывания магнита

60 for b = 1 to 5 счет циклов замкнутых состояний на 1-5 отрезках

70 for c = 0 to 20000

80 a= inp (&h 379) опрос входного порта

90 if a=127 then goto 110 если входной порт разомкнулся идти на 110

100 next c

110 m(b)=c печать в массив м числа программных циклов с замкнутого состояния

120 for d = 0 to 20000 счет циклов разомкнутых состояний на 1-5 отрезках

130 a= inp (&h 379) опрос входного порта

140 if a=119 then go to 160 если входной порт разомкнулся идти на 160

150 next d

160 n(b)=d печать в массив n числа программных циклов d замкнутого состояния

170 next b

180 for k = 1 to 5

190 print m(k), n(k) печать времен m замкнутых и n разомкнутых состояний герконов.

Pascal:

Program pl;

Uses crt, dos;

Var a,B,i,n,k,t: integer;

H,ms,h1,ms1: word;

S: array [1..5] of integer;

M: array [1..5] of integer;

Begin clrscr;

a:=0; B:=0; n:=0; k:=0;

repeat

a:port[$379];

delay(50);

until a=119;

for B:=1 to 5 do begin

n:=0;

repeat

a:=port[$379];

delay(50);

n:=n+1;

until a=127;

M[B]:=n;

K:=0;

Repeat

a:=port[$379];

delay(50);

k:=k+1;

until a=119;

S[B]:=k;

End;

Repeat

i:=i+1;

j:=j+1;

writeln(j, ` `,M[j], ` ` ,S[i] );

until i=5;

repeat until keypressed;

end.

Определение количества замыканий кнопки.

Программа:

5 n=0 обнуление счетчика замыканий

10 cls очистка экрана

20 a= inp (&h 379) чтение входного порта

30 if a =127 then goto 20 ожидание нажатия кнопки (числа 119)

40 A= inp (&h 379) чтение входного порта

45 for i=0 to 50 цикл устранения дребезга контактов

46 next i

50 if a=119 then goto 40 опрос замкнутого состояния клавиши

60 n=n+1 ( переменная n )

70 print n печатать число замыканий

80 goto 20 повторный опрос клавиши

Определение набора импульсов.

Определение набора импульсов и накопитель при счете импульсов.

Наши рекомендации