モールス符号解読
*モールス符号について
モールス符号は長点(短点の3倍)と短点からなっており、その間隔は1短点です。また、文字と文字は3短点、語と語の間隔は7短点です。これを判別するために2短点分の時間を保持し、それより長いか短いかで長点と短点の区別をします。また、この時のそれぞれの長さを参考値として基準時間に加えていきますので、速度の変化にも追従していきます。現在は和文は対象とせず、欧文のみですが、対応は容易です。
*実現の検討、ハードウェアの対応
基本となる方式やフローチャートは文献1を参考にしていますが、長さの測定の定数は若干合わせ込みをしています。速度が遅くなった時は割合追従しますが、速くなった時は、長点も短点もどちらも短点と判定してしまうので、速度に同期が取れるまでに若干時間がかかります。
割り込みによるインターバルタイマ
割り込みにはINT08とインターバルタイマの0番を使用するので、他のバックグラウンドTSRが常駐していると割り込みベクタを横取りしてしまうので動かなくなってしまいます。しかし、このプログラム自体はTSRではないので任意のキーを押すと割り込みベクタを戻して終了しますのでバックグラウンドTSRが再開します。ただし、インターバルタイマ#0を10msに設定してしまうので、その後の動作は保証しません。
信号の入力方法
キーの入力はマウスのボタン(左右どちらでもよい)から入力します。とりあえずマウスのボタンで試してみて下さい。画面の左下に*印がオンオフに従って点滅しますのでトーンデコーダを作ってマウスコネクタに接続したときに通過周波数の調節の確認に使えます。また、そのとなり(ファンクションキー1の最初のカラムに・か−が表示されるので、長点と判断されているか短点と判断されているかも確認できます。図のトーンデコーダは、マウスコネクタと受信機のスピーカ端子につなぎ音量を適当に調整します。