| 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 ] ;特徴
- Win32コンソールアプリケーション
- 高速シングルパス最適化コンパイラ
- Borland Turbo Pascal 7 構文
- 完全な浮動小数点サポート
- パスカルとアセンブリの混合プログラミング
- レジスタバンクのフル活用
- 高度なマルチパスオプティマイザー
- スマートリンカー
- コンパクトで高品質なコードを生成
- 出力形式:バイナリ、Intel HEX、OMF51オブジェクトモジュール形式
- アセンブリソースコード生成
「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 .参照
外部リンク
ウィキブックスには「プログラミング:パスカル」に関する書籍があります