ForCy-USB は、マイクロコントローラの中にプログラミング言語の処理系を内蔵した教材です。テキスト記述のプログラムを USB 経由で送り込めば、直ちに中間コードにコンパイルして実行します。開発環境をセットアップしてからプログラムを作成し書き込むまでの煩雑な手続きを経ずに、手早くシステムを動かすことができます。
組み込み技術を学ぶ教材として、USB インターフェース、ドットマトリクスLED,照度センサなどを実装済みです。また、C言語による学習の教本も用意しました。
◎ 簡易言語 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 社 ATmega88PA (フラッシュ8KB, RAM 1KB) |
動作クロック | 8MHz(内蔵クロック) |
ファームウェア | ForCy インタプリタおよびコンパイラ搭載 |
ユーザープログラム | 3KB( ForCy 言語による記述で1000行程度) |
ユーザーデータ | 511バイト(EEPROM) |
I/O |
LED(8X8)、青LED(照度センサ兼用)、圧電ブザー、 押しボタンスイッチ2つ、COMポート、I/Oポート16ビット |
通信 | CDC, 4800bps, 8N1、フロー制御なし |
基板 | W55 x H78 x D12 mm (名刺サイズ) |
電源 | 5V (USB バス供給。外部供給可) |
その他 | オートスタート機能、日本語対応(Shift-JIS) USB ケーブル(A-mini B)、ForCy 解説書, C言語教本 付属 ボタンの色はバラバラです。I/Oポートにはピンヘッダ付属(未実装) |
PC : USB ポート付き
OS : Windows 7/8.1 (他の OS はサポート対象外)
汎用ターミナルソフトウェア(ハイパーターミナル、TeraTerm、HypoTerminal など)
はじめに USB 接続のためのドライバをインストールします(Mac, Linux および Windows 8.1 以降は不要)。その後、ターミナルソフトウェアで通信を確認してください。
メモ帳などで記述したプログラムテキストをターミナルソフトで転送またはカット&ペーストして実行します。
解説書を読みサンプルプログラムを試しながら、プログラム制御の考え方を学んでください。以下は音階を発生するプログラムです。
0x2a :DDRD // PORTD 方向 0xb0 :TCCR2A // タイマ2モード 0xb1 :TCCR2B // タイマ2クロック 0xb3 :OCR2A // タイマ2周期 clk 500 + { clk != while } do . :秒待ち 0xfa DDRD =sfr // ブザー端子(PD3)を出力 0x44 TCCR2B =sfr 0x12 TCCR2A =sfr "\x8d\x7e\x70\x69\x5e\x54\x4a\x46" // 周期データ 8 0 { dup @s OCR2A =sfr // 周期設定 秒待ち ++ } for .. 0 TCCR2A =sfr // 停止 :音階
組み込み技術を本格的に学ぶ方のために、C言語による学習教本とサンプルプログラム集も用意しました。少し難しい内容ですが、企業研修でも採用されています。
この基板だけでいろいろなプログラム実験ができますが、I/Oポートにさまざまなデバイスを接続して制御してみてください。液晶表示器をつないだ方もおられます。
3軸加速度センサ
FFT による音声スペクトル表示(C言語)
技術仕様などすべての情報を無償公開しています。
解説書
サンプルプログラム
USB ドライバ
ソースコードなど
C言語によるプログラム
AVR マイコンへのプログラム書き込み
ForCy コンパイラは、IPAの未踏ソフトウェア創造事業で採択された「軽量コンパイラによる組み込み開発」で開発したものです。