Syllabus Application
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
- Email: abozkurt@sabanciuniv.edu
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
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.
• 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.