<span data-metadata=""><span data-buffer="">Number Guessing Game

Create a physically interactive game with a microcontroller

Project

#Individual #Academic

Final project of the “Principle of Microcomputer” course

Role

  • Design and develop the game as a developer

Skills & Tools

  • Assembly language/Keil
  • 8051 microcontroller/Microswitch/Seven-segment display/F62 keyboard/Buzzer

Time

01/2020

Goal

Develop a physically interactive number guessing game with a microcontroller and embedded system accessories.

Overview

Hardware Design

Software Design

Result

For more details about the raw code, please refer to the Github repository.

Reflections & Learnings

Hardware Design

  • Unfamiliarity with the equipment often led to unexpected performance. I utilized LEDs to confirm which pin corresponded to the input and output of each component. This approach helped me swiftly address issues related to circuit design.

Software Design

  • Throughout the software development process,  a substantial amount of data was involved. Therefore, I focused on the usage of each register to maximize its efficiency, meeting the demands of the game.
  • While developing, I encountered an issue where the game could not restart. Through research, I came to understand that the entire interrupt system needed to be reset to prompt the code to cycle.

Summary

Even though application of  8051 and assembly language development in today’s industry are relatively scarce, employing low-level languages to implement predefined functions in high-level languages assisted me in deepening my understanding of the underlying logic of execution.