ForCy-AVR は、マイクロコントローラの中にプログラミング言語の処理系を内蔵したシステムです。テキスト記述のプログラムをシリアル通信で送り込めば、直ちに中間コードにコンパイルして実行します。開発環境をセットアップしてからプログラムを作成し書き込むまでの煩雑な手続きを経ずに、手早くシステムを動かすことができます。
◎ 簡易言語 ForCy によるスクリプト制御。
◎ アセンブラ、C言語で作成したプログラムのブートも可能。
◎ I/Oポート(16bit)、ADC(10bit, 4ch)、コンパレータ、タイマ/カウンタ、USI, EEPROM を利用可能。
◎ 他の AVR マイコンへのプログラム書き込み機能付き。
方式 | 後置記法、仮想スタックマシン プログラム転送時に逐次コンパイルし中間コード化 |
データ型 | 16bit 変数、配列、文字列 |
制御構文 | if, ifelse, do, for, while, break, continue, switch, case, return, 再帰呼び出し... |
周辺機能制御 | 特殊機能レジスタ(SFR) を配列アクセス |
実行性能 | 機械語の10倍程度(空ループを毎秒7万回実行) |
MCU | AVR, PIC16F, R8C/Tiny, M32R... |
ROM | 4~6KB(コンパイラ+インタプリタ) |
RAM | 256 Bytes~ |
マイクロコントローラ | Atmel 社 ATmega88 (フラッシュ8KB, RAM 1KB) |
動作クロック | 8MHz(内蔵クロック) |
ファームウェア | ForCy インタプリタおよびコンパイラ搭載 |
ユーザープログラム | 3KB( ForCy 言語による記述で1000行程度) |
ユーザーデータ | 511バイト(EEPROM) |
I/O | LED(赤黄緑青)、押しボタンスイッチ2つ。空き16ビット |
通信 | RS-232C, 4800bps, 8N1、フロー制御なし、ストレート接続 |
基板 | 50 x 70 mm (名刺サイズ) |
電源 | 3~5V(単三電池2本) |
その他 | オートスタート機能、日本語対応(Shift-JIS) |
PC : RS-232C ポート付き もしくは USB-RS232C 変換ケーブル
OS : MS-DOS, Windows, Macintosh, Linux...
汎用ターミナルソフトウェア(ハイパーターミナル、TeraTerm、HypoTerminal など)
はじめに添付の説明書と作り方に沿って、基板に部品を取り付け半田付けしてください。
PC に基板を接続し、ターミナルソフトウェアを起動します。メモ帳などで記述したプログラムテキストをターミナルソフトで転送またはカット&ペーストして実行します。
回路図とデータシートを参照しながらプログラムを作成してみましょう。以下は4つの LED を1秒ごとにバイナリカウントするプログラムです。
0x2b :PORTD // データ 0x2a :DDRD // 入出力方向 PORTD sfr ~ // PORTD の反転値に 0x10 + ~ // 0x10 を足して反転し PORTD =sfr // PORTD に戻す :点滅 0xf0 DDRD =sfr // PD4-7 を出力方向 0 PORTD =sfr { 0 点滅 } interrupt // 1秒割込みを登録 @c // キー入力で停止 :LED
I/O ポートにセンサや LED などを接続し、いろいろな制御を楽しんでください。
内蔵のブートローダを使えばCやアセンブラで開発したプログラムをロードし実行することもできます(書き込み器は不要です)。ForCy言語では対応できない応用にお使いください。こちらが C言語プログラムの資料 です。
中間言語インタプリタによる実行方式は、リアルタイムでの高速動作や極めて少ない消費電力を要求されるシステムには向きません。それ以外の用途であれば、ほとんどの制御システムに応用できます。
温度計測
7セグメントLED時計
モーター制御
技術仕様などすべての情報を無償公開しています。
部品キットの組み立て方
ハイパーターミナル設定
基本操作(モニターコマンド)
文法
サンプルプログラム、回路図 (2010/9/7更新)
ソースコードなど (2010/5/27更新)
C言語によるプログラム
AVR マイコンへのプログラム書き込み (2010/4/7更新)
ForCy コンパイラは、IPAの未踏ソフトウェア創造事業で採択された「軽量コンパイラによる組み込み開発」で開発したものです。