Dado

Potrebbero piacerti anche

Sei sulla pagina 1di 3

@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT

@ DEVICE pic16F628A, WDT_OFF


@ DEVICE pic16F628A, PWRT_ON
@ DEVICE pic16F628A, BOD_ON
@ DEVICE pic16F628A, MCLR_OFF
@ DEVICE pic16F628A, LVP_OFF
@ DEVICE pic16F628A, CPD_OFF
@ DEVICE pic16F628A, PROTECT_ON
CMCON=7
TRISB.0=0
TRISB.1=0
TRISB.2=0
TRISB.3=0
TRISB.4=0
TRISB.5=0
TRISB.6=0
TRISB.7=1

NUMERO VAR WORD
D1 VAR PORTB.0
D2 VAR PORTB.1
D3 VAR PORTB.2
D4 VAR PORTB.3
D5 VAR PORTB.4
D6 VAR PORTB.5
D7 VAR PORTB.6
INT VAR PORTB.7
CONT VAR BYTE
NUMEROALEATORIO:
CLEAR
IF INT=1 THEN DISPLAY
GOTO NUMEROALEATORIO
DISPLAY
LOW D6:
LOW D7
HIGH D1
FOR CONT=0 TO 9
RANDOM NUMERO
NEXT CONT
IF INT=0 THEN DADO
PAUSE 50
LOW D1
HIGH D2
FOR CONT=0 TO 9
RANDOM NUMERO
NEXT CONT
IF INT=0 THEN DADO
PAUSE 50
LOW D2
HIGH D3
FOR CONT=0 TO 9
RANDOM NUMERO
NEXT CONT
IF INT=0 THEN DADO
PAUSE 50
LOW D3
HIGH D4
FOR CONT=0 TO 9
RANDOM NUMERO
NEXT CONT
IF INT=0 THEN DADO
PAUSE 50
LOW D4
HIGH D5
FOR CONT=0 TO 9
RANDOM NUMERO
NEXT CONT
IF INT=0 THEN DADO
PAUSE 50
LOW D5
HIGH D6
FOR CONT=0 TO 9
RANDOM NUMERO
NEXT CONT
IF INT=0 THEN DADO
PAUSE 50
GOTO DISPLAY
DADO:
RANDOM NUMERO
IF (NUMERO >=%0000000000000000) AND (NUMERO <=%0010101010101010) THEN NUMERO1
IF (NUMERO >=%0010101010101011) AND (NUMERO <=%0101010101010100) THEN NUMERO2
IF (NUMERO >=%0101010101010101) AND (NUMERO <=%1001001110000110) THEN NUMERO3
IF (NUMERO >=%1001001110000111) AND (NUMERO <=%1010101010101000) THEN NUMERO4
IF (NUMERO >=%1010101010101001) AND (NUMERO <=%1101010101010010) THEN NUMERO5
IF (NUMERO >=%1101010101010011) AND (NUMERO <=%1111111111111111) THEN NUMERO6
GOTO DADO
NUMERO1:
LOW D1
HIGH D2
HIGH D3
LOW D4
LOW D5
LOW D6
LOW D7
IF INT=1 THEN NUMEROALEATORIO
GOTO NUMERO1
NUMERO2:
HIGH D1
HIGH D2
LOW D3
HIGH D4
HIGH D5
LOW D6
HIGH D7
IF INT=1 THEN NUMEROALEATORIO
GOTO NUMERO2
NUMERO3:
HIGH D1
HIGH D2
HIGH D3
HIGH D4
LOW D5
LOW D6
HIGH D7
IF INT=1 THEN NUMEROALEATORIO
GOTO NUMERO3
NUMERO4:
LOW D1
HIGH D2
HIGH D3
LOW D4
LOW D5
HIGH D6
HIGH D7
IF INT=1 THEN NUMEROALEATORIO
GOTO NUMERO4
NUMERO5:
HIGH D1
LOW D2
HIGH D3
HIGH D4
LOW D5
HIGH D6
HIGH D7
IF INT=1 THEN NUMEROALEATORIO
GOTO NUMERO5
NUMERO6:
HIGH D1
LOW D2
HIGH D3
HIGH D4
HIGH D5
HIGH D6
HIGH D7
IF INT=1 THEN NUMEROALEATORIO
GOTO NUMERO6
END

Potrebbero piacerti anche