top of page

     Turbo51 - консольное приложение, поэтому работать в эмуляторе ДОС с ним не  очень-то удобно. Возможно, из-за этого у кого-то могут возникнуть сомнения по  поводу использования компилятора. Но все не так плохо, даже наоборот. Проблема  легко решается с помощью  текстового  редактора PSPad, который позволяет запускать  внешние программы с командной строки,  что делает комбинацию PSPad + Turbo51  удобной средой разработки программ для  микроконтроллеров  MCS-51 на языке Паскаль.
     Поэтому не нужно бояться, все достаточно просто и  приятно.
     Естественно, перед началом работы нужно скачать указанные программы.

  Установку редактора производим обычным порядком. Тут есть одна заморочка, о которой я сейчас расскажу. Выше приведена ссылка на скачивание редактора PSPad последней текущей версии, но я рекомендую скачать более раннюю версию: Скачать PSPad 4.5.3. Дело в том, что, как будет описано ниже, при запуске компиляции программы в нижней части экрана монитора появляется окно, отображающее поток сообщений от компилятора. Это окно редактора, который перехватывает этот поток и  выводит в собственном окне. Но есть разница в отображении версиями 4.5.3 и 4.5.4. Если версия 4.5.3 сама прокручивает сообщения и завершает вывод отображением последнего, то версия 4.5.4 прокрутку не производит, приходится делать это вручную, что неудобно. А важно видеть именно последние строки сообщений, поскольку в них присутствует информация о длине кода, используемом объеме памяти и результатах компиляции, в том числе об обнаруженных ошибках.

    Распаковываем архив с Turbo51 в директорию, какую определим и создадим сами. В этой  директории мы  имеем два подкаталога: Bin и Rtl, которые содержат нужные нам файлы,  а именно:
    Turbo51.exe
    Turbo51.L51
    System.U51
    i8032.pas
    i8032.inc.
  Файлы i8032.pas и i8032.inc необходимы, если мы программируем микроконтроллер с  расширениями MCS52,  в частности, для работы с таймером/счетчиком 2. В них же можно  зарезервировать и  другие имена  регистров  специальных функций, если используется  микроконтроллер,  имеющий какие-то дополнительные регистры. В подкаталоге ABS  содержатся файлы,  необходимые в том случае,  если у нас  наверняка объем программы  не  превысит 2К и мы хотим  несколько сэкономить память программ, используя AJMP и ACALL  вместо LJMP и LCALL.  Я этот  вариант не использую.  Для начала, чтобы не заморачиваться с путями, которые можно определить в командной  строке, просто  копируем перечисленные файлы в каталог нашего проекта, где они будут  размещаться  вместе с файлами исходных текстов нашей программы и модулей.
   Теперь запускаем редактор PSPad, настраиваем подсветку по шаблону Object Pascal, выбрав цвета, которые нам нравятся, и создаем файл программы с расширением pas. Окно редактора будет выглядеть примерно так:

     Затем создаем и сохраняем файлы нужных нам модулей, не забыв сохранить проект. Теперь пора заняться компилированием программы. Для этого ищем кнопочку

и нажимаем ее.
В результате появляется окно "Командная строка".

    Прописываем командную строку и путь к каталогу, содержащему наш проект, выбираем все checkbox, нажимаем кнопку Ok, и тут же начинается процесс компиляции, при этом в нижней части окна программы появляется дополнительное окно, которое отображает поток сообщений ДОС от компилятора.
    В командной строке должны содержаться:
- спецификация файла Turbo51.exe
- ключи программы
- спецификация файла нашей программы.
    Назначение ключей можно и нужно изучить по документации.

Все окно редактора будет выглядеть примерно так:

     Ну, а теперь все в ваших руках - отладка ...

 

   В общем, по описанной схеме я вначале и работал, но потом появилось множество модулей, которые использовались разными программами. Естественно, эти модули время от времени подвергались модернизации, поэтому приходилось следить за их обновлением в каждом  каталоге  проектов,  что весьма  затруднительно. Как я уже отметил, по указанной схеме  ВСЕ файлы,  включая Turbo51, хранились в  одном каталоге. Когда мне это надоело, я поступил  следующим  образом, благо, компилятор позволяет  это сделать. Я создал каталог C:\Turbo51, который в числе прочего содержал подкаталог C:\Turbo51\Bin,  который,  в свою очередь, содержал файлы и два каталога  C:\Turbo51\Bin\Unit и  C:\Turbo51\Bin\Inc.

   В первом я разместил файлы исходных текстов моих модулей, во втором - тексты включаемых файлов.      Естественно, командная строка сильно удлинилась, так как в ней были прописаны пути к указанным директориям. Чтобы не набирать каждый раз эту длинную строку, я разместил ее в тексте программы как комментарий, а затем, в начале каждого сеанса работы копировал эту строку в "Команда" окна "Командная строка".
    Примерно так выглядит командная строка с указанием путей:
c:\turbo51\bin\turbo51 -h -a -o -b -g -uc:\turbo51\bin -uc:\turbo51\bin\unit -ic:\turbo51\bin\inc c:\turbo51\pol9a\pol9a,
где ключ -u определяет путь к модулям (Unit), а ключ -i путь к включаемым файлам.
    В данном случае модули находятся в каталогах c:\turbo51\bin и c:\turbo51\bin\unit, а включаемые файлы в каталоге c:\turbo51\bin\inc. c:\turbo51\pol9a\pol9a - путь к файлу моей программы.

    Компиляцию программы в составе проекта можно производить еще более удобным способом. Через меню "Проект" - "Параметры проекта" открываем окно "Параметры проекта" и выбираем закладку "Компилятор":

В строке "Компилятор" прописываем или выбираем путь и имя файла Turbo51.exe,
в строке "Параметры" прописываем параметры командной строки компилятора,
в строке "Папка по умолчанию" выбираем каталог (скорее всего, это каталог проекта), в который будут помещаться выходные файлы программы.
Выбираем все СheckBox.
Закрываем окно "Параметры проекта", а затем нажимаем кнопочку

или комбинацию клавиш Ctrl F9 и производим компиляцию.
Этот метод хорош тем, что параметры командной строки сохраняются в проекте.

bottom of page