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

UptoLike

11
mov al,data
out dx,al
end
end;
procedure inport(adress :word;var data :byte);
var regal : byte;
begin
asm
mov dx,adress
in al,dx
mov regal,al
end;
data:=regal;
end;
end.
Этот модуль подключается к основной программе через меню Del-
phi. Для использования описанных процедур необходимо завести две пе-
ременные, например a и b, с типами word и byte соответственно. Значение
первой использовать в качестве адреса; второйдля хранения вводи-
мых/выводимых данных. Для вывода данных в порт необходимо: присво-
ить его адрес переменной
a
; установить
b
, равной записываемому значе-
нию; вызвать процедуру outport(a,b). Для считывания данных из порта:
присвоить адрес порта переменной a; вызвать процедуру inport(a,b); в ка-
честве данных использовать значение переменной b (процедура устанав-
ливает её значение соответствующим образом). Переменные типа word
могут принимать значения 0..65535; типа byte 0..255. Необходимо иметь
ввиду, что в используемых ИВК все порты однонаправлены, т.е. если запи-
сать, скажем, число value в порт с адресом adr , а затем считать из порта
adr, то мы не получим исходного value.
Для последующей математической обработки результатов измерений
необходимо полученные данные записать в текстовый файл. Ниже приве-
ден фрагмент программы, обеспечивающий эту операцию.
{ переменные, задаваемые в разделе описания переменных соответствую-
щей процедуры:
const
k=500; количество элементов выборки
var
f: text;
текстовая файловая переменная
}
.................................…………………
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
                mov al,data
                out dx,al
               end
              end;

              procedure inport(adress :word;var data :byte);
              var regal : byte;
              begin
               asm
                mov dx,adress
                in al,dx
                mov regal,al
               end;
               data:=regal;
              end;

              end.

                    Этот модуль подключается к основной программе через меню Del-
              phi. Для использования описанных процедур необходимо завести две пе-
              ременные, например a и b, с типами word и byte соответственно. Значение
              первой использовать в качестве адреса; второй – для хранения вводи-
              мых/выводимых данных. Для вывода данных в порт необходимо: присво-
              ить его адрес переменной a; установить b, равной записываемому значе-
              нию; вызвать процедуру outport(a,b). Для считывания данных из порта:
              присвоить адрес порта переменной a; вызвать процедуру inport(a,b); в ка-
              честве данных использовать значение переменной b (процедура устанав-
              ливает её значение соответствующим образом). Переменные типа word
              могут принимать значения 0..65535; типа byte – 0..255. Необходимо иметь
              ввиду, что в используемых ИВК все порты однонаправлены, т.е. если запи-
              сать, скажем, число value в порт с адресом adr , а затем считать из порта
              adr, то мы не получим исходного value.
                    Для последующей математической обработки результатов измерений
              необходимо полученные данные записать в текстовый файл. Ниже приве-
              ден фрагмент программы, обеспечивающий эту операцию.

              { переменные, задаваемые в разделе описания переменных соответствую-
              щей процедуры:
              const
                 k=500; количество элементов выборки
              var
                f: text; текстовая файловая переменная}
              .................................……………………

                                                     11


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