MarketTurbo51
Company Profile

Turbo51

Turbo51 is a compiler for the programming language Pascal, for the Intel MCS-51 (8051) family of microcontrollers. It features Borland Turbo Pascal 7 syntax, support for inline assembly code, source-level debugging, and optimizations, among others. The compiler is written in Object Pascal and produced with Delphi.

Language dialect
Turbo51 uses Borland Turbo Pascal 7 dialect. The syntax was extended with some constructs to support specific features of MCS-51 processors. 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; ==Features==
Features
Win32 console application • Fast single pass optimizing compiler • Borland Turbo Pascal 7 syntax • Full floating point support • Mixed Pascal and assembly programming • Full use of register banks • Advanced multi-pass optimizer • Smart linker • Generates compact high quality code • Output formats: Binary, Intel HEX, OMF51 Object Module Format • Assembly source code generation =="Hello World" example==
"Hello World" example
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. == See also ==
tickerdossier.comtickerdossier.substack.com