PIC−USBIO using BASIC
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第48回]
●PICUSBIO−10
今回紹介するPICUSBIO−10は8ビット×3ポートのボードです。
今までの82C55以外のボードと同様に入出力の向きは固定されています。
出力が8ビット×1ポート、入力が8ビット×1ポートで残りの1ポートは上位4ビットが出力で下位4ビットが入力です。
入出力別に合計すると出力が12ビット、入力が12ビットのボードになります。
PICUSBIO−10の写真です。
こちらはPICUSBIO−10の回路図です。
82C55のAポートを出力、Bポートを入力、Cポートの上位4ビットを出力、下位4ビットを入力に設定した場合に相当するボードです。
PICUSBIO−01と同じ配列の26pinフラットケーブルコネクタに入出力信号を配しました。
ND80Z3.5などのI/Oコネクタと同じ端子配列です([第43回]参照)。
今回のテストも今までと同様にND80Z3.5のI/O入出力コネクタと接続してND80Z3.5のZB3BASICプログラムで作成出力したデータを受けてそれをPRINT文で表示します。
今回のプログラムは[第45回]のプログラムを前回の考え方で修正したものをもとにしてPICUSBIO−10に合わせて一部を変更しました。
テスト中の写真です。
ND80Z3.5の82C55入出力コネクタに接続しています。
左側がPICUSBIO−10で右側がND80Z3.5です。
ND80Z3.5のZB3BASICの画面です。
70行〜90行でPICUSBIO−10から出力されたデータをND80Z3.5が出力したデータと比較しています。
PICUSBIO−10はND80Z3.5の82C55のBポートから出力されたデータを入力してそれをそのままAポートから出力します。
今回はそれだけではなくてND80Z3.5の82C55のCポートの下位4ビットから同じデータ(の下位4ビット)を出力します。
PICUSBIO−10はそのデータを受け取ってそれをCポートの上位4ビットに返します。
ここのところが少し複雑です。
82C55側のプログラムではCポートの下位4ビットから出力した4ビットのデータが上位4ビットから入力されます。
70〜80行でその比較を行なうためにCC%に下位4ビットの値を入れています(上位4ビットは0)。
90行の+記号は論理演算のORです。
PICUSBIO−10側のBASIC画面です。
10行、30行、60行で同じ値を2度続けて表示しないようにしています。
プログラムの実行結果です。
1が右から左に1ビットずつきれいにシフトしていく様子が表示されています。
Cポート(右側)の入力は下位4ビットのみですからAND演算でマスクをして上位4ビットは0にしています。
PIC−USBIO using BASIC[第48回]
2022.9.5upload
前へ
次へ
ホームページトップへ戻る