Турбо51
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2016 г. ) |
![]() Turbo51 командной строки Вывод | |
Разработчик(и) | Игорь Фуна |
---|---|
Стабильная версия | 0.1.3.12
/ 1 февраля 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;
Функции
[ редактировать ]- Win32 Консольное приложение
- Быстрый однопроходный оптимизирующий компилятор
- Borland Turbo Pascal 7 Синтаксис
- Полная поддержка чисел с плавающей запятой.
- Смешанное программирование на Паскале и ассемблере.
- Полное использование банков-регистров
- Расширенный многопроходный оптимизатор
- Умный компоновщик
- Генерирует компактный высококачественный код
- Выходные форматы: двоичный, Intel HEX, формат объектного модуля OMF51.
- Генерация исходного кода сборки
Пример «Привет, мир»
[ редактировать ]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.
См. также
[ редактировать ]Внешние ссылки
[ редактировать ]