ファミコンコントローラを使用した入力
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マイコンではファミコンコントローラから入力してきたデータの値を出力したいデータにして出力しま
  す。
ホームページのトップ 最初に戻る