PIC−USBIO using BASIC
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第187回]
●PICUSBIO用BASIC説明書(2)基本操作
今回はBASIC説明書の第2回です。
説明書を作成する作業はなかなかに面倒なものです。
それでとにかくは書きやすいところから書いていくつもりで前回は適当なところから始めたのですが、やっぱり最初から順序だてて書くべきだと思いなおしました。
それで今回は説明書の最初のところから始めます。
何もないところから書き始めるのはさすがにつらいので過去に作成した説明書をもとにして作成することにしました。
ND80Z3.5用のZB3BASIC操作説明書をもとにしてPICUSBIO用のBASICに合わせて書き直します。
PICUSBIO用のBASICはZB3BASICとは機能的にかなり異なっているところがありますのでその点に注意しながら書いていくつもりです。
1章 基本操作
1.BASICの起動
PIOCUSBIO用BASICはコマンドプロンプトで操作します。
以下の説明ではWindowsパソコンのハードディスクにすでにPIOCUSBIO用BASICインタプリタがコピーされていてコマンドプロンプトで使える状態になっているものとします。
コマンドプロンプトを開いてPICIO[Enter]と入力します。
PICUSBIO用BASICインタプリタを起動するところは過去記事にほぼ毎回画像を掲載していますので参照してください。
記事の画像では試作中のBASICインタプリタを起動していますからPICIOxx[Enter]になっています。
製品版ではプログラム名はPICIO.EXEにするつもりです。
これ以後はBASICのコマンドが入力できます。
BASICが起動するとMS−DOSと同じように入力プロンプトマーク(>)が出てキー入力待ちの状態になります。
このときBASICの命令をキーボードから入力するとその命令はただちに実行されます。
>PRINT 2+3[Enter]
と入力してみて下さい。
+マークのようにキーの上側に書いてある文字は[Shift] を押しながら入力します。
入力の最後は必ず[Enter]を押します。
上のようにキーを操作するとすぐ下に2+3が計算されて5が表示されます。
[注記1]
[Enter]、[Shift] のように[ ] で囲んだキーはキーボードの左右、下部にある特殊機能キーを示します。
[注記2]
BASICの命令、コマンドは英小文字も使えます(特殊な機能では大文字しか使えないものもあります)。
>print 2+3[Enter]と入力しても正しく実行されます。
[注記3]
PICUSBIO用BASICでは「半角英数」しか使えません。
「全角英数」「全角かな」「半角カナ」はいずれも使えません。
入力モード設定の「半角英数」は一応使えますが入力確定のために毎回余分な「Enter」の入力が必要です。
入力モードの設定で「直接入力」に設定することをお勧めします。
2. スクリーンエディタ(画面編集機能)
BASICが起動すると通常のキー入力待ちの状態では常にスクリーンエディタが作動していていつでも簡単にプログラムの作成や修正ができるようになっています。
スクリーンエディタはとても便利な機能ですがその性質を理解しないで使うと入力ミスをしてしまいます。
スクリーンエディタについては以下のことを理解しておいて下さい。
キーボードから入力していくと一つキーを押すごとにディスプレイ画面にその文字が表示されますがこの段階では画面(つまりスクリーン)に表示されるだけでシステムソフトの入力データとしてはまだ一字も送られていません。
ですからこの時点では入力した文字の訂正や追加が自由にできます。
最後に[Enter]キーを押すとその一行分の文字が初めて入力されます。
スクリーンエディタでの入力のカギは[Enter]キーです。
[Enter]を押した時その一行が入力データとして扱われる、ということをよく理解しておいて下さい。
そしてその一行分の文字はいまキーボードから入力した文字に限らずプログラムで画面に表示された文字でも或いはLISTコマンドなどで表示されたプログラムリストでも構いません。
とにかく現在ディスプレイ画面に表示されている全ての文字が入力の対象になります。
この機能はBASICのプログラムを作成、修正するときに利用すると効果的です。
はじめにプログラムを入力するときは1行ずつキー入力していくのですが入力したプログラムの文の一部を修正しなければならないときがよくあります。
そのようなときその行を初めから入れ直すのでは大変です。
そこでこのスクリーンエディタの機能が生きてきます。
LIST命令によって画面上にその行を表示した上でカーソルを移動して必要な修正を行った後[Enter]を押せば修正が完了します。
[例]下のように入力してみて下さい。
>10 A=0[Enter]
>20 PRINT A,;[Enter]
>30 A=A+1[Enter]
>40 GOTO 25[Enter] (本当は GOTO 20 が正しいがここではプログラム訂正の例として、わざと間違えて入力する)
プログラムが入ったかどうか念のために確認してみます。
プログラムを確認するにはLISTコマンドを使います。
LIST[Enter]と入力すると今キーボードから入力したプログラムがそのまま表示されます。
>LIST[Enter]
10 A=0
20 PRINT A,;
30 A=A+1
40 GOTO 25
>
BASICのプログラムはこの例のように行番号(ここでは10〜40)をつけて入力します。
プログラムを実行してみます。
BASICプログラムを実行するにはRUNコマンドを使います。
RUN[Enter]と入力すると次のように表示されます。
0 最初の実行結果(行番号10〜20)
ERR:31 エラーコード
40 GOTO 25 エラーが発生した行が表示される
> キー入力待ちになる
そこで [↑] 、 [→] を使ってすぐ上に表示されている 40 GOTO 25 のところへカーソルを移動します(カーソル移動キーの使い方については「3. 特殊機能キー」を参照して下さい)。
40 GOTO 25 カーソルをセットする
40 GOTO 20 0を入力し、 [Enter] を押す。
>
これで修正は完了です。もう一度RUN[Enter]と入力してみて下さい。
今度は正しくプログラムが実行され画面に連続して実行結果が表示されます(このプログラムは0、1、2、…と順に画面に数を表示するプログラムです)。
なおBASICのプログラムを中止するときは、[Ctrl]B キーを使います。
[Ctrl] を押しながら B を押すとBASICプログラムの実行が中止されもとのキー入力待ちの状態に戻ります。
[注意]
既に説明した通り[Enter]を押すことによってカーソルのある行全体が入力され、その場合カーソルが行のどの位置にあっても結果は同じであることに十分注意して下さい。
10 PRINT A ,B ,C %$AB 123
↑
下線部だけを入力するつもりでここで[Enter]を押しても同じ行にある文字はすべて入力されてしまいます(カーソルマークの後ろの %$AB 123 も一緒に入力されてしまいます)。
上で[Enter]入力後、LIST 10[Enter]と入力すると上の一行がそのまま表示されます。
>LIST 10
10 PRINT A ,B ,C %$AB 123
>
[注記]
スクリーンエディタの使用例としてプログラムの修正について説明してきましたがスクリーンエディタはプログラムだけではなくてキー入力される全てに対して動作します。
下のようにキー入力してみます。
>A=0[Enter]
>A=A+1:PRINT A[Enter]
1 上の命令が実行された結果が表示される。
>
BASICの命令を行番号をつけないで入力するとその命令はただちに実行されます(ダイレクトモード)。
ここで [↑] キーを使ってもう一度カーソルを上の命令文(A=A+1:PRINT A )の位置まで移動して[Enter]を押してみて下さい( [→] で文の終わりにカーソルを合わせる必要はありません。カーソルはその行のどこにあっても[Enter]の効果は同じです)。
表示されていた数が+1されることに気が付くでしょう(結果が1だったところが2になります)。
このように[Enter]を押したときにその一行分の文字が入力されるのであってその文が画面のどこにあってもまたいつ表示されたものであっても同じように入力されることをよく理解して下さい。
3. ページモード
スクリーンエディタは現在表示されている画面の中でしか使えません。
[↑]を押し続けて画面の一番上までいくとそこから上の行(スクロールアップして消えてしまった行)を再表示させることはできません。
そのような場合に「ページモード」にするとスクロールアップして消えてしまった行を再表示させることができます。
[PageUp]キーを押すと画面左下に[page mode]と表示されます。
この表示のときに[PageUp]キーを押すと押す度にちょうどページを上にさかのぼるように一行ずつ戻って表示されます。
[PageDown]キーを押すと[PageUp]キーと逆の動きをします。
[Home]キーを押すとバッファの先頭行までさかのぼって表示されます。
[End]キーを押すと[page mode]が解除され通常表示されていた最後の画面に戻ります。
ページモード表示のときもスクリーンエディタは働いています。
ページモード表示でもつねに現在表示されている一画面の中でのみ[↑][↓][→][←]キーでカーソルを移動して表示されているプログラムを書き換えることができます。
またLIST表示やその他のコマンド入力もできます。
しかしページモードはすでに表示し終わった過去の画面を表示しているのですからその途中で現在の実行結果を上書き表示すると勘違いをするもとになりますから過去の表示の再確認以外の作業は[End]キーでページモードを終了してから行った方がよいでしょう。
ページモードの記憶バッファの容量は6400行分です。
4. 特殊機能キー
4.1 [Shift]
=、+、*などの特殊記号や英大文字を入力するときは[Shift] キーを押しながらそのキーを押します。
[Shift] は同時に押すことによってそのキーの上側にマークしてある文字の入力を選択する働きをします。
4.2 [Enter]
一行分の文字列を入力バッファに転送します。
[Enter]を押さない限りは文字キーを押してそれが画面に表示されていてもただ表示されているだけで本当に入力はされていません。
[Enter]を押すことによってはじめてシステムが入力データとして受け付けます。
4.3 [↑] [↓] [←] [→]
カーソルを矢印方向に1字ずつ移動します。
4.4 [Insert]
現在カーソルのある文字から後を1字分だけ右に移動してカーソルのある位置にスペースを作ります。
文字を追加する場合に使用します。
4.5 [Delete] [Backspace]
[Insert]とは逆に文字を消したいときに使います。
現在カーソルのある位置の左側の1文字を消してそれより右にある文字を順に左につめます。
4.6 [Ctrl]B
BASICプログラムの実行やAUTOモードあるいはLISTコマンドによるリスト出力などを途中で打ち切るときなどに使用します([Ctrl]キーを押しながら[B]キーを押します)。
BASICプログラムの場合にはCONTコマンドを入力することにより実行を再開させることができます。
4.7 [Ctrl]C
BASICシステムの実行を打ち切ります。
通常は/EXITコマンドでBASICシステムを終了しますが何らかの理由でシステムがハングアップしてしまって[Ctrl]B入力が受け付けられない場合に使います。
状態によっては[Ctrl]Cも受け付けられないときがあります。
そのような場合にはMSDOSプロンプト(コマンドプロンプト)の右上の[×]ボタンをマウスでクリックします。
警告メッセージが出ますが「はい」をクリックして強制終了します。
[Ctrl]Cまたはコマンドプロンプトの右上の[X]をクリックして強制終了するとログファイルは保存されません。
4.8 [PageUp]
ページモードにエントリします。
[PageUp]キーを押す度に表示画面が1行ずつ戻って表示されます。
4.9 [PageDown]
ページモード中に[PageDown]を押すと[PageUp]と逆に表示が1行ずつ進みます。
通常表示の最終画面まで進むとページモードが解除されます。
4.10 [Home]
[Home]キーを押すとページモードバッファの先頭の画面が表示されます。
4.11 [End]
[End]キーを押すとページモードが解除され、通常表示の最終画面に戻ります。
●オートリピート機能
キーを少し長く押したままにしていると、そのキーの文字が続けて入力されます。
カーソル移動キー [↑] [↓] [←] [→] や[Backspace] [Delete] [Insert][PageUp][PageDown]はそのキーの機能が連続して働きます。
PIC−USBIO using BASIC[第187回]
2023.2.22upload
前へ
次へ
ホームページトップへ戻る