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


PIC−USBIO using BASIC

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

[第37回]



●PICUSBIO−01(4) ルーレット(2)

前回はルーレットをストップさせるのに最初はINKEY$を使いました。
そのようにしたあとで前回のプログラムならばINKEY$を使わなくても[Ctrl][b]を入力してプログラムをブレークさせればよいということに気が付いて、INKEY$を使わないでエンドレスのプログラムにしたうえで[Ctrl][b]でブレークさせてみました。
ところで。
あることについて考えに集中していると、見えているのにそれに気が付かないなんてことがよくあります。
一旦そのことから離れて少し頭を休めると、なんだ、見えているではないか、なんて気が付くことがよくあります。
今回も見えていたのに全く気が付いていませんでした。
出力テストのために使ったLEDパネルは入力のテストとしても使えるようにプッシュスイッチをつけていたのでした。
前回の写真です。

左側に4個プッシュスイッチが並んでいます。
このスイッチはAポートのビット0〜ビット3につながっていて、スイッチを押すとそのビットがGNDにショートするようにしてあります。
Aポートの向きが入力に設定されているときにスイッチを押すと対応するビットの入力が0になります。
これこれ。
これを使えばよかったのでした。

前回のプログラムをそのように変更して実行してみました。

Aポートを入力に、BポートとCポートを出力に設定するコントロールワードは$90です([第34回]参照)。
60行でAポートからの入力をチェックしています。
プッシュスイッチが押されていないときAポートの入力は$FF(255)です。
プッシュスイッチが押されるとAポートの入力は$FF(255)以外の値になります。
IF文の中の#記号はノットイコール(≠)です。
RUNで実行しておいてプッシュスイッチを押しました。
このときはビット2が1のときにブレークしました。
表示されたbの値は2になっています。

ブッシュスイッチを押してLEDの表示が停止したときの写真です。

Aポートは入力ですから一番上の列のLED(Aポート)は消灯しています(全ビットが1)。
その下のBポートとCポートはビット2が消灯しています。

PIC−USBIO using BASIC[第37回]
2022.8.13upload

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