PICマイコンを使った電子サイコロの製作
 
《電子サイコロBASICプログラム》
 
CPU = 16F84A
MHZ = 4
CONFIG 16369
 
;変数の定義
N VAR BYTE
D VAR BYTE
WK VAR BYTE
 
;ピンA0,A1を入力(スイッチ)に,その他のピンを出力(LED)に設定
INPUT A0:INPUT A1:OUTPUT A2
OUTPUT B0:OUTPUT B1:OUTPUT B2:OUTPUT B3:OUTPUT B4:OUTPUT B5:OUTPUT B6:OUTPUT B7
 
;サイコロの目をシャッフルし,スイッチが押されたときの数字を記憶
START:
LOW A3
N=1
LOW A2:HIGH B0:LOW B1:HIGH B2:LOW B3:HIGH B4:LOW B5:HIGH B6:LOW B7
PAUSE 100
BUTTON A0,0,255,0,WK,1,MAIN
FOR N=2 TO 6
D=N
GOSUB DISPN
PAUSE 100
BUTTON A0,0,255,0,WK,1,MAIN ;スイッチ1が押されたらMAINへ
NEXT
GOTO START
 
;サイコロの目をカウントダウンした後,結果を表示
MAIN:
FOR D=6 TO 1 STEP -1
GOSUB DISPN
PAUSE 500
NEXT
D=N
GOSUB DISPN
WK=0
HIGH A3
LOOP:
BUTTON A1,0,255,0,WK,1,START ;スイッチ2が押されたら最初にもどる
GOTO LOOP:
 
;サイコロの目パターンを表示するサブルーチン
DISPN:
IF D=1 THEN DISP1
IF D=2 THEN DISP2
IF D=3 THEN DISP3
IF D=4 THEN DISP4
IF D=5 THEN DISP5
GOTO DISP6
DISP1:
HIGH A2:LOW B0:LOW B1:LOW B2:LOW B3:LOW B4:LOW B5:LOW B6:LOW B7
RETURN
DISP2:
LOW A2:LOW B0:HIGH B1:LOW B2:LOW B3:LOW B4:HIGH B5:LOW B6:LOW B7
RETURN
DISP3:
HIGH A2:LOW B0:LOW B1:LOW B2:HIGH B3:LOW B4:LOW B5:LOW B6:HIGH B7
RETURN
DISP4:
LOW A2:LOW B0:HIGH B1:LOW B2:HIGH B3:LOW B4:HIGH B5:LOW B6:HIGH B7
RETURN
DISP5:
HIGH A2:LOW B0:HIGH B1:LOW B2:HIGH B3:LOW B4:HIGH B5:LOW B6:HIGH B7
RETURN
DISP6:
LOW A2:LOW B0:HIGH B1:HIGH B2:HIGH B3:LOW B4:HIGH B5:HIGH B6:HIGH B7
RETURN
END
 
■プリント基板のパターン

電子サイコロのシミュレーション ダウンロード
PIC-BASICシミュレーション ダウンロード
mikoBASIC & PIC16F648
技術科教育ホームページにもどる