Simon2 Board

Simon2 Board Information

The Simon2 Board was created in 2009. The main difference from the Simon Board is the addition of more LEDs and switches so that there is a 3x3 matrix of switches and LEDs. This allows for more creative options for displays and games. This board uses the same microcontroller as the Simon Board. The datasheet links are given below:

Microcontroller Datasheet - Electrical Information about the P89LPC932A1 http://www.nxp.com/documents/data_sheet/P89LPC932A1.pdf

Microcontroller User Manual - Programming and Peripheral Information about the P89LPC932A1 http://www.nxp.com/documents/user_manual/UM10109.pdf

This board is primarily used in the Intro to Computer Engineering summer camps where the students are encouraged to make light and sound displays. The first hardware version of the Simon2 Board had a switch labeled Roll for random number generator subroutine. The user would select the range of random numbers (2 to 9) and then press the switch labeled Roll to generate a new random number. The random numbers were then displayed on the 3x3 matrix of LEDs like on the face of a die. The second hardware version of the Simon2 Board changed the label from Roll to 3 Across. The subroutine 3 Across is a version of Tic-Tac-Toe where you can miss when placing your X or O (based on the game Toss Across that I had as a child). There were also some software changes to the lights off and music subroutines.

The downloads given below include versions of the games program with either the Roll subroutine or the 3 Across subroutine. Both the source code and hex files are given for the games programs. The source cannot be compiled by code limited demo versions because it is around 6K of compiled code. The win_lock.asm file is part of the games program source code and needs to be included in the project. Instructions for the games are also available. An improved version of the music program that is given on the Simon Board page is given below. This version takes advantage of the additional LEDs and allows the programmer to easily set the note duration. Some other assembly files are given as examples for 8051 assembly language programming.