Random Number 1-30 Display

PaulRB

Senior Member
This circuit picks a random number between 1 and 30 and uses 2 7-segment LED displays to erm... display it.

IMAG0678.jpg

Code:
; Random test
; P. Beard 29/10/2012

#picaxe 20m2

symbol RANDSEED = w2
symbol RAND = b0
symbol TENS = b1
symbol UNITS = b2


main:

	'Read random seed from  non-volatile memory
	read 0, word RANDSEED
	
	'Generate a new random seed
	random RANDSEED
	
	'Save random seed back to non-volatile memory
	write 0, word RANDSEED
	
	'Pick a random number 1 to 30
	RAND = RANDSEED // 30 + 1
	
	'Break number up into tens and units
	TENS = RAND / 10
	UNITS = RAND // 10
	
	'Convert the tens and units to 7-segment patterns
	lookup TENS, ( %00010000, %11111100, %01001001, %11001000, %11100100, %11000010, %00000010, %11111000, %00000000, %10000000), TENS
	lookup UNITS, ( %00010000, %11111100, %01001001, %11001000, %11100100, %11000010, %00000010, %11111000, %00000000, %10000000), UNITS
	
	'Switch all pins to outputs
	dirsC = %11111111
	dirsB = %11111111
	
	'Display the 7 segment patterns
	pinsC = TENS
	pinsB = UNITS
	
	'Wait for a few seconds
	pause 5000
	
	'Switch off the displays
	pinsC = %11111111
	pinsB = %11111111
	
	'Sleep forever until power is reset
	sleep 0
	
end
http://youtu.be/kaBl1E357Qo
 
Top