Any of the following projects can be implemented instead of the final
lab. As they are more extensive, they will be worth some extra
credit. They should be started early. You may also propose your own
project to one of us, which we may then modify or veto.
- Analog communication: Buffer input from board A's keypad as a message (up to 80 characters), transfer the message via A's D/A converter through the A/D converter of board B, and display the message on B's LCD screen. Optimize the throughput.
- Game: Write a game such as "bricker," "snakes," "tetris," or one of similar (or greater) complexity. Use the shaft encoder, the keypad, and the LCD screen.
- Systems: Implement preemptive multi-tasking (use the clock to generate interrupts).
- Sound board: Use the keypad and LCD screen to compose and edit a piece of music. Then play it through the D/A converter, using the keypad and shaft encoder to add distortion and other effects.
- RSA: Implement RSA encryption/decryption across two boards using the UARTs. Use the keypad to input a message and the LCD screen (on the other board) to display it.
You will demonstrate your project during the final lab demonstration period.