Turbo51 | |
---|---|
Výstup příkazového řádku Turbo51 | |
Typ | Kompilátor |
Vývojář | Igor Funa |
Operační systém | Win32 |
Nejnovější verze | 0.1.3.16 (14. října 2012 ) |
Licence | Freeware |
webová stránka | turbo51.com |
Turbo51 je kompilátor programovacího jazyka Pascal pro rodinu mikrokontrolérů Intel MCS-51 (8051) .
Má syntaxi Borland Turbo Pascal 7, včetně podpory objektově orientovaného programování. Kompilátor je napsán v Object Pascal a vyvinut v Delphi.
V roce 1980 Intel představil 8051 jako prvního člena rodiny procesorů MCS-51. Dnes desítky podniků vyrábějí stovky druhů této rodiny mikrokontrolérů s mnoha změnami a doplňky, které rozšiřují možnosti této rodiny. Proto je architektura mikrokontrolérů stále zajímavá pro profesionály i amatéry. Existuje mnoho kompilátorů C pro mikrokontroléry MCS-51, ale velmi málo kompilátorů Pascal.
Turbo51 byl navržen jako bezplatný kompilátor, který je stejně rychlý jako Turbo Pascal, používá stejnou syntaxi a generuje vysoce kvalitní, optimalizovaný kód.
Autorem překladače je Igor Funa, Slovinsko.
Turbo51 používá dialekt jazyka Borland Turbo Pascal 7. Syntaxe byla rozšířena o některé konstrukce pro podporu funkcí mikrokontrolérů MCS-51.
Var RS485_TX : Booleovská absolutní hodnota P3 . 2 ; I2C . SDA : Booleovská absolutní hodnota P3 . 7 ; I2C . SCL : Booleovská absolutní hodnota P3 . 4 ; EEPROM_Data : TEEPROM_Data XDATA absolutní 0 ; Adresa modulu : Byte ; RX_LedTimer : Byte ; TX_LedTimer : Byte ; SavedOutput : TOutputData IDATA ; OutputsAuxData : Pole [ 1 .. 8 ] Byte IDATA ; _Zdrojový kód programu:
Program Ahoj světe ; Const Osc = 22118400 ; přenosová rychlost = 19200 ; BaudRateTimerValue = Byte ( - Osc div 12 div 32 div BaudRate ) ; Var SerialPort : Text ; Napište ProcedureToSerialPort ; montážník ; Asm CLR TI MOV SBUF , A @ WaitLoop : JNB TI , @ WaitLoop end ; In ProcedureIt ; begin TL1 := BaudRateTimerValue ; TH1 := BaudRateTimerValue ; TMOD := % 00100001 ; { Timer1: no GATE, 8 bit timer, autoreload } SCON := % 01010000 ; { Sériový režim 1, Povolit příjem } TI := True ; { Označte TX připraveno } TR1 := True ; { Povolit časovač 1 } Přiřadit ( SerialPort , WriteToSerialPort ) ; konec ; začít Init ; Writeln ( SerialPort , 'Ahoj světe!' ) ; konec .Text zkompilovaného programu v assembleru:
; Turbo51 verze 0.1.3.10, Copyright 2000 - 2011 Igor Funa $REGISTERBANK ( 0 ) _CODE KÓD SEGMENTU _CONST KÓD SEGMENTU _DATA DATA SEGMENTU EXTRN DATA ( CurrentIO ) EXTRN IDATA ( StackStart ) EXTRN CODE ( sysWriteStr_CODE ) EXTRN CODE ( sysWriteLine ) ; Program HelloWorld; ; ; Const RSEG_CONST _ ; Osc = 22118400; ; přenosová rychlost = 19200; ; ; BaudRateTimerValue = Byte(- Osc div 12 div 32 div BaudRate); ; ; VarSerialPort:Text; RSEG_DATA _ Sériový port : DS4 ; ; Napište ProcedureToSerialPort; assembler; RSEG_CODE _ POUŽITÍ 0 WriteToSerialPort: ; Asm ; CLR TI CLR SCON.1 ; MOV SBUF, A MOV SBUF , A ; @WaitLoop: L_001D: ; JNB TI, @WaitLoop JNB SCON.1 , L_001D ; konec; RET ; ; V procesu; Init: ; start ; TL1 := BaudRateTimerValue; MOV TL1 , #$FD ; TH1 := BaudRateTimerValue; MOV TH1 , #$FD ; TMOD := %00100001; { Timer1: no GATE, 8 bit timer, autoreload } MOV TMOD , #$21 ; SCON := %01010000; { Serial Mode 1, Enable Reception } MOV SCON , #$50 ; TI := Pravda; { Indicate TX ready } SETB SCON.1 ; TR1 := Pravda; { Povolit časovač 1 } SETB TCON.6 ; ; Assign(SerialPort, WriteToSerialPort); MOV SerialPort , #LOW (WriteToSerialPort) MOV SerialPort + 1 , #HIGH (WriteToSerialPort) ; konec; RET RSEG_CONST _ C_0071: DB 12 , ' Ahoj světe ! ' CSEG za 0000 $ HelloWorld: ; ; begin MOV SP , #StackStart-1 ; init; LCALL Init ; Writeln(SerialPort, 'Ahoj světe!'); MOV CurrentIO , SerialPort MOV CurrentIO + 1 , SerialPort + 1 MOV DPTR , #C_0071 MOV R6 , #0 LCALL sysWriteStr_CODE LCALL sysWriteLine ; konec. L_0017: SJMP L_0017 KONECIntegrované vývojové prostředí pro mikrokontroléry 8051.
MC-51 obsahuje:
Ke kompilaci zdrojových souborů používá MC-51 volání příkazového řádku programu (ASEMW nebo Turbo51) s odpovídajícími parametry. Když kliknete na chybovou zprávu, editor vám umožní přejít přímo na řádek obsahující chybu. Vestavěný textový editor využívá open source komponenty SynEdit. Kromě toho mnoho pokročilých funkcí editoru SynEdit podporuje zvýraznění syntaxe specifické pro zdroj. Mnoho z těchto funkcí může uživatel konfigurovat individuálně.
MS-51 také obsahuje simulátor/ladicí program. S ním můžete sledovat provádění programu bez jakéhokoli hardwaru.
Pascal | |||||||
---|---|---|---|---|---|---|---|
Dialekty |
| ||||||
Kompilátory |
| ||||||
IDE | |||||||
Osoby |