CSE360: Computer Interfacing

Undergraduate course, BRAC University, Department of Computer Science and Engineering, 2026

Taught CSE360: Computer Interfacing across Fall 2024, Spring 2025, Summer 2025, Fall 2025, and Summer 2026. This course covers the design and implementation of hardware and software interfaces connecting computer processing units with external peripheral devices, sensors, actuators, and communication buses.

Semesters Taught: Fall 2024, Spring 2025, Summer 2025, Fall 2025, Summer 2026
Institution: BRAC University, Department of Computer Science and Engineering


Course Description

This course focuses on computer interface components, programmable interfacing integrated circuits, sensing mechanisms, and hardware communication protocols. Students work with microcontroller and microprocessor development platforms (including AVR/Arduino and STM32 ARM Cortex architectures) and the Programmable Peripheral Interface (PPI - 82C55). Topics include electrical signal conditioning, high-power interface drivers, sensor and actuator integration, display modules (LED, LCD, seven-segment), synchronous and asynchronous communication protocols (I2C, SPI, UART), interrupt systems, ADC/DAC conversions, and real-world embedded system project design.

Course Objectives

  • Introduce interfacing components, electrical constraints, bus standards, and signal characteristics.
  • Explain diverse sensor types, analog/digital sensing devices, and their physical calibration.
  • Master General Purpose Input/Output (GPIO) programming using MCU development platforms and the Programmable Peripheral Interface (PPI) – 82C55.
  • Study hardware communication protocols including UART, I2C, and SPI for inter-device messaging.
  • Train students in driving output modules such as alphanumeric LCDs, OLED displays, relays, motors, and seven-segment units.
  • Guide student teams in prototyping comprehensive embedded interfacing projects.

Course Topics & Outline

  • Interfacing Fundamentals: Microprocessor and microcontroller bus architectures, memory and I/O mapping, buffering, and address decoding.
  • Programmable Peripheral Interface (PPI – 82C55): Internal architecture, control word formatting, Bit Set/Reset (BSR) mode, and I/O operating modes (Mode 0, 1, 2).
  • Microcontroller Platforms & GPIO: Architecture, registers, and programming with AVR/Arduino and STM32 ARM Cortex platforms.
  • Sensor Integration: Interfacing analog and digital sensors (temperature, ultrasonic distance sensors, PIR motion detectors, light sensors).
  • Actuators & Power Drivers: Transistor switches, relays, optocouplers, H-bridges, DC motor speed control (PWM), and servo motor positioning.
  • Serial Communication Standards: Asynchronous communication (UART/USART, RS-232/TTL levels), and synchronous serial buses (SPI, I2C).
  • Analog-to-Digital (ADC) & Digital-to-Analog (DAC): Successive approximation ADC, resolution, sampling rates, DAC architectures, and signal generation.
  • Display Interfacing: Driving 7-segment displays (multiplexing), 16x2 HD44780 alphanumeric LCDs, and OLED displays.
  • Interrupts & Timers: Hardware interrupt vectors, external interrupt handling, timer/counter configuration, and real-time event management.
  • Project Prototyping: Complete embedded system design from circuit schematics to firmware development.

Textbooks & Reference Materials

  1. Microprocessor Architecture, Programming, and Applications with the 8085, Ramesh S. Gaonkar, 5th Edition, Penram International.
  2. Introduction to ARM Cortex-M Microcontrollers, Jonathan W. Valvano, 5th Edition.
  3. The 8051 Microcontroller and Embedded Systems, Muhammad Ali Mazidi, Janice Gillispie Mazidi, and Rolin D. McKinlay, Pearson.
  4. Technical component datasheets, reference manuals, and lecture slides provided via buX.