This game was made on the Keil MCB1700 board, using many of it's available peripheral. In order to access these peripherals, interrupts and polling were used.
- LCD Screen: The LCD screen will display the images and graphics for the game.
- Potentiometer : The potentiometer is used to adjust the flying speed of the ducks.
- Joystick: The joystick acts as a cursor that will be used to aim the crosshair at the target. In addition, the push down button for the joystick is used as the "shoot" button.
- LED Array: The LED array (8 lights) will be used to keep track of the number of ducks that the user has successfully hit each round.
The game uses multithreading to split various functionalities of the game.
Examples of tasks
- Task that polls for the joystick input
- Another task updates the scoreboard and other text on the screen.
In addition, semaphores were used to control access to variables that multiple tasks were dependent on.