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


PIC−USBIO using BASIC

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

[第44回]



●PICUSBIO−04

前回はPICUSBIO−05を紹介しました。
出力のみの8ビット×3ポートのボードです。
今回紹介するPICUSBIO−04はそれとは反対の入力のみの8ビット×3ポートのボードです。

PICUSBIO−04の写真です。


こちらはPICUSBIO−04の回路図です。

82C55の代わりに74HC244を3個使っています。
82C55のAポート、Bポート、Cポートの8ビット3ポートをそのまま入力のみの8ビット×3ポートにしました。
出力回路はありません。
INのみの8ビット×3ポートですがソフトウェア、ハードウェアの互換性を考えてPICUSBIO−01と同じ配列の26pinフラットケーブルコネクタに入力信号を配しました。
ND80Z3.5などのI/Oコネクタと同じ端子配列です(前回参照)。

PICUSBIO−01の入力ポートのテストは[第41回]でND80Z3.5のI/O入出力コネクタと接続してND80Z3.5のZB3BASICプログラムで作成出力したSINウェーブデータを受けてそれをPRINT文の簡易グラフとして表示するという形で行ないました。
それと同じテストでもいいのですが、そのテストはAポートのみしか使いませんでした。
AポートのほかにBポート、Cポートもありますから今回は全ポートを使うテストを行ないます。
ND80Z3.5のI/O入出力コネクタと接続してND80Z3.5のZB3BASICプログラムで作成出力したデータを受けてそれをPRINT文で表示するというところは[第41回]と同じです。

テスト中の写真です。

ND80Z3.5の82C55入出力コネクタに接続しています。
左側がPICUSBIO−04で右側がND80Z3.5です。

今回はND80Z3.5側から出力するデータが[第41回]と異なります。
ND80Z3.5のZB3BASICの画面です。

[第36回]のルーレットプログラムと同じ要領でビット0からビット7の順に1ビットのみが1でそのほかのビットが0というデータを82C55のAポート、Bポート、Cポートから同時に出力して左にシフトしながら繰り返します。
90行のFOR〜NEXT文はPICUSBIO−04側のプログラムでデータを表示するのに少し時間がかかるため、受け取るデータを取りこぼしてしまう場合があるので、それを避けるためのディレイです。

PICUSBIO−04側のBASIC画面です。

今回はPICUSBIO−04の8ビット×3ポートから入力したデータをAポート、Bポート、Cポートの順にそれぞれ16進数表現とビット表現で画面に表示します。
HEX$は8ビットの数を16進数で表示する関数でBI$はビット表示をする関数です。
10行、30行、50行は同じ値を2度続けて表示しないためのおまじないです。
PICUSBIO−04は単なる8ビット×3個の入力バッファですから82C55のような初期設定は不要です。
いきなりIN(0)、IN(1)、IN(2)を実行して値を入力することができます。

プログラムの実行結果です。

1が右から左に1ビットずつきれいにシフトしていく様子が表示されています。

PIC−USBIO using BASIC[第44回]
2022.8.26upload

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