PIC-USBIO using BASIC
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[第198回]
●PICUSBIO-08(4)動作テスト(3)
前回はPICUSBIO-08に実装しているPIC18F4550のPORTDとPORTBの動作テストについて説明しました。
PORTDはPICUSBIO-01の82C55入出力用の26pinコネクタのBポートと同じ信号配列でPICUSBIO-08の26pinコネクタに配置し、PORTBはAポートと同じ信号配列で配置しました。
そのようにしたためPICUSBIO-01のテストプログラムとほとんど同じ内容のプログラムでテストすることができました。
今回はPIC18F4550のPORTCとPORTEのテストについて説明をします。
PORTCとPORTEについてはRC0~RC2とRC6~RC7を82C55のPC0~PC2、PC6~PC7に合わせて配置しRE0~RE2は82C55のPC3~PC5に合わせて配置しました。
参考までに前回お見せしたPICUSBIO-08の26pinコネクタの端子図を下に再掲します。
()内がPIC18F4550のI/O端子名です。
下が作成したプログラムです。
プログラムが長くて最初の部分がスクロールして画面から見えなくなってしまいました。
最初の設定部分だけですが参考までにその部分を先に表示してそれからその下の部分を表示しました。
やっていることは前回のプログラムと同じなのですが8ビットの出力がbit0~bit2(RC0~RC2)とbit3~bit5(RE0~RE2)とbit6~bit7(RC6~RC7)の3つのパートに分かれているために少し長いプログラムになりました。
最初はRC0~RC2です。
40行~100行です。
ここは前回のプログラムと同じですが8ビット全部ではなくて最初のbit0~bit2だけですから3回のループで終ります。
次のPORTEに移る前に最後に出力したbit2をクリアするために110行を実行します。
次の120行~180行がRE0~RE2の出力プログラムです。
80C55のbit3~bit5に対応するコネクタ端子の出力ですがPORTEとしてはbit0~bit2の出力ですから上のRC0~RC2のプログラムのPORTCをPORTEに書き換えただけであとは同じプログラムです。
最後のPORTCに移る前に最後のビット出力をクリアするために190行を実行します。
次の200行~260行がRC6~RC7の出力プログラムです。
200行で最初にbit6を1にするためにaの値を64($40)にします。
$40はビット表現では01000000です。
ビット6とビット7の出力ですから2回のループです。
プログラムを実行しました。
RC0~RC2、RE0~RE2、RC6~RC7は26pinコネクタに82C55のPC0~PC7の代わりに配置しましたからLED表示ボードのCポート(一番下のライン)に出力されます。
最初に右端のLEDが約0.5秒間消灯しそれからは約0.5秒ごとに消灯位置が左にシフトしていきます。
左端までいくとまた右端に戻ってそれが繰り返されます。
PIC-USBIO using BASIC[第198回]
2023.3.21upload
前へ
次へ
ホームページトップへ戻る