Turbo51
Deweloperzy | Igora Funę |
---|---|
Wersja stabilna | 0.1.3.12 / 1 lutego 2012
|
System operacyjny | Win32 |
Typ | Kompilator |
Licencja | Darmowe |
Strona internetowa |
Turbo51 to kompilator języka programowania Pascal dla rodziny mikrokontrolerów Intel MCS-51 (8051) . Zawiera między innymi składnię Borland Turbo Pascal 7, obsługę wbudowanego kodu asemblera , debugowanie na poziomie źródła i optymalizacje . Kompilator jest napisany w Object Pascal i wyprodukowany w Delphi .
W latach 80-tych Intel wprowadził 8051 jako pierwszy członek rodziny procesorów MCS-51. Obecnie dostępne są setki tanich pochodnych od dziesiątek producentów. To sprawia, że architektura jest bardzo interesująca dla profesjonalistów i hobbystów. To zaskakujące, że ta 8-bitowa architektura jest nadal używana i nadal jest tak popularna. Spośród wszystkich kompilatorów 8051 istnieje kilka powszechnie używanych C , ale tylko kilka kompilatorów Pascala. Turbo51 jest dostępny jako freeware i został stworzony w celu stworzenia kompilatora Pascala dla procesorów MCS-51, który będzie tak szybki jak Turbo Pascal , użyje tej samej składni i wygeneruje zoptymalizowany kod wysokiej jakości.
Dialekt językowy
Turbo51 używa dialektu Borland Turbo Pascal 7. Składnia została rozszerzona o pewne konstrukcje obsługujące określone funkcje procesorów MCS-51.
0
Var RS485_TX : Wartość logiczna absolutna P3 . 2 ; I2C . SDA : Wartość logiczna bezwzględna P3 . 7 ; I2C . SCL : wartość logiczna absolutna P3 . 4 ; EEPROM_Data : TEEPROM_Data XDATA absolutna ; AdresModułu : Bajt ; RX_LedTimer : Byte ;
TX_LedTimer : Byte ; Zapisane dane wyjściowe : TOutputData IDATA ; OutputsAuxData : Tablica [ 1..8 ] Byte IDATA ; _ _ _
Cechy
- Aplikacja konsolowa Win32
- Szybki jednoprzebiegowy kompilator optymalizujący
- Składnia Borland Turbo Pascal 7
- Pełna obsługa zmiennoprzecinkowa
- Mieszane programowanie w Pascalu i asemblerze
- Pełne wykorzystanie banków rejestrów
- optymalizator wieloprzebiegowy
- Inteligentny linker
- Generuje zwarty kod wysokiej jakości
- Formaty wyjściowe: binarny, Intel HEX, format modułu obiektowego OMF51
- Generowanie kodu źródłowego w asemblerze
Przykład „Witaj świecie”.
Program HelloWorld ; Stała Osc = 22118400 ; Szybkość transmisji = 19200 ; BaudRateTimerValue = Byte ( -Osc div 12 div 32 div BaudRate ) ; _ Var SerialPort : Tekst ; Procedura WriteToSerialPort ; asembler ; Asm CLR TI MOV SBUF , A
@ WaitLoop : JNB TI , @ WaitLoop koniec ; Rozpoczęcie procedury ; rozpocząć TL1 := BaudRateTimerValue ; TH1 := Szybkość transmisjiTimerValue ; TMOD := % 00100001 ; { Timer1: brak GATE, 8-bitowy timer, automatyczne przeładowanie } SCON := % 01010000 ; { Tryb szeregowy 1, Włącz odbiór } TI := Prawda ;
{ Wskaż gotowość TX } TR1 := Prawda ; { Włącz timer 1 } Assign ( SerialPort , WriteToSerialPort ) koniec ; rozpocznij init ; Writeln ( SerialPort , 'Witaj świecie!' ) koniec .