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
前へ
次へ
ホームページトップへ戻る