メイン

超Low-EndマイコンRS08を使おう アーカイブ

2007年9月 7日

超Low-EndマイコンRS08を使おう - RS08でもCコンパイラが使える(1)


 RS08は、2006年に公開されたFreescaleの新しいマイコンシリーズです。

 公開当初は、無償版のCodeWarriorで使用できるのは、RS08向けにはCコンパイラが提供されておらず、 アセンブラだけが提供されていました。 Cが使えないことがRS08のプログラムを作成する時の障害となっていたのです。 ところが、2007年6月に公開されたCodeWarrior for MCU V6.0には、 ベータ版ながらもRS08用のCコンパイラが搭載されています。
 この記事では、CodeWarriorのCコンパイラを使った、 RS08の特徴を生かしたプログラミングについて考えていきます。

rs08compiler-00-01-480.jpg

 次回から、MC9RS08KA2マイコンで圧電スピーカから音を出すアプリケーションを作ります。

田中範明

2007年9月10日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (1)


 マイコンに圧電スピーカをつなぐと、音を出すことができます。 音の周期を決めるにはタイマ・モジュールを使います。 でも、MC9RS08KA2には、ほかのHC(S)08マイコンには存在する ある機能が欠けているのです。

rs08compiler-01-01.jpg

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (1)" »

2007年9月11日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (2)


MC9RS08KA2で音を出すハードウェア

 MC9RS08KA2で音を出す システムで必要なのは、マイコンとそれにつながる圧電スピーカです。 それに電源をつけると独立した立派なアプリケーションになります。

rs08compiler-01-03.png

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (2)" »

2007年9月13日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (3)


プログラム開発のためのプロジェクトを作る

 プログラムの開発は、 HC(S)08シリーズと同様に CodeWarriorを使います。 この記事では、 RS08用のCコンパイラでプログラムを作成します。 そのため、ベータ版のCコンパイラが含まれている CodeWarrior for Microcontrollers V6.0のインストールが必要です。 「スタート」メニューからCodeWarriorを呼び出します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (3)" »

2007年9月14日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (4)


ソフトウェア・タイマで音を出すプログラムを作る

 最初に、タイマ・モジュールを使わない純粋にソフトウェアだけで処理を行う プログラムを書いてみます。 タイマをソフトウェアで実現するので、ソフトウェア・タイマと呼びます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (4)" »

2007年9月18日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (5)


ソフトウェア・タイマで音を出すプログラムの解説 (1)

 前回は、ソフトウェア・タイマで音を出すプログラムのソース・コードを掲載しました。 今回から2回に分けてその詳細を解説していきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (5)" »

2007年9月20日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (6)


ソフトウェア・タイマで音を出すプログラムの解説 (2)

 前回に引き続いて、ソフトウェア・タイマで音を出すプログラムの詳細を解説していきます。 後半は、関数についての解説です。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (6)" »

2007年9月21日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (7)


プログラムをコンパイルする

 今回は、できあがったソース・コードをコンパイルします。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (7)" »

2007年9月25日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (8)


マイコンにプログラムを書き込む

 いよいよ、USBSPYDER08を使ってプログラムを書き込みます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (8)" »

2007年9月27日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (9)


プログラムを実行する

 マイコンにプログラムを書き込んだら、実行させてみましょう。 実行は、デバッガの画面から行います。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (9)" »

2007年10月 1日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (10)


ソフトウェア・タイマの周波数を変えてみる

 圧電スピーカから音を出すことはできましたが、 このままでは一定の音程の音が出てくるだけです。 マイコンの動作中にデバッガから操作して音程を変えてみましょう。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (10)" »

2007年10月 4日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (11)


モジュロ・タイマで音を出すプログラムを作る

 前回まで、ソフトウェア・タイマを使用して音を出すプログラムを作りましたが、 出てくる音程は「出たとこ勝負」で決まっていました。 確実に音程を決めるには、ハードウェアの力を借ります。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (11)" »

2007年10月 5日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (12)


モジュロ・タイマ用にソース・コードを書き直す

 前回決めた方針に従って、モジュロ・タイマを使うプログラムを作成します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (12)" »

2007年10月 9日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (13)


モジュロ・タイマを使うプログラムの解説

 今回は、モジュロ・タイマを使うプログラムの詳細を解説していきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (13)" »

2007年10月11日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (14)


モジュロ・タイマの周波数を変えてみる

 前回までに作成したモジュロ・タイマを使用したプログラムを実行します。 さらに、動作中のマイコンに介入して音程も変えます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (14)" »

2007年10月15日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (1)


 前回までに作成した音を出す装置のプログラムを変更すると、 音楽を奏でることができるようになります。 音楽には、音程とテンポの二つの要素が必要です。 テンポを制御するために、二つ目のタイマを使用します。

MC9RS08KA2で音を出す装置

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (1)" »

2007年10月17日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (2)


リアルタイム割り込みでテンポを作るプログラム

 前回は、音楽を奏でるための二つの要素、音程と音の長さを制御する方法について考えました。 今回から、 モジュロ・タイマで音程を決め、 RTIモジュールでテンポを決める 最初の課題プログラムの作成をはじめます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (2)" »

2007年10月19日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (3)


二つの音を切り替えるソース・コード

 前回までで プログラムの方針が決まったので、 フローチャートに従って、ソース・コードを記述します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (3)" »

2007年10月22日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (4)


二つの音を切り替えるプログラムの解説(1)

 前回紹介したプログラムの解説を行います。 第1回目は、レジスタの初期設定値と大域変数です。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (4)" »

2007年10月24日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (5)


二つの音を切り替えるプログラムの解説(2)

 プログラムの解説の二回目は、各種関数について説明します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (5)" »

2007年10月29日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (6)


音程とテンポを変えてみる

 プログラムができたので、マイコンに書き込んで実行します。 このアプリケーションもデバッガからパラメータを変更することができます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (6)" »

2007年10月31日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (7)


配列で楽譜を表現する

 前回作成したアプリケーションは、 二つの音程を切り替える機能を持っています。 この切り替えの機能を、楽譜に従って、 自動的に行うと音楽を演奏することができます。

 もちろん、人間のために書かれた五線譜をマイコンが読むことはできないので、 FLASH ROM上に定数としてデータをして楽譜を記述していかなくてはなりません。 そこで、これから数回にわたって、 楽譜をデータとして定義する方法を考えていきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (7)" »

2007年11月 2日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (8)


小節を表現する型

 前回は音符を表現するデータ構造を考えました。 楽譜は、音符を順番に並べたものです。 今回は、音符と楽譜の中間のデータ構造として小節を考えます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (8)" »

2007年11月 5日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (9)


楽譜を表現する型

 前回まで楽譜を表現するデータ構造を考えてきました。 今回は、いよいよ最上位階層の楽譜データを定義します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (9)" »

2007年11月 7日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (10)


楽譜の具体的な記述法

 前回までで、楽譜を表現するデータ構造を決定しました。 今回は、このデータ構造を使って楽譜を記述する方法を具体的に示します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (10)" »

2007年11月 9日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (11)


楽譜を配置するアドレスを指定する

 今回は、前回作成した定数配列を配置するアドレスを指定します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (11)" »

2007年11月14日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (12)


音楽を奏でるプログラム

 楽譜を表現する方法が決まったので、 音楽を奏でるプログラムを記述していきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (12)" »

2007年11月16日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (13)


音楽を奏でるソース・コード

 今回は、フローチャートに従って、ソース・コードを書きます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (13)" »

2007年11月19日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (14)


音楽を奏でるプログラムの解説(1)

 前回掲載したソース・コードを数回にわたって解説していきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (14)" »

2007年11月21日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (15)


音楽を奏でるプログラムの解説(2)

 次回に引き続き、プログラムを解説します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (15)" »

2007年11月26日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (16)


PRMファイルの記述

 今回は、ソース・コードのほかに必要なもうひとつの設定ファイルである PRMファイルを記述します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (16)" »

2007年11月28日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (17)


音を奏でるプログラムの実行

 プログラムができたので、マイコンに書き込んで実行します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (17)" »

2007年11月10日

CodeWarrior for MCUs V6.1 のインストール (1)


 RS08マイコンのアプリケーション開発は、 CodeWarriorという統合開発ツールを使います。 また、この開発ツールを使うと、 HC08, HCS08, ColdFire V1の 三種類のマイコンのアプリケーションも開発することができます。 まずは、開発ツールをインストールしましょう。

インストーラ・スプラッシュ

続きを読む "CodeWarrior for MCUs V6.1 のインストール (1)" »

CodeWarrior for MCUs V6.1 のインストール (2)


インストーラ・ファイルをダウンロードする

 前回は、CD-ROMが入手できた場合のインストーラの起動の仕方について解説をしました。 今回は、freescale.comからダウンロードする場合の手順について解説します。

インストーラ・スプラッシュ

続きを読む "CodeWarrior for MCUs V6.1 のインストール (2)" »

2007年11月13日

CodeWarrior for MCUs V6.1 のインストール (3)


 前回までで、CD-ROMを使う方法とfreescale.comからダウンロードする方法の 二通りについてインストーラの起動までを解説しました。 今回は、起動したインストーラを使って、 CodeWarrior for MCUs V6.1をインストールする手順を解説していきます。

インストール作業

 インストーラが起動すると、 スプラッシュが表示されます。

インストーラ・スプラッシュ

続きを読む "CodeWarrior for MCUs V6.1 のインストール (3)" »

CodeWarrior for MCUs V6.1 のインストール (4)


 前回までで、CodeWarrior for MCUs V6.1のインストールが終わりました。 今回は、CodeWarrior for MCUs V6.1を使って、サンプル・プログラムを書き込んでみます。

USBSPYDER08に搭載されたMC9RS08KA2

続きを読む "CodeWarrior for MCUs V6.1 のインストール (4)" »

2007年12月20日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (1)


 「MC9RS08KA2で音を出す装置」は、 これまでのプログラムでは使っていませんが、 押しボタン(キー)を付けてあります。 次のテーマとして、音を出す装置のプログラムを変更し、 キー入力により音をON/OFFさせるプログラムを作成します。 キーの状態を知るには、どうしたらよいのでしょうか。

MC9RS08KA2で音を出す装置

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (1)" »

2007年12月25日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (2)


 今回は、 前回解説したキー入力の仕組みを MC9RS8KA2特有の機能を使って快適に実装します。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (2)" »

2007年12月30日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (3)


 前回まで、キー入力を行うための要素が揃いました。 今回から、キー入力を読み取るソフトウェアを作成します。

デバッガでキーの状態を調べる

 それでは、最初のプログラムを作成します。 ここで作成するプログラムは、ポートの状態を読み込んで、 その状態によりある変数の値を変更するプログラムです。 変数の値は、デバッガによりリアルタイムで観測することが出来ます。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (3)" »

2008年1月 5日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (4)


キーの状態を調べるソース・コード

 前回作成したフローチャートに従って、ソース・コードを書きます。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (4)" »

2008年1月 7日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (5)


プログラムを実行する

 プログラムが完成したので、マイコンに書き込んで実行します。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (5)" »

2008年1月 8日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (6)


 前回、マイコンにプログラムを書き込んで、実行したのですが、 キーを押しても、デバッガが表示している大域変数には変化がありませんでした。 さて、どうしたわけでしょうか。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (6)" »

2008年1月 9日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (7)


キーの状態で音を制御するプログラム

 前回までのプログラムで、 キーの状態を知る方法がわかったので、 キーの状態に従って、音を出したり止めたりするプログラムを 作ります。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (7)" »

2008年1月10日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (8)


キーの状態で音を制御するソース・コード

 前回のフローチャートをもとにソース・コードを書きます。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (8)" »

2008年1月11日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (9)


 前回公開したソース・コードのうち、 RS08C2から変更した関数について解説します。

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (9)" »

2008年1月15日

超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (10)


デバッガで動作を確認する

 作成したプログラムをマイコンに書き込み、実行します。

MC9RS08KA2で音を出す装置

続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (10)" »

2007年12月 6日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作るイルミネーション (1)


 MC9RS08KA2で4個のLEDを光らせるプログラムを応用して、 イルミネーションを作ります。

MC9RS08KA2で作るイルミネーション装置

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作るイルミネーション (1)" »

2007年12月10日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作るイルミネーション (3)


 前回までで、 LED駆動基板がプログラムを含めて完成しました。 今回は、イルミネーション・ハードウェアを完成させます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作るイルミネーション (3)" »

2007年12月 7日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作るイルミネーション (2)


イルミネーション・プログラムを作る

 イルミネーション・プログラムを作成して、マイコンに書き込みます。 ここでは、ソフトウェアPWMを使ってLEDを点灯させるプログラムを流用します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作るイルミネーション (2)" »

2007年12月12日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作るイルミネーション (4)


いざ、点灯

 プチ・デコレーション・ライトを取り付けたら、点灯式です。 スイッチをONにすると、LEDが点滅を始めます。

イルミネーションの点滅

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作るイルミネーション (4)" »

2008年1月17日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (1)


 音を出す装置のプログラムを変更すると、 キー入力で演奏が始まるオルゴールができあがります。 電池駆動なら、省電力設計にしたいよね。

MC9RS08KA2で音を出す装置

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (1)" »

2008年1月18日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (2)


 前回は、最初の電子オルゴールのシステムを紹介しました。 今回は、ソース・コードを公開します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (2)" »

2008年1月21日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (3)


プログラムの解説(1)

 今回から二回に分けて、プログラムを解説していきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (3)" »

2008年1月22日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (4)


プログラムの解説(2)

 今回は、メイン関数について解説します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (4)" »

2008年1月25日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (5)


 今回は、PRMファイルの記述を公開します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (5)" »

2008年1月29日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (6)


プログラムを実行する

 プログラムが完成したので、マイコンに書き込んで実行します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (6)" »

2008年2月 5日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (7)


消費電流を測定しながら、プログラムを改造する

 このアプリケーションの大部分の時間は、 人間がキーを押すのを待っている状態です。 このようなアプリケーションの場合、 待ち時間での消費電流を減少させると平均の消費電流が減り、 電池寿命が長くなります。 今回から数回にわたり、消費電流を測定しながら、 消費電流を減らすためのプログラム改造方法を考えます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (7)" »

2008年2月 8日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (8)


STOP命令を使ってみる

 前回は、省電力モードに入るWAIT命令を使ってみました。 今回は、もう一つの省電力モードである、 STOPを試してみます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (8)" »

2008年2月13日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (9)


 今回もさらなる、低消費電力を実現するために、プログラムを改造していきます。 そのためには、使用していないモジュールを停止させます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (9)" »

2008年2月15日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (10)


最終版電子オルゴールプログラム

 消費電流を減らすために、 プログラムにさまざまな改造を施しましたので、 その結果のプログラムを公開します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (10)" »

2008年2月20日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (11)


プログラムの実行

 いよいよ、完成したプログラムを実行します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (11)" »

2008年2月21日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (1)


 今回から、MC9RS08KA2に表示機能をつけます。 マイコンの表示装置には、LEDを使うのが便利です。 どんなふうに接続するのでしょうか。

MC9RS08KA2で4個のLEDを駆動する装置

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (1)" »

2008年2月27日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (2)


 今回は、LEDを駆動するシステムの図をもとに具体的なハードウェアを作成します。

MC9RS08KA2で4個のLEDを駆動するハードウェア

 このシステムで必要なのは、マイコンと4組のLEDと抵抗です。 あとは、電源を加えると立派な独立アプリケーションになります。

MC9RS08KA2で4個のLEDを駆動する回路図

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (2)" »

2008年3月 3日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (3)


 今回は、LEDに流れる電流の計算方法を解説します。

LEDに電流を流すと…

 LEDを点灯させたときの明るさは、LEDに流す電流で決まります。 LEDという素子は、 適切な電流を流した状態のときにLEDの両端に現れる電圧がほぼ一定になります。 そのため、直列に接続する抵抗の値によって、 LEDに流す電流をある程度決定することができます。 この抵抗のことを電流制限抵抗と呼んでいます。

LEDに流れる電流と電圧降下

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (3)" »

2008年3月 5日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (4)


 今回も引き続き、LEDに流す電流の計算方法を解説します。

マイコンのポート出力の電圧降下

 マイコンのポート出力は、 抵抗成分をもっているので、電流を流すと電圧降下が起こります。

MC9RS08KA2のポート出力の電圧降下

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (4)" »

2008年3月11日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (5)


 今回からソフトウェア開発を行います。

プログラム開発のためのプロジェクトを作る

 プログラムの開発は、 CodeWarrior for Microcontollersを使います。 ここでは、 RS08用のCコンパイラが含まれている CodeWarrior for Microcontrollers V6.1を使って、 Cコンパイラでプログラムを作成します。 「スタート」メニューから CodeWarrior for Microcontrollersを 呼び出します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (5)" »

2008年3月13日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (6)


 今回は、プログラムのもとになるフローチャートを描きます。

LEDを点滅させるプログラムを作る

 最初は、4個のLEDを別々の周期で点滅させるプログラムを書きます。 時間を決めるタイマ・モジュールは、 MC9RS08KA2には4個も入っていません。 そこで、モジュロ・タイマを拡張した、 4組のソフトウェア・タイマを作ってそれぞれ処理します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (6)" »

2008年3月17日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (7)


 今回は、いよいよソース・コードを記述します。

4個のLEDを点滅させるソース・コードを書く

 フローチャートに従って、ソース・コードを書いていきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (7)" »

2008年3月24日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (8)


 今回から、音を出すプログラムとは異なる部分について、ソース・コードの解説を行います。

PTADDレジスタの設定について

 ポートの出力機能を有効にするために、 PTADD_INITという定数を 宣言して初期化関数で使用しています。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (8)" »

2008年3月31日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (9)


今回は、ソース・コードの後半部分を解説します。

初期設定関数の解説

 関数initialize(void)では、 レジスタと変数の初期化を行っています。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (9)" »

2008年4月 4日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (10)


LEDの点滅周期を変えてみる

 プログラムができたので、マイコンに書き込んで実行してみましょう。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (10)" »

2008年4月 7日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (11)


プログラムを実行する

 マイコンにプログラムを書き込んだら、デバッガ画面から実行します。

デバッガ画面

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (11)" »

2008年4月11日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (12)


PWMでLEDの明るさを変えるプログラムを作る

 先のプログラムでは、LEDの点滅周期を変更しましたが、 LEDの明るさについては点灯と消灯の二種類の状態しかとっていません。 では、LEDの明るさを変化させるためには、どうしたらよいのでしょうか。 LEDの見かけの明るさを変化させる技術の一つに 平均電流を制御するPWMという手法があります。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (12)" »

2008年4月14日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (13)


ソフトウェアPWMのフローチャート

 LEDの点滅が見えなくなるのは、 一秒間におおむね60回以上の点滅が行われたときです。 このプログラムでは、PWMの周期を約8ミリ秒として、 一秒間に125回の点滅が行われるように設定しています。

ソフトウェアPWMのフローチャート

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (13)" »

2008年4月17日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (14)


ソフトウェアPWMのソース・コード

 フローチャートに従って、ソース・コードを書きます。 ここでは、C:\Projects\CW\RS08C11という場所に RS08C11というプロジェクトを作成して プログラムを記述していきます。 プロジェクトの作成および設定は、これまでと同じなので、省略します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (14)" »

2008年4月22日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (15)


モジュロ・タイマの設定について

 前回のプログラムは、LEDの点滅を見せるためのものでしたが、 今回は、LEDが点滅していることを感じさせないようにします。 そのため、モジュロ・タイマの周期が短くなっています。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (15)" »

2008年4月25日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (16)


LEDの明るさを手動で変えてみる

 プログラムができあがったら、マイコンに書き込んで実行します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (16)" »

2008年4月28日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (17)


LEDの明るさを自動で変えるプログラムを作る

 先のプログラムでは、デューティー比を手動で変化させていました。 次は、自動的に明るさを変化させるプログラムを作ります。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (17)" »

2008年5月 2日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (18)


自動的にLEDの明るさを変更するソース・コード

 フローチャートに従って、ソース・コードを書きます。 ここでは、C:\Projects\CW\RS08C12という場所に RS08C12というプロジェクトを作成して プログラムを記述していきます。 プロジェクトの作成および設定は、これまでと同じなので、省略します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (18)" »

2008年5月 7日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (19)


ソース・コードの解説

 今回は、前回公開したソース・コードのうち、 新たに変更があった部分に解説を加えていきます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (19)" »

2008年5月 9日

超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (20)


プログラムを実行する

 プログラムができあがったら、マイコンに書き込んで実行します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で4個のLEDを駆動する (20)" »

2008年5月14日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (1)


 これまでは、MC9RS08KA2で4個(系統)のLEDを駆動しました。 もっと多くのLEDを駆動したいのですが、 MC9RS08KA2には、そんなに多くの端子がありません。 でも、工夫すれば、何とかなります。

MC9RS08KA2で6個のLEDを駆動する装置

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (1)" »

2008年5月19日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (2)


 今回は、システム図をもとに具体的なハードウェアを作成します。

MC9RS08KA2で6個のLEDを駆動するハードウェア

 このアプリケーションの回路図を示します。

MC9RS08KA2で6個のLEDを駆動する回路図

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (2)" »

2008年5月21日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (3)


 今回は、三つのポートで6個のLEDを駆動する仕組みを解説します。

多くのLEDを駆動する仕組み

 6個のLEDは、異なるポートそれぞれの間に張られる、 いわゆる「完全グラフ」の枝状に配置されます。 このため、4個のポートを使えば12個のLEDを 8個のポートを使えば理論上56個のLEDを駆動することができます。

3つのポートに6個のLEDを接続する

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (3)" »

2008年5月28日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (4)


 今回も引き続き6個のLEDを制御する仕組みを解説します。

なぜ、LEDは一つだけ光るのか?

 上の例では、 LED4が順方向バイアスになって点灯していますが、 よく見ると、LED1LED3も 順方向バイアスになっています。 なぜ、これらのLEDは、点灯しないのでしょうか。

順方向バイアスでも点灯しない

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (4)" »

2008年6月 2日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (5)


 今回は、LEDに流れる電流を計算します。

LEDに流れる電流を計算する

 この回路には、 LEDに流れる電流を決定するための電流制限抵抗が使われていません。 では、いったい、どのくらいの電流が流れているのでしょうか。

 「MC9RS08KA2で4個のLEDを駆動する」で示したように、 マイコンのポート出力は、抵抗成分を持っているため、 電流を流すと電圧降下が起こります。

MC9RS08KA2のポート出力の電圧降下

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (5)" »

2008年6月 6日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (6)


特定のLEDを点灯するプログラムを作る

 それでは、狙ったLEDを点灯させるプログラムを書いてみましょう。 最初は、いつものようにデバッガから手動で操作するプログラムです。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (6)" »

2008年6月11日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (7)


特定のLEDを点灯するソース・コード

 フローチャートに従って、ソース・コードを記述します。 ここでは、C:\Projects\CW\RS08C13という場所に RS08C13というプロジェクトを作成して プログラムを記述していきます。 プロジェクトの作成および設定は、これまでと同じなので、省略します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (7)" »

2008年6月12日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (8)


 今回は、ソース・コードに解説を加えていきます。

大域変数の解説

 このプログラムで使用する変数は、一つだけです。

//==============================================================
//  変数の宣言
//==============================================================
byte            led_index;      // 点灯させるLEDの場所

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (8)" »

2008年6月17日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (9)


手動でLEDを点灯させてみる

 プログラムができあがりました。 USBSPYDER08を使って、プログラムをマイコンに書き込んで実行します。

コンパイルから実行まで

 メニュー・バーから ProjectMakeを選択するか、 F7キーを押してコンパイルを行います。 プロジェクト・ウィンドウの上のほうにあるMakeボタンを クリックすることもできます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (9)" »

2008年6月20日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (10)


LEDを順番に点灯させるプログラムを作る

 手動でLEDを点灯させることができたので、 次は、LEDを順番に点灯させるプログラムを作ります。 LEDを切り替えるタイミングを作るのは、 おなじみモジュロ・タイマです。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (10)" »

2008年6月24日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (11)


LEDを順番に点灯させるソース・コード

 フローチャートに従って、ソース・コードを記述します。 ここでは、C:\Projects\CW\RS08C14という場所に RS08C14というプロジェクトを作成して プログラムを記述していきます。 プロジェクトの作成および設定は、これまでと同じなので、省略します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (11)" »

2008年7月 3日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (12)


モジュロ・タイマの設定について

 このアプリケーションでは、LEDの点滅を目で確認します。 そのため、モジュロ・タイマは、ゆっくりとした周期で動作させます。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (12)" »

2008年7月 7日

超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (13)


プログラムを実行する

 プログラムができあがりました。 USBSPYDER08を使って、マイコンにプログラムを書き込み実行します。

続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2に多くのLEDを接続する (13)" »

About 超Low-EndマイコンRS08を使おう

ブログ「PIC,78K,R8,HC(S)08/RS08,AVR,MSP430などのマイコン活用」のカテゴリ「超Low-EndマイコンRS08を使おう」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリは書き込み器です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 4.1