Jump to content

Турбо51

Турбо51
Разработчик(и) Игорь Фуна
Стабильная версия
0.1.3.12 / 1 февраля 2012 г .; 12 лет назад ( 01.02.2012 )
Операционная система Win32
Тип Компилятор
Лицензия Бесплатное ПО
Веб-сайт турбо51

Turbo51 компилятор языка программирования Pascal , для Intel MCS-51 (8051) семейства микроконтроллеров . Он включает в себя синтаксис Borland Turbo Pascal 7, поддержку встроенного ассемблерного на уровне исходного кода кода, отладку и оптимизацию , среди прочего. Компилятор написан на Object Pascal и создан с помощью Delphi .

В 1980-х годах Intel представила 8051 как первого члена семейства процессоров MCS-51. Сегодня доступны сотни дешевых производных от десятков производителей. Это делает архитектуру очень интересной для профессионалов и любителей. Удивительно, что эта 8-битная архитектура все еще используется и пользуется такой популярностью. Из всех компиляторов 8051 существует несколько широко используемых компиляторов C , но лишь несколько компиляторов Pascal. Turbo51 доступен как бесплатное программное обеспечение и был создан с целью создать компилятор Pascal для процессоров MCS-51, который будет таким же быстрым, как Turbo Pascal , будет использовать тот же синтаксис и генерировать оптимизированный код высокого качества.

Языковой диалект

[ редактировать ]

Turbo51 использует диалект Borland Turbo Pascal 7. Синтаксис был расширен некоторыми конструкциями для поддержки определенных функций процессоров MCS-51.

Var   RS485_TX: Boolean absolute P3.2;
      I2C.SDA:   Boolean absolute P3.7;
      I2C.SCL:   Boolean absolute P3.4;

      EEPROM_Data:    TEEPROM_Data XDATA absolute 0;

      ModuleAddress:  Byte;
      RX_LedTimer:    Byte;
      TX_LedTimer:    Byte;

      SavedOutput:    TOutputData IDATA;
      OutputsAuxData: Array [1..8] of Byte IDATA;

Пример «Привет, мир»

[ редактировать ]
Program HelloWorld;

Const
 Osc      = 22118400;
 BaudRate = 19200;

 BaudRateTimerValue = Byte (- Osc div 12 div 32 div BaudRate);

Var SerialPort: Text;

Procedure WriteToSerialPort; Assembler;
Asm
  CLR   TI
  MOV   SBUF, A
@WaitLoop:
  JNB   TI, @WaitLoop
end;

Procedure Init;
begin
  TL1  := BaudRateTimerValue;
  TH1  := BaudRateTimerValue;
  TMOD := %00100001;    { Timer1: no GATE, 8 bit timer, autoreload }
  SCON := %01010000;    { Serial Mode 1, Enable Reception }
  TI   := True;         { Indicate TX ready }
  TR1  := True;         { Enable timer 1 }

  Assign (SerialPort, WriteToSerialPort)
end;

begin
  Init;
  Writeln (SerialPort, 'Hello world!')
end.

См. также

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 657d703bde8e6f60c729229433d69f35__1694948460
URL1:https://arc.ask3.ru/arc/aa/65/35/657d703bde8e6f60c729229433d69f35.html
Заголовок, (Title) документа по адресу, URL1:
Turbo51 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)