Portland, Oregon
June 12, 2005
June 12, 2005
June 15, 2005
2153-5965
7
10.421.1 - 10.421.7
10.18260/1-2--14500
https://peer.asee.org/14500
1319
Designing and Implementing an Embedded Microcontroller System: Tetris Game
Tyler W. Gilbert, Barry E. Mullins, and Daniel J. Pack Department of Electrical Engineering US Air Force Academy
Abstract
In this paper we present the software and hardware design experience of a junior cadet majoring in electrical engineering at the U.S. Air Force Academy as he completed an embedded system project in a second microcontroller course. The paper also includes the corresponding observations made by his instructors. Some of the topics of this semester-long course are programming microcontrollers using C, software and hardware design techniques, interfacing devices to buses including fan-out issues, as well as buffering and timing analysis for interfacing devices. As a course requirement, an embedded system project must be completed by each student using the hardware kernel they had developed throughout the semester. The Tetris game was an ideal final project for this course due to its demanding software and hardware requirements, which required the student to apply and incorporate hardware and software skills and to perform tradeoff analyses using what he had learned throughout the course: (1) memory expansion, (2) input/output interfacing, (3) embedded software development, and (4) stand-alone system development. This paper provides the reader with the step-by-step procedure used at the Academy for the completion of the embedded system project and shares the lessons learned from both student and instructors’ perspectives in the context of completing a successful and challenging Tetris game project.
Introduction
Second class cadet (junior year) electrical engineering (EE) majors at the United States Air Force Academy are given the opportunity to take a second course in microcontroller design—EE 383, Microcomputer System Design. The goals of the course are “Cadets shall develop the ability to design, build, program, and debug a stand-alone hardware kernel consisting of a microcontroller, memory, input/output (I/O) ports, and standard “glue” logic for use in embedded microcontroller applications.” [1] The course helps students learn the skills required to implement and program microcontrollers, using the Motorola 68HC912B32 as the platform, to construct embedded systems. Each cadet in the course is required to complete a final project that ties all concepts together in an interesting microcontroller-embedded project. The final project described in this paper was accomplished by the lead author and was identified by the instructor as one of the outstanding example projects in the course. The student chose to build the game of Tetris using the 68HC12 along with an AND1371 graphical liquid crystal display (LCD) and a Nintendo Entertainment System (NES) controller. Figure 1 illustrates the various
Proceedings of the 2005 American Society for Engineering Education Annual Conference & Exposition Copyright © 2005, American Society for Engineering Education
Pack, D., & Mullins, B. (2005, June), Designing And Implementing An Embedded Microcontroller System: Tetris Game Paper presented at 2005 Annual Conference, Portland, Oregon. 10.18260/1-2--14500
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2005 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015