Turbo51 | |
---|---|
Turbo51 parancssori kimenet | |
Típusú | Fordítóprogram |
Fejlesztő | Igor Funa |
Operációs rendszer | Win32 |
legújabb verzió | 0.1.3.16 (2012. október 14. ) |
Engedély | Ingyenes szoftver |
Weboldal | turbo51.com |
A Turbo51 az Intel MCS - 51 (8051) mikrokontrollercsalád Pascal programozási nyelvének fordítója .
Borland Turbo Pascal 7 szintaxissal rendelkezik, beleértve az objektum-orientált programozás támogatását. A fordítóprogram Object Pascal-ban íródott, és Delphiben fejlesztették.
1980-ban az Intel bemutatta a 8051-et az MCS-51 processzorcsalád első tagjaként. Napjainkban több tucat vállalkozás gyárt több száz fajtát ebből a mikrokontroller-családból, sok változtatással és kiegészítéssel, amelyek bővítik a család képességeit. Ezért a mikrokontrollerek architektúrája továbbra is érdekli a szakembereket és az amatőröket. Sok C fordító létezik az MCS-51 mikrokontrollerekhez, de nagyon kevés a Pascal fordító.
A Turbo51-et ingyenes fordítónak tervezték, amely olyan gyors, mint a Turbo Pascal, ugyanazt a szintaxist használja, és kiváló minőségű, optimalizált kódot generál.
A fordító szerzője Igor Funa, Szlovénia.
A Turbo51 a Borland Turbo Pascal 7 nyelvi dialektust használja A szintaxist kibővítettük néhány konstrukcióval, hogy támogassa az MCS-51 mikrokontrollerek funkcióit.
Var RS485_TX : Logikai abszolút P3 . 2 ; I2C . SDA : Logikai abszolút P3 . 7 ; I2C . SCL : Logikai abszolút P3 . 4 ; EEPROM_Data : TEEPROM_Data XDATA abszolút 0 ; Modulcím : Byte ; RX_LedTimer : Byte ; TX_LedTimer : Byte ; SavedOutput : TOutputData IDATA ; OutputsAuxData : IDATA bájt [ 1..8 ] tömbje ; _ _ _A program forráskódja:
Program HelloWorld ; Const Osc = 22118400 ; átviteli sebesség = 19200 ; BaudRateTimerValue = Byte ( -Osc div 12 div 32 div BaudRate ) ; _ Var SerialPort : Szöveg ; Írási eljárás a soros portba ; Összeszerelő ; Asm CLR TI MOV SBUF , A @ WaitLoop : JNB TI , @ WaitLoop vége ; In ProcedureIt ; begin TL1 := BaudRateTimerValue ; TH1 := BaudRateTimerValue ; TMOD := % 00100001 ; { Időzítő1: nincs GATE, 8 bites időzítő, automatikus újratöltés } SCON : = % 01010000 ; { 1. soros mód, vétel engedélyezése } TI := Igaz ; { Jelzi TX kész } TR1 := Igaz ; { 1. időzítő engedélyezése } Hozzárendelés ( SerialPort , WriteToSerialPort ) ; vége ; kezdődik Init ; Writeln ( SerialPort , 'Hello world!' ) ; vége .Az összeállított program szövege assemblerben:
; Turbo51 0.1.3.10 verzió, Copyright 2000 - 2011 Igor Funa $REGISTERBANK ( 0 ) _CODE SEGMENT CODE _CONST SZEGMENT KÓD _ADATOK SZEGMENT ADATOK EXTRN DATA ( CurrentIO ) EXTRN ADATA ( StackStart ) KÜLSŐ KÓD ( sysWriteStr_CODE ) EXTRN KÓD ( sysWriteLine ) ; Program HelloWorld; ; ; Const RSEG_CONST _ ; Osc = 22118400; ; átviteli sebesség = 19200; ; ; BaudRateTimerValue = Byte(- Osc div 12 div 32 div BaudRate); ; ; VarSerialPort:Szöveg; RSEG_DATA _ Soros port : DS4 ; ; Írási eljárás a soros portba; szerelő; RSEG_CODE _ 0 HASZNÁLATA WriteToSerialPort: ; Asm ; CLR TI CLR SCON.1 ; MOV SBUF, A MOV SBUF , A ; @WaitLoop: L_001D: ; JNB TI, @WaitLoop JNB SCON.1 , L_001D ; vége; RET ; ; eljárásban; Init: ; start ; TL1 := BaudRateTimerValue; MOV TL1 , #$FD ; TH1 := BaudRateTimerValue; MOV TH1 , #$FD ; TMOD := %00100001; { Időzítő1: nincs GATE, 8 bites időzítő, automatikus újratöltés } MOV TMOD , #$21 ; SCON := %01010000; { 1. soros mód, vétel engedélyezése } MOV SCON , #50 $ ; TI := Igaz; { Jelzi az TX készenlétet } SETB SCON.1 ; TR1 := Igaz; { 1. időzítő engedélyezése } SETB TCON.6 ; ; Hozzárendelés (SerialPort, WriteTo SerialPort); MOV SerialPort , #LOW (WriteTo SerialPort) MOV SerialPort + 1 , #HIGH (WriteTo SerialPort) ; vége; RET RSEG_CONST _ C_0071 : DB 12 , Hello világ ! ' CSEG 0000 USD - ÉRT HelloWorld: ; ; kezdődik MOV SP , #StackStart-1 ; benne; LCALL Init ; Writeln(SerialPort, 'Hello world!'); MOV CurrentIO , SerialPort MOV CurrentIO + 1 , SerialPort + 1 MOV DPTR , #C_0071 MOV R6 , #0 LCALL sysWriteStr_CODE LCALL sysWriteLine ; vége. L_0017: SJMP L_0017 VÉGEIntegrált fejlesztői környezet 8051 mikrokontrollerekhez.
Az MC-51 a következőket tartalmazza:
A forrásfájlok fordításához az MC-51 megfelelő paraméterekkel rendelkező program parancssori hívást (ASEMW vagy Turbo51) használ. Ha egy hibaüzenetre kattint, a szerkesztő lehetővé teszi, hogy közvetlenül a hibát tartalmazó sorra ugorjon. A beépített szövegszerkesztő a nyílt forráskódú SynEdit összetevőket használja. Ezenkívül a SynEdit szerkesztő számos fejlett funkciója támogatja a forrásspecifikus szintaxiskiemelést. Ezen funkciók közül sokat a felhasználó egyénileg konfigurálhat.
Az MS-51 egy szimulátort/hibakeresőt is tartalmaz. Ezzel hardver nélkül is figyelemmel kísérheti a program végrehajtását.
Pascal | |||||||
---|---|---|---|---|---|---|---|
Dialektusok |
| ||||||
Fordítók |
| ||||||
IDE | |||||||
Személyek |