Дата последнего обновления файла 8.11.2009

Структура программ PLM-51

PL/M-51 является блочно-структурированным языком, каждый оператор в программе является, частью, по крайней мере, одного блока.

Каждая программа на PL/M-51 состоит из одного или более модулей, записанных в отдельных файлах и компилируемых отдельно. Каждый модуль может состоять из одного или более блоков. В языке программирования PL/M-51 имеется два типа блоков: блоки DO и блоки подпрограмм.

Модуль должен начинаться оператором DO с меткой перед ним, и заканчиваться оператором END. Между этими двумя операторами помещаются операторы, составляющие программу. Эти операторы объявляют переменные и выполняют необходимые действия. Модуль может содержать несколько блоков.

Блок - это соответствующим образом записанная группа операторов, начинающихся оператором DO и заканчивающаяся оператором END.

Подпрограмма начинается с объявления подпрограммы и заканчивается оператором END. Переменные, объявленные в подпрограмме и исполняемые операторы, находящиеся между операторами начала и конца подпрограммы, используются только при вызове подпрограммы.

Любая программа, написанная на языке программирования PLM-51, начинается с оператора do, при этом имя программы записывается перед этим оператором и оформляется как метка. Перед первым исполняемым оператором программы обязательно должны быть объявлены все переменные и константы, которые будут использоваться в программе. Программа, написанная на языке программирования PLM-51, заканчивается оператором end. Пример программы, написанной на языке программирования PLM-51 приведён ниже:

Primer:do;
  declare a byte;
  
  a=2+2;
end;

Эта программа выполняет простейшие действия и содержит только один исполняемый оператор. Так как микроконтроллер не содержит встроенных средств отображения информации, то в языке программирования нет встроенных средств отображения полученного результата. Результат приведённой в примере программы можно посмотреть только во внутренней памяти микроконтроллера. То есть проверить работоспособность этой программы можно только на отладчике.

Для того, чтобы получить более полное представление о структуре программ, написанных на языке программирования PLM-51, приведём пример программы с использованием подпрограмм.

PrimerSIN:do;
/*---------- Объявление переменных -------------------------*/
declare tabsin(180) byte const (0,                 /*sin(0)*/
                                0.01745*32767,     /*sin(1)*/
                                0.03490*32767);    /*sin(2)*/
declare a byte at(80h) register,/*переменная значения синуса*/
        i byte;/*переменная аргумента в градусах*/


/*---------- Объявление подпрограмм -----------------------*/
sin:procedure(x) byte;
declare x byte;
  return(tabsin(x));
end sin;

  
/*--------- Начало основной программы ----------------------*/
  do i=0 to 180;
    a=sin(i);  /*вычислить очередное значение синуса*/
  end;
end;

В этом примере используется подпрограмма вычисления синуса с использованием табличного способа. Как видно из исходного текста программы все объявления были сделаны до первого исполняемого оператора. Переменная a в этом примере совпадает с адресом порта P0, поэтому синус можно наблюдать на выходе этого порта.


Понравился материал? Поделись с друзьями!


Литература:

  1. Л.К. Гребенников А.А. Летник Программирование микропроцессорных систем на языке ПЛ/М, М, 1986

Вместе со статьей "Структура программ PLM-51" читают:

Языки программирования для микроконтроллеров
http://digteh.ru/Progr/progr.php

Язык программирования C-51
http://digteh.ru/MCS51/C51/op_c51.php

Язык программирования ASM-51
http://digteh.ru/MCS51/C51/op_c51.php

Язык программирования PLM-51
http://digteh.ru/MCS51/C51/op_c51.php


Автор Микушин А. В. All rights reserved. 2001 ... 2024

Предыдущие версии сайта:
http://neic.nsk.su/~mavr
http://digital.sibsutis.ru/

Поиск по сайту сервисом Яндекс
Поиск по сайту сервисом ГУГЛ
Об авторе:
к.т.н., доц., Александр Владимирович Микушин

Кандидат технических наук, доцент кафедры САПР СибГУТИ. Выпускник факультета радиосвязи и радиовещания (1982) Новосибирского электротехнического института связи (НЭИС).

А.В.Микушин длительное время проработал ведущим инженером в научно исследовательском секторе НЭИС, конструкторско технологическом центре "Сигнал", Научно производственной фирме "Булат". В процессе этой деятельности он внёс вклад в разработку систем радионавигации, радиосвязи и транкинговой связи.

Научные исследования внедрены в аппаратуре радинавигационной системы Loran-C, комплексов мобильной и транкинговой связи "Сигнал-201", авиационной системы передачи данных "Орлан-СТД", отечественном развитии системы SmarTrunkII и радиостанций специального назначения.

А.В.Микушин является автором 130 научных и научно-методических работ, в том числе 21 монография и 26 учебников и учебных пособий.

Top.Mail.Ru

Яндекс.Метрика