レジスタ
レジスターはデーターを保管する入れ物
 プログラムの概念で表現すると⇒レジスタ
 エレクトロニクスの概念では ⇒メモリー
 レジスタには専用レジスタと汎用レジスタがある
専用レジスタ
 IOポートや内臓モジュールと直結し動作設定や状態の読み出しができる
汎用レジスタ
 ユーザーが自由に使えるレジスタ
ワーキングレジスタ(Wレジスタ)
 処理を行う対象データーを取り出して保管しておくレジスタ
 GP0 GP1 GP2 GP4 GP5を出力に GP3 を入力に指定する場合の記述
 movlw    b'0001000'   ;Wレジスターにb'00001000' を代入
   movwf     GPIO     ;W レジスタの値をGPIOレジスタへ移動
  0=出力 1=入力なので⑦⑥➄③②が出力 ③が入力ポートに設定される
 
 
   
 
 
回路ー1
プログラムー1
①スイッチがON
②LEDが点灯
③LEDが消灯
 
回路図ー1でプログラムー1をマイコンに書き込みます
記述
LEDは点滅を繰り返すはずですが、実際は 、何も起こりません
PICマイコンが命令を実行する時間は1/4クロックを1サイクルとする値です。
PIC12f629内蔵4MHz のクロックで動作させているので、1サイクルの周波数は1MHz  すなわち 1 X 10の6乗の周波数です。
この1 X 10の6乗の逆数がサイクル時間で 1マイクロ秒
6     bcf          GPIO,0       1サイクル(1マイクロ秒)
7     bsf       GPIO,0       1サイクル(1マイクロ秒)
8     goto        start      1サイクル(1マイクロ秒)
1マイクロ秒 というきわめて短い時間でてんめつを繰り返すので人間の目が追いついていけません。
点灯と消灯の間に遅延時間を設けます。
6     bcf          GPIO,0    :点灯
        遅延時間      
7      bsf       GPIO,0         ;消灯     
8     goto        start 
 
 
 
 
 
 
アミューズ基板は電源を持たないので24VとGNDをパチスロから横取りして、基板上で5Vに変換してマイコンを駆動しています。
メダルホッパーにはメダル払出を感知するセンサーが2つあります。
払出時に出力される波形をオシロスコープで見て同じ波形の疑似信号をアミューズ仕様基板が出力します。
 
 
メダル投入時の信号もオシロスコープで波形を見て同じ波形の疑似信号をアミューズ仕様基板が出力します。
 
 

Lチカは”LEDをチカチカさせる”という言葉の略称で、つまりはLEDを点滅させることです。
PICマイコンでプログラムすることができて、パチスロの疑似信号を作ることにそのまま使えてしまうんです。
①回路
GP3(PIN④)を出力 GP0(PIN⑦) GP1(PIN⑥)を出力に設定
GP0(PIN⑦)をH GP1(PIN⑥)をHに設定し2つのLEDは消灯
スイッチを押しGP3(pIN④)がLになって
①GP0(PIN⑦)がLでLED1が点灯
②GP0(PIN⑦)がHでLED1が消灯
③GP1(PIN⑥)がLになったらLED2が点灯
④GP1(PIN⑥)がHになったらLED2が消灯
 
このプログラムではLEDの点滅が早すぎて人間の目では点滅が確認できない。
①と② ②と③ ③と④の間に時間を置くプログラムで点滅を自覚できる。
 
PICの命令は1サイクルで実行されます。
例外として GOTO命令 CALL命令 RETURN, RETFIE, RETLW命令
 BTFSC, BTFSS, DECFSZ, INCFSZ命令でスキップするときは2サイクルを必要とします。
0.4 msec のタイマ  ----------- 
TIM10   
   MOVLW   0F9H            ; 0F9H = 249,  1 サイクル         
   MOVWF   CNT1            ;              1 サイクル 
TIMLP1  
   NOP                     ; 1×249   = 249 サイクル        
   DECFSZ  CNT1, F         ; 1×248+2 = 250 サイクル        
   GOTO    TIMLP1          ; 2×248   = 496 サイクル       
    RETURN                  ;              2 サイクル                               
             ; 計 999 サイクル = 0.3996 msec
; ----------- 100 msec のタイマ ----------- 
TIM100 
   MOVLW 0F9H ; 1 サイクル 
   MOVWF CNT2 ; 1 サイクル 
TIMLP2
    CALL TIM10 ; (2+999)×249 = 249249 サイクル 
    DECFSZ CNT2, F ; 1×248+2 = 250 サイクル 
            GOTO TIMLP2 ; 2×248 = 496 サイクル 
            RETURN ; 2 サイクル ; 計 249999 サイクル = 99.9996 msec
; -----------  0.5 sec のタイマ  ----------- 
SECTIM  
           MOVLW   5               ;                       1 サイクル        
           MOVWF   CNT3            ;                       1 サイクル 
TIMLP3  
           CALL    TIM100          ; (2+249999)×5 = 1250005 サイクル        
           DECFSZ  CNT3, F         ; 1×4+2        =       6 サイクル        
           GOTO    TIMLP3          ; 2×4          =       4 サイクル       
            RETURN                  ;  2 サイクル                                
           ; 計 1250019 サイクル = 0.5000076 sec
 
①GP0(PIN⑦)がLでLED1が点灯
     遅延時間
②GP0(PIN⑦)がHでLED1が消灯
 遅延時間
③GP1(PIN⑥)がLになったらLED2が点灯
 遅延時間
④GP1(PIN⑥)がHになったらLED2が消灯
 
パチスロ疑似信号への応用
 
①センサー1=H、センサー2=H
②センサー1=L
遅延時間 20ミリ秒
④センサー2=L
遅延時間 8ミリ秒
⑥センサー1=H
遅延時間 16ミリ秒
⑧センサー2=H
疑似信号のロジック(Hor L)と遅延時間は各機種で異なります。
 
 
①メダル投入疑似信号
パチスロにメダルを投入しながらオシロスコープでメダル投入時にどんな波形が出力されているか調べます。
赤がメダルセンサー1、黄がメダルセンサー2です。
プログラムを作ります。まずフローチャート
メダル投入スイッチがONになったらオシロスコープで調べたものと同じ波形のメダル投入疑似信号を出力します。
実際のパチスロは53枚まで貯玉でき、54枚目は戻ってきます。
↑のプログラムでは54枚目が出力されて、その時点でメダル投入エラーになります。
ブロッカーコイルが開いているか、閉じているかを見極めて、閉じていれば出力、開いたら停止に修正します。
②メダル払出疑似信号
パチスロにメダルを払い出しながらオシロスコープでメダル投入時にどんな波形が出力されているか調べます。
 
 
赤がメダルセンサー1、黄がメダルセンサー2です。
プログラムを作ります。まずフローチャート
①②でしらべた情報をもとにMPLABLEDに記述し、Hexファイルに変換してかいろに装着すれば、スイッチオンでメダル投入疑似信号が、また、小役当選でまだる払出疑似信号が出力します。
PIC1 メダル投入疑似信号
PIC2 メダル払出疑似信号
 
回路例
 
 
 
パチスロのメダルホッパーです。
分解してメダル払出の仕組みを見てみましょう
 
モーターとセンサーが2つあります
センサーはカタカナのコの字の形をしていて、↑の画像ではセンサー1のコの字の腹の部分にアクチエーター(注 参照)のプレートがとどまっています。センサーは通電するとコの字の上部と下部に赤外線が流れます。
映画、ミッションインポッシブルでトムクルーズが侵入先から脱出するシーン。縦横に張り巡らされた赤外線をくぐり抜け、一安心した矢先、安堵の汗が一滴落ちる。触れたら最後のスリリングな場面をご覧になったことはありませんか?
センサー1ではアクチエーターのプレートがとどまっています。センサー2はプレートはありません。
メダルが払い出されるたびにアクチエーターのプレートがセンサー1とセンサー2を往復し、赤外線信号を遮断したり開放したりするのです。
①ローラー1は固定されています
②モーターが回転してメダルが出るときローラー2はメダルの直径分開くように広がります
③メダルが出てしまうとローラー2はスプリングの反発力で元に戻ります。
 
メダルが払い出されるときにセンサーで起きていることがわかる動画

(注)アクチュエータ(英: actuator)とは、入力されたエネルギーもしくはコンピュータが出力した電気信号を、物理的運動に変換する、機械・電気回路を構成する機械要素
 
LEDと抵抗をつないでメダル払出信号が可視化できます
 
 
動画を撮ってみました
オシロスコープで波形を調べます
 
 
①センサー1 OFF    センサー2 ON
②センサー1 ON
③30ミリ秒
④センサー2 OFF
➄50ミリ秒
⑥センサー2 ON
⑦2ミリ秒
⑧センサー1 OFF
①~⑧をMPLABIDEに記述し、Hexファイルに変換して回路に装着するとメダル払出疑似信号を出力します。
 
 
 
 
4号機北斗の拳のメダルセレクターです
センサー部分拡大
配線要領
LEDと抵抗を取り付けて電源につないでメダルを投入すると投入信号がLED
の点灯で確認できます。
動画を撮ってみました
 
オシロスコープで波形を確認します
赤がセンサー1、黄がセンサー2です
①センサー1ON
②20ミリ秒
③センサー2ON
④8ミリ秒
➄センサー1OFF
⑥14ミリ秒
⑦センサー2OFF
①~⑦をMPLABIDEに記述してHexファイルに変換して回路に装着するとPICマイコンはメダル投入疑似信号を出力します。
メダルセレクターがあればメダル投入疑似信号プログラムができてしまいます。