CEEN 4330/8336: Microprocessor System Design

Catalog Entry (2012-2013):

4330 Microprocessor System Design(4) Microprocessor based systems. Architecture; design and interfacing. Memory design, input/output ports, serial communications, and interrupts. Generating assembly ROM code, assembly/C firmware generation, and designing device drivers. Prereq: 3130; Coreq: CEEN 3280. (Cross-listed with CEEN 8336.)


Microprocessors Architecture, Programming and Interfacing, Barry Brey, Merrill Publishing.

Class/Laboratory Schedule:

The lecture portion of the course will meet for three university hours each week. The laboratory portion will meet for three university hours each week.

Course Outcomes:

The student who successfully completes this course can:

  1. Explain the architecture of a generic microprocessor, different types of memory components, input/output elements and the required interfacing busses and other components. (3, 4, 6)
  2. Design different microcomputer systems with required memory decoding techniques.(3, 4, 7)
  3. Design microcomputer systems with required input/output interfacing. (3, 4, 7, 9defhi)
  4. Analyze the timing requirements of a computer system design.
  5. Incorporate the programmable peripherals in a microcomputer design system. (5, 7, 8)
  6. Design, build, and debug a complete microprocessor system with keyboard, LCD, ROM, RAM, and other required interfacing components. (7, 8, 9defhi)
  7. Write the operating software to perform system memory monitoring in Assembly for the designed microcomputer system. (9i)
  8. Generate engineering report including the schematic, programs listing, and the required decoding logic. (13, 15)

Course Topics:

  1. Microprocessor based system design
    1. Memory decoding techniques
      1. Absolute decoding,
      2. Foldback decoding,
      3. Linear addressing
    2. I/O interfacing and mapping
    3. Interfacing components
    4. System design
  2. I/O Characteristics and System Design 
    1. Design and interfacing with an input device
    2. Design and interfacing with an output device
    3. Programmable peripheral interfacing
  3. System Bus Loading and Timing Considerations
  4. Interrupts 
    1. Basic Interrupt Processing
    2. Interrupt Structure for 80X86
    3. Interrupt Vectors, Vector Tables
    4. Daisy-Chained Interrupts Design
    5. Interrupt Service Routine (ISR) Design

The Reason this Course is in the Program:

There will be several software and hardware laboratory assignments involving design and building a working single board microcomputer system. The project will include an 8086 or a similar microprocessor, a keyboard, a display, ROM, RAM, I/O ports, and operating software (BIOS). Exact specifications of the project will be given later in the semester.

Prepared by:

Hamid Sharif - February 2001