|
|
|
| ファミコンコントローラを使用した入力 |
|
| 1 ファミコンコントローラ |
| ファミコンコントローラは子供のいる家庭には1つはあると思います。今、押入の片隅で出番のな |
| い状況でファミコンコントローラは有るのでないでしょうか。 |
| また、各家庭になくてもジャンク屋、リサイクルショップでは200〜300円で販売されています。 |
| このファミコンコントローラを利用してPICマイコンの入力に使いたいと思います。 |
|
| 2 シフトレジスタ |
| このファミコンコントローラの中にはシフトレジスタのICが2個使用されています。ファミコンコントロ |
| ーラの12個のスイッチを押すことによりそれぞれのデータがファミコンコントローラ側から出力され |
| ます。 |
| ファミコンコントローラから出ている配線はVcc、GND、DATA、CLOCK、P/Sの5本の線をPIC |
| マイコンと接続します。 |
|
|
 |
| ファミコンコントローラ
|
配線の色 |
線の接続 |
| |
| 3 プログラム |
| PICBASICでプログラムを作成するときの命令は shiftin の命令を使います。 |
| Datapin
はデータ入力ピン |
| Clockpin
はクロック出力ピン |
| Var
はシフトデータ入力変数 |
| bits
ビット数1 〜 16 省略で8 ビット |
|
|
INCLUDE "modedefs.bas"
' Include shift modes |
|
D1PIN VAR
PORTA.4
' Shift data pin 1 |
|
C1PIN VAR
PORTA.2
' Shift clock pin 1 |
|
ShiftIn D1PIN, C1PIN, MSBPRE, [wvar\16] |
|
| Mode
Mode No 動作概要 |
| MSBPRE
0 上位のビットから順番にデータを読み込みます。クロックを送る前にデータを |
| 読み込みます。クロックの立ち上がりでデータを読みます。 |
| LSBPRE
1 下位のビットから順番にデータを読み込みます。クロックを送る前にデータを |
| 読み込みます。クロックの立ち上がりでデータを読みます。 |
| MSBPOST
2 上位のビットから順番にデータを読み込みます。クロックを送信後データを読 |
| み込みます。クロックの立ち上がりでデータを読みます。 |
| LSBPOST
3 下位のビットから順番にデータを読み込みます。クロックを送信後データを読 |
| み込みます。クロックの立ち上がりでデータを読みます。 |
| 4 上位のビットから順番にデータを読み込みます。クロックを送る前にデータを |
| 読み込みます。クロックの立ち下がりでデータを読みます。 |
| 5 下位のビットから順番にデータを読み込みます。クロックを送る前にデー
タを |
| 読み込みます。クロックの立ち下がりでデータを読みます。
|
| 6 上位のビットから順番にデータを読み込みます。クロックを送信後データを読
|
|
み込みます。クロックの立ち上がりでデータを読みます。
|
|
7 下位のビットから順番にデータを読み込みます。クロックを送信後データを読 |
|
み込みます。クロックの立ち下がりでデータを読みます。
|
|
|
|
| PIC側が受け取るデータ |
|
| 4 PICマイコンの出力 |
| PICマイコンではファミコンコントローラから入力してきたデータの値を出力したいデータにして出力しま |
| す。 |
|
| ホームページのトップ |
|
最初に戻る |
|
|
|
|
|