Public View

You are viewing the public version of the syllabus. If you have a SUNet account, you can view the richer version of the syllabus after logging in.

EE 308
Microcomputer Based System Design

Faculty Faculty of Engineering and Natural Sciences
Semester Spring 2025-2026
Course EE 308 - Microcomputer Based System Design
Time/Place
Time
Week Day
Place
Date
13:40-14:30
Wed
FENS-L062
Feb 16-May 22, 2026
08:40-10:30
Fri
FENS-G035
Feb 16-May 22, 2026
Level of course Undergraduate
Course Credits SU Credit:4, ECTS:7, Engineering:7
Prerequisites CS 303
Corequisites EE 308L
Course Type Lecture

Instructor(s) Information

Ayhan Bozkurt

Course Information

Catalog Course Description
Introduction to hardware and software design of microcomputer systems. Basic working principles of microprocessors, memory and I/O devices, bus interconnections, assembly language programming, integration of hardware and software design. Serial communications, parallel interfacing, interrupts and interupt handlers, timing analysis and delay handling in microcomputer circuits. A term project involving the design and implementation of a self-contained microcomputer system for a specific purpose (i.e., embedded system) will be assigned, in addition to regular software/hardware lab assignments.
Course Learning Outcomes:
1. Identify functional blocks and sequence of operations of a microprocessor
2. Demonstrate fundamental understanding of the interface between the microprocessor and peripheral devices
3. Generate assembly language programs for a particular microcomputer architecture and set of peripheral devices
4. Design a primitive operating system for a basic microcontroller architecture using device handlers and timer interrupts
5. Locate useful information in an extensive set of manuals regarding the operation, interfacing and programming of a microcontroller
6. Design computer-to-computer or computer-to-peripheral links using various digital communication protocols
Course Objective
To develop the skills to design hardware and software for microcomputer based digital systems.

To introduce programming skills for assembly language

To introduce the interfacing of microcomputers to peripheral devices and the interaction of software with hardware components

To develop skills for interfacing computer systems and developing the communications software

To provide each student with an experiment board so that they may get the opportunity for experimenting on a physical microcontroller system
Sustainable Development Goals (SDGs) Related to This Course:
Industry, Innovation and Infrastructure

Course Materials

Resources:
Reference Material:
• ATmega2560 Data Sheet
• AVR Instruction Set Manual
• AVR42787: AVR Software User Guide
• avr-libc Documentation : https://www.nongnu.org/avr-libc/user-manual/
• M. A. Mazidi, et al., AVR Microcontroller and Embedded Systems: Using Assembly and C, Pearson, 2014.
• Elliot Williams, Make: AVR Programming, Maker Media, 2014.
• Timothy S. Margush, Some Assembly Required, CRC Press, 2012.
Technology Requirements:
Computer Usage: Assembler and C using avr-gcc and avr-libc.

Policies