Основы числового программного управления. Хитров А.И. - 100 стр.

UptoLike

Составители: 

MAS: . BLKW 200. ; резервирование памяти с адреса MAS;
MOV # MAS, R0 ; адрес массива в R0;
LOOP: MOVB # 8., CSR ; подготовка команды F (8);
WAIT: TST @# 164240; запуск и проверка Q-ответа BPL W
A
MOVB #2, CSR
MOV @# 164240, ( R0 ) +; передача кода АЦП в массив;
CMP # MAS+400., R0; массив заполнен ?
BNE LOOP
Этот пример показывает как можно обрабатывать L - запросы при
использовании средств в модуле и CSR.
Другим способом может служить работа с DMR. Пусть запрос заведен
на коммутационное поле 1(L1). В этом случае процедура имеет вид:
CSR= 160000 ; адрес контроллера крейта;
MAS: . BLKW 200. ; резервирование памяти с адреса MAS;
MOV # MAS, R0 ; адрес массива в R0;
MOVB # 2, CSR ; подготовка команды F (2);
WAIT: BIT #400, CSR+2 ; проверка запроса L1 в DMR; BEQ W
A
MOV @# 164240, ( R0 ) +; передача кода АЦП в массив;
CMP # MAS+400., R0; массив заполнен ?
BNE WAIT
В заключении рассмотрения интерфейса КАМАК отметим, что
регистр старшего байта предназначен для работы с 24 - разрядными
словами данных. Аппаратно он представляет собой два регистра, один
из которых доступен только для чтения с связан с линиями магистрали
КАМАК R17-R24, а другой для записи, связанный
с линиями W17-
W24.
Поскольку оба регистра имеют один и тот же адрес, то для
программиста они выступают как один регистр с двунаправленной
передачей данных.
Для облегчения программирования аппаратуры КАМАК
существуют пакеты прикладных программ на языках высокого уровня
(в частности ФОРТРАН и ПАСКАЛЬ). Пакет включает подпрограммы
декларации адресов регистров модулей КАМАК
, выполнения
одиночных команд КАМАК, управления крейтом и обработки L -
запросов.
MAS: . BLKW 200. ; резервирование памяти с адреса MAS;
        MOV # MAS, R0 ; адрес массива в R0;
LOOP: MOVB # 8., CSR ; подготовка команды F (8);
WAIT: TST @# 164240; запуск и проверка Q-ответа                       BPL WA
        MOVB #2, CSR
        MOV @# 164240, ( R0 ) +; передача кода АЦП в массив;
        CMP # MAS+400., R0; массив заполнен ?
        BNE LOOP
 Этот пример показывает как можно обрабатывать L - запросы при
использовании средств в модуле и CSR.

Другим способом может служить работа с DMR. Пусть запрос заведен
на коммутационное поле 1(L1). В этом случае процедура имеет вид:

      CSR= 160000 ; адрес контроллера крейта;
MAS: . BLKW 200. ; резервирование памяти с адреса MAS;
      MOV # MAS, R0 ; адрес массива в R0;
     MOVB # 2, CSR ; подготовка команды F (2);
WAIT: BIT #400, CSR+2 ; проверка запроса L1 в DMR;                    BEQ WA
      MOV @# 164240, ( R0 ) +; передача кода АЦП в массив;
      CMP # MAS+400., R0; массив заполнен ?
      BNE WAIT

    В заключении рассмотрения интерфейса КАМАК отметим, что
регистр старшего байта предназначен для работы с 24 - разрядными
словами данных. Аппаратно он представляет собой два регистра, один
из которых доступен только для чтения с связан с линиями магистрали
КАМАК R17-R24, а другой для записи, связанный с линиями W17-
W24.
Поскольку оба регистра имеют один и тот же адрес, то для
программиста они выступают как один регистр с двунаправленной
передачей данных.

        Для облегчения программирования аппаратуры КАМАК
существуют пакеты прикладных программ на языках высокого уровня
(в частности ФОРТРАН и ПАСКАЛЬ). Пакет включает подпрограммы
декларации адресов регистров модулей КАМАК, выполнения
одиночных команд КАМАК, управления крейтом и обработки L -
запросов.