Loading article…
Turbo51コマンドライン出力 | |
| 開発者 | イゴール・フナ |
|---|---|
| 安定版リリース | 0.1.3.12 / 2012年2月1日 |
| オペレーティング·システム | ウィン32 |
| タイプ | コンパイラ |
| ライセンス | フリーウェア |
| Webサイト | ターボ51 |
Turbo51 は、 Intel MCS-51 (8051) ファミリのマイクロコントローラ用のプログラミング言語Pascalのコンパイラです。Borland Turbo Pascal 7 構文、インラインアセンブリコードのサポート、ソース レベルのデバッグ、最適化などの機能を備えています。このコンパイラはObject Pascalで記述され、 Delphiで作成されています。
1980 年代に、Intel は8051 を MCS-51 プロセッサ ファミリの最初のメンバーとして発表しました。今日では、数十のメーカーから数百の安価な派生製品が販売されています。このため、このアーキテクチャは専門家や愛好家にとって非常に興味深いものとなっています。この 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 ;
定数
Osc = 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 .
参照
外部リンク
- 公式サイト
