マイコンに圧電スピーカをつなぐと、音を出すことができます。
音の周期を決めるにはタイマ・モジュールを使います。
でも、MC9RS08KA2には、ほかのHC(S)08マイコンには存在する
ある機能が欠けているのです。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (1)" »
MC9RS08KA2で音を出すハードウェア
MC9RS08KA2で音を出す
システムで必要なのは、マイコンとそれにつながる圧電スピーカです。
それに電源をつけると独立した立派なアプリケーションになります。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (2)" »
プログラム開発のためのプロジェクトを作る
プログラムの開発は、
HC(S)08シリーズと同様に
CodeWarriorを使います。
この記事では、
RS08用のCコンパイラでプログラムを作成します。
そのため、ベータ版のCコンパイラが含まれている
CodeWarrior for Microcontrollers V6.0のインストールが必要です。
「スタート」メニューからCodeWarriorを呼び出します。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (3)" »
ソフトウェア・タイマで音を出すプログラムを作る
最初に、タイマ・モジュールを使わない純粋にソフトウェアだけで処理を行う
プログラムを書いてみます。
タイマをソフトウェアで実現するので、ソフトウェア・タイマと呼びます。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (4)" »
ソフトウェア・タイマで音を出すプログラムの解説 (1)
前回は、ソフトウェア・タイマで音を出すプログラムのソース・コードを掲載しました。
今回から2回に分けてその詳細を解説していきます。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (5)" »
ソフトウェア・タイマで音を出すプログラムの解説 (2)
前回に引き続いて、ソフトウェア・タイマで音を出すプログラムの詳細を解説していきます。
後半は、関数についての解説です。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (6)" »
プログラムを実行する
マイコンにプログラムを書き込んだら、実行させてみましょう。
実行は、デバッガの画面から行います。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (9)" »
ソフトウェア・タイマの周波数を変えてみる
圧電スピーカから音を出すことはできましたが、
このままでは一定の音程の音が出てくるだけです。
マイコンの動作中にデバッガから操作して音程を変えてみましょう。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (10)" »
モジュロ・タイマで音を出すプログラムを作る
前回まで、ソフトウェア・タイマを使用して音を出すプログラムを作りましたが、
出てくる音程は「出たとこ勝負」で決まっていました。
確実に音程を決めるには、ハードウェアの力を借ります。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (11)" »
モジュロ・タイマ用にソース・コードを書き直す
前回決めた方針に従って、モジュロ・タイマを使うプログラムを作成します。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (12)" »
モジュロ・タイマを使うプログラムの解説
今回は、モジュロ・タイマを使うプログラムの詳細を解説していきます。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (13)" »
モジュロ・タイマの周波数を変えてみる
前回までに作成したモジュロ・タイマを使用したプログラムを実行します。
さらに、動作中のマイコンに介入して音程も変えます。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音を出す (14)" »
前回までに作成した音を出す装置のプログラムを変更すると、
音楽を奏でることができるようになります。
音楽には、音程とテンポの二つの要素が必要です。
テンポを制御するために、二つ目のタイマを使用します。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (1)" »
リアルタイム割り込みでテンポを作るプログラム
前回は、音楽を奏でるための二つの要素、音程と音の長さを制御する方法について考えました。
今回から、
モジュロ・タイマで音程を決め、
RTIモジュールでテンポを決める
最初の課題プログラムの作成をはじめます。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (2)" »
二つの音を切り替えるソース・コード
前回までで
プログラムの方針が決まったので、
フローチャートに従って、ソース・コードを記述します。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (3)" »
二つの音を切り替えるプログラムの解説(1)
前回紹介したプログラムの解説を行います。
第1回目は、レジスタの初期設定値と大域変数です。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (4)" »
音程とテンポを変えてみる
プログラムができたので、マイコンに書き込んで実行します。
このアプリケーションもデバッガからパラメータを変更することができます。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (6)" »
配列で楽譜を表現する
前回作成したアプリケーションは、
二つの音程を切り替える機能を持っています。
この切り替えの機能を、楽譜に従って、
自動的に行うと音楽を演奏することができます。
もちろん、人間のために書かれた五線譜をマイコンが読むことはできないので、
FLASH ROM上に定数としてデータをして楽譜を記述していかなくてはなりません。
そこで、これから数回にわたって、
楽譜をデータとして定義する方法を考えていきます。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (7)" »
小節を表現する型
前回は音符を表現するデータ構造を考えました。
楽譜は、音符を順番に並べたものです。
今回は、音符と楽譜の中間のデータ構造として小節を考えます。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (8)" »
楽譜を表現する型
前回まで楽譜を表現するデータ構造を考えてきました。
今回は、いよいよ最上位階層の楽譜データを定義します。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (9)" »
楽譜の具体的な記述法
前回までで、楽譜を表現するデータ構造を決定しました。
今回は、このデータ構造を使って楽譜を記述する方法を具体的に示します。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (10)" »
PRMファイルの記述
今回は、ソース・コードのほかに必要なもうひとつの設定ファイルである
PRMファイルを記述します。
続きを読む "超Low-EndマイコンRS08を使おう - MC9RS08KA2で音楽を奏でる (16)" »
RS08マイコンのアプリケーション開発は、
CodeWarriorという統合開発ツールを使います。
また、この開発ツールを使うと、
HC08, HCS08, ColdFire V1の
三種類のマイコンのアプリケーションも開発することができます。
まずは、開発ツールをインストールしましょう。
続きを読む "CodeWarrior for MCUs V6.1 のインストール (1)" »
インストーラ・ファイルをダウンロードする
前回は、CD-ROMが入手できた場合のインストーラの起動の仕方について解説をしました。
今回は、freescale.comからダウンロードする場合の手順について解説します。
続きを読む "CodeWarrior for MCUs V6.1 のインストール (2)" »
前回までで、CD-ROMを使う方法とfreescale.comからダウンロードする方法の
二通りについてインストーラの起動までを解説しました。
今回は、起動したインストーラを使って、
CodeWarrior for MCUs V6.1をインストールする手順を解説していきます。
インストール作業
インストーラが起動すると、
スプラッシュが表示されます。
続きを読む "CodeWarrior for MCUs V6.1 のインストール (3)" »
前回までで、CodeWarrior for MCUs V6.1のインストールが終わりました。
今回は、CodeWarrior for MCUs V6.1を使って、サンプル・プログラムを書き込んでみます。
続きを読む "CodeWarrior for MCUs V6.1 のインストール (4)" »
「MC9RS08KA2で音を出す装置」は、
これまでのプログラムでは使っていませんが、
押しボタン(キー)を付けてあります。
次のテーマとして、音を出す装置のプログラムを変更し、
キー入力により音をON/OFFさせるプログラムを作成します。
キーの状態を知るには、どうしたらよいのでしょうか。
続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (1)" »
前回まで、キー入力を行うための要素が揃いました。
今回から、キー入力を読み取るソフトウェアを作成します。
デバッガでキーの状態を調べる
それでは、最初のプログラムを作成します。
ここで作成するプログラムは、ポートの状態を読み込んで、
その状態によりある変数の値を変更するプログラムです。
変数の値は、デバッガによりリアルタイムで観測することが出来ます。
続きを読む "超Low-EndマイコンRS08を使おう - キーの状態により音を制御する (3)" »