Turbo51

Turbo51
開発者イゴール・フナ
安定版リリース
0.1.3.12 / 2012年2月1日 (2012年2月1日
オペレーティングシステムWin32
タイプコンパイラ
ライセンスフリーウェア
ウェブサイト turbo51.com

Turbo51はIntel MCS-51(8051)ファミリーのマイクロコントローラ向けのプログラミング言語Pascalコンパイラです。Borland Turbo Pascal 7構文、インラインアセンブリコードのサポート、ソースレベルデバッグ最適化などの機能を備えています。このコンパイラはObject Pascalで記述され、 Delphiで開発されています

1980年代、IntelはMCS-51プロセッサフ​​ァミリーの最初のメンバーとして8051を発表しました。今日では、数十のメーカーから数百種類の安価な派生製品が発売されています。そのため、このアーキテクチャは専門家や愛好家にとって非常に興味深いものとなっています。この8ビットアーキテクチャが今日でも使用され、依然として高い人気を誇っていることは驚くべきことです。8051コンパイラの中で、広く使用されているCコンパイラはいくつかありますが、Pascalコンパイラはごくわずかです。Turbo51はフリーウェアとして提供されており、 Turbo Pascalと同等の速度で、同じ構文を使用し、高品質で最適化されたコードを生成するMCS-51プロセッサ用のPascalコンパイラを作成することを目的として開発されました。

言語方言

Turbo51はBorland Turbo Pascal 7方言を使用しています。MCS-51プロセッサの特定の機能をサポートするために、いくつかの構文が拡張されています

Var RS485_TX :ブール絶対値P3 . 2 ; I2C . SDA :ブール絶対値P3 . 7 ; I2C . SCL :ブール絶対値P3 . 4 ;EEPROM_Data : TEEPROM_Data XDATA絶対値0 ;ModuleAddress :バイト; RX_LedTimer :バイト; TX_LedTimer :バイト;SavedOutput : TOutputData IDATA ; OutputsAuxData :バイトIDATA配列[ 1..8 ] ;

特徴

「Hello World」の例

 HelloWorldプログラム定数発振器= 22118400 ;ボーレート= 19200 ;BaudRateTimerValue = Byte ( - Osc div 12 div 32 div BaudRate ) ;変数SerialPort :テキスト;プロシージャWriteToSerialPort ;アセンブラー; Asm CLR TI MOV SBUF , A @ WaitLoop : JNB TI , @ WaitLoop end ;手順Init ; begin TL1 := BaudRateTimerValue ; TH1 := BaudRateTimerValue ; TMOD := % 00100001 ; { Timer1: GATE なし、8 ビット タイマー、自動リロード } SCON := % 01010000 ; { シリアル モード 1、受信を有効にする } TI := True ; { TX 準備完了を示す } TR1 := True ; { タイマー 1 を有効にする }Assign ( SerialPort WriteToSerialPort )終了;begin Init ; Writeln ( SerialPort , 'Hello world!' ) end .

参照