Помощь в написании студенческих работ
Антистрессовый сервис

Программные средства реализации безусловного обмена данными между ЭВМ и внешними устройствами

РефератПомощь в написанииУзнать стоимостьмоей работы

Индексы массивов соответствуют абсолютным адресам регистров ВУ. При обращении к элементам PortW используется указанный в выражении адрес и следующий за ним, больший на единицу. Присвоение значения элементу массива Port или PortW приведет к записи в регистр с указанным адресом. Упоминание элемента Port или PortW в правой части выражения приведет к чтению из регистра с указанным адресом. Формула… Читать ещё >

Программные средства реализации безусловного обмена данными между ЭВМ и внешними устройствами (реферат, курсовая, диплом, контрольная)

Для обращения к регистрам ВУ среде программирования BorlandPascal имеются два предварительно объявленных массива с именами Port и PortW:

varPort: array /0. 65 535/ of byte; PortW: array jO. 65 534/ of word;

Индексы массивов соответствуют абсолютным адресам регистров ВУ. При обращении к элементам PortW используется указанный в выражении адрес и следующий за ним, больший на единицу. Присвоение значения элементу массива Port или PortW приведет к записи в регистр с указанным адресом. Упоминание элемента Port или PortW в правой части выражения приведет к чтению из регистра с указанным адресом.

Примеры:

  • J:=Port I$ 211; {Чтение регистра масок контроллера прерываний ЭВМ.};
  • PortW [$ 300] := 4048; {Запись в регистр данных ЦАП 16-разрядного числа для установки напряжения 5 В на его выходе.}.

Программирование канала управления при безусловном способе обмена данными.

Генерация синусоидального сигнала амплитудой 5 В, с максимально возможной частотой на выходе ЦАП:

где t/max = 5 В, число точек на периоде сигнала М = 100.

Формула {/вых = А (/* (КОД — 2048) связывает КОД, записываемый в ЦАП, и напряжение на его выходе. КОД=1!(1)/Аи +2048 = 2048 + (Umax/AU) * sin (2i/M) должен быть округлен до целого значения:

Program Demo_Sin;

uses crt; const M = 100; F = 2*pi/M;

var U: array [ 1. M] of integer; i, j{, step}: integer;

Procedure Wait (i: word); varj: word; begin for j:=1 to i do; end;

Begin for i:= 1 to M do U[i]: = Round (2048+2000*sin (F* (i-1))); i:=1; repeat {Wait (n);}

PortW[$ 300]: =U[i]; inc (i); if i > M then dec (i, M); until keypressed; while keypressed do readkey; End.

Показать весь текст
Заполнить форму текущей работой