'
' PIC Defines
' -----------
@ DEVICE pic16F628a, INTRC_OSC
' System Clock Options
@ DEVICE pic16F628a, WDT_OFF
' Watchdog Timer
@ DEVICE pic16F628a, PWRT_ON
' Power-On Timer
@ DEVICE pic16F628a, BOD_OFF
' Brown-Out Detect
@ DEVICE pic16F628a, LVP_OFF
' Low-Voltage Programming
@ DEVICE pic16F628a, CPD_OFF
' Data Memory Code Protect
@ DEVICE pic16F628a, PROTECT_OFF
' Program Code Protection
@ DEVICE pic16F628a, WRT_OFF
' Flash Memory Word Enable
@ DEVICE pic16F628a, DEBUG_OFF
' Debug
'
' Hardware Defines
' ----------------
LED1 var PortB.0
LED2 var PortB.1
LED3 var PortB.2
LED4 var PortB.3
LED5 var PortB.4
LED6 var PortB.5
LED7 var PortB.6
LED8 var PortB.7
LED9 var Porta.1
LED10 var Porta.2
'
' Initialse Hardware
' ------------------
PORTB=0
TRISB=0
PORTA=0
TRISA=0
'
' Main Program Loop
' -----------------
RandomValue var Word
Dice var Byte
RandomValue var 9876
Loop:
Random RandomValue ' Generate Random Value
Dice=(RandomValue//10)+1 ' Convert it to range 1-10
Pause 75 ' Debounce Delay for Button
If LED1 = 1 Then
Low LED1
Pause 5000
ELSE
If LED2 = 2 Then
Low LED2
Pause 5000
ELSE
If LED3 = 3 Then
Low LED3
Pause 5000
ELSE
If LED4 = 4 Then
Low LED4
Pause 5000
ELSE
If LED5 = 5 Then
Low LED5
Pause 5000
ELSE
If LED6 = 6 Then
Low LED6
Pause 5000
ELSE
If LED7 = 7 Then
Low LED7
Pause 5000
ELSE
If LED8 = 8 Then
Low LED8
Pause 5000
ELSE
If LED9 = 9 Then
Low LED9
Pause 5000
ELSE
If LED10 = 10 Then
Low LED10
Pause 5000
ELSE
GoTo Loop ' Do it again
Bookmarks