Компьютерные технологии в физике. Часть 2. Эксперимент с компьютерной поддержкой. Артамонов М.Ф - 38 стр.

UptoLike

37
полученному результату значение младшего байта порта 1. Чтобы выде-
лить два младших бита из порта 2, необходимо наложить маску по «
and
»,
равную 3, на значение порта 2:
inport(1001,datah);
datah:=(datah and 3);.
Затем нужно считать значение порта 1 в некоторую переменную datal:
inport(1000,datal);.
Для получения полного выходного кода АЦП переменной data следует
присвоить следующее значение:
data:=256*datah+datal;.
В итоге мы получили десятиразрядное двоичное число, пропорциональное
амплитуде входного аналогового сигнала.
5. Для получения сигналов всех термопар необходимо повторить ша-
ги 1-4 для каналов 2..5.
Фрагмент программы для работы с АЦП приведен ниже. Программа
заполняет массив
CHDATA[]
из пяти элементов целыми числами значе-
ниями величин, считанных из соответствующих каналов.
{ переменные должны быть описаны в разделе описания процедуры,
в которой используется этот фрагмент программного кода:
n,data : integer;
datah,datal, z : byte;
sm : array [1..5] of integer;
chdata : array [1..5] of integer;}
…………………………………………………………………..
sm[1]:=-41;
sm[2]:=-46;
sm[3]:=-47;
sm[4]:=-48;
sm[5]:=-49;
for n:=1 to 5 do
begin
outport(1003,n-1);{ установка номера канала}
outport(1003,n-1);
outport(1003,n-1);
inport(1002,z);{запуск АЦП}
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
              полученному результату значение младшего байта порта 1. Чтобы выде-
              лить два младших бита из порта 2, необходимо наложить маску по «and»,
              равную 3, на значение порта 2:

                    inport(1001,datah);
                    datah:=(datah and 3);.

              Затем нужно считать значение порта 1 в некоторую переменную datal:

                    inport(1000,datal);.

              Для получения полного выходного кода АЦП переменной data следует
              присвоить следующее значение:

                    data:=256*datah+datal;.

              В итоге мы получили десятиразрядное двоичное число, пропорциональное
              амплитуде входного аналогового сигнала.
                    5. Для получения сигналов всех термопар необходимо повторить ша-
              ги 1-4 для каналов № 2..5.

                   Фрагмент программы для работы с АЦП приведен ниже. Программа
              заполняет массив CHDATA[] из пяти элементов целыми числами – значе-
              ниями величин, считанных из соответствующих каналов.

                    { переменные должны быть описаны в разделе описания процедуры,
                    в которой используется этот фрагмент программного кода:
                     n,data : integer;
                    datah,datal, z : byte;
                    sm : array [1..5] of integer;
                    chdata : array [1..5] of integer;}
                    …………………………………………………………………..
                    sm[1]:=-41;
                    sm[2]:=-46;
                    sm[3]:=-47;
                    sm[4]:=-48;
                    sm[5]:=-49;
                    for n:=1 to 5 do
                    begin
                      outport(1003,n-1);{ установка номера канала}
                      outport(1003,n-1);
                      outport(1003,n-1);
                      inport(1002,z);{запуск АЦП}

                                                     37


PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com