2022.8.20
前へ
次へ
ホームページトップへ戻る


PIC−USBIO using BASIC

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第42回]



●SPACE$()、SPC()

前回はND80Z3.5のZB3BASICプログラムでSINウェーブを作成してそのデータを82C55から出力、それをPICUSBIO−01の82C55に入力して、PRINT文で簡易グラフとして表示しました。
簡易グラフを出力するプログラムを書こうとして、SPACE$()かSPC()の機能が必要であるということに気が付きました。
絶対に無いとできないわけではありませんが、無いとプログラムがかなり面倒になります。
PRINT文を使った簡易グラフについては以前に[第22回]で紹介しました。
そのときは値を表示するのに棒グラフのように長さをもった棒線として表示しました。
しかし今回は曲線として表示したいと考えました。
そのためにはデータ値に相当するだけの文字数を空白(SPACE)で表示したあとで曲線を表示するために”*”を表示するようにすると簡単に表示することができます。
その「文字数分の空白」を簡単に表示するためにSPACE$()またはSPC()が使えるとプログラムが簡単になります。
そのように考えてPIC−USBIO用のBASICにSPACE$()とSPC()の機能を追加しました。
前回のプログラムは追加後のBASICプログラムを使って作成しました。
SPACE$()とSPC()はよく似た機能ですが異なっているところがあります。
最も大きな違いはSPACE$()はCHR$()などと同じ文字型の関数なので文字型の計算式の中で使うことができるのに対して、SPC()はPRINT文の中だけでしか使うことができない特殊な関数だという点です。

SPACE$()の書式です。
SPACE$(n)

nは1〜40の整数値で整数型の変数、配列を書くこともできます。
nの値が0、マイナスまたは40よりも大きい値のときはエラーになります。
下は使用例です。

20行のように他の文字型の変数に代入することなどができます。

SPC()の書式です。
SPC(n)

nは0〜80の整数値で整数型の変数、配列を書くこともできます。
nの値がマイナスまたは80よりも大きい値のときはエラーになります。
下は使用例です。

SPACE$(n)ではnに0を指定することはできませんがこのプログラム例のようにSPC(n)はn=0にすることができます。
n=0のときは空白(space)は1桁も表示されません。

PIC−USBIO用のBASICでは文字型の変数のサイズは最大40文字以内という制限を設けています。
SPACE$(n)は他の文字型の変数と一緒に使うことができるという機能のためにnの値は40以下という制限があります。
それに対してSPC(n)はPRINT文の中だけで使うということから、画面表示の際の利便性を考えてnは0〜80以内の値にすることができます。
下はnに40よりも大きい値を使ったときの使用例です。


PIC−USBIO using BASIC[第42回]
2022.8.20upload

前へ
次へ
ホームページトップへ戻る