ECE 395: Microprocessor Laboratory
Fall 2025
Main
Instructor
- Yusuf Ozkan
- Email: yo44@njit.edu
- Office hours: Thursday 1:00 p.m. - 3:30 p.m. (email for location)
- Available other days by appointment
Class Meeting Times
- Friday 1:00 p.m. - 5:20 p.m., FMH 204A
Course Description
- In this laboratory the students are expected to learn to apply their theoretical knowledge of both the hardware and software aspects of microprocessors. To attain this objective the students are required to construct a microprocessor based single board computer (SBC), with adequate interfacing capabilities to be able to perform some useful control tasks. Programming of the device is done in assembly and C language. Some of the experiments that follow the construction project deal with software while others deal with the problems of interfacing of microprocessors.
Prerequisites or Corequisites
- Electrical & Computer Engineering 252 (Undergraduate)
- Electrical & Computer Engineering 291 (Undergraduate)
Educational Objectives
- Familiarizing the students with the microprocessor board HiFive1 Rev B
- Students deal with C, C++, and assembly languages
Course Structure
- Laboratory / Hands-on Projects / Final Exam
Tentative Course Schedule and Topics
- Week 1-2: Lab 1 - Microprocessor Operation
- Week 3-4: Lab 2 - General Purpose Inputs and Outputs
- Week 5: Lab 3 - Annunciator (GPIO Application)
- Week 6: Lab 4 - UART Serial Port
- Week 7-8: Lab 5 - Simple Calculator (UART Application)
- Week 9: Lab 6 - Extending the Calculator
- Week 10: Lab 6 - Advanced Calculator Features
- Week 11: Lab 7 - PWM and Servo Control
- Week 12: Lab 7 - Delay in Microseconds
- Week 13: Lab 8 - Wifi Communication, IoT application
- Week 14: Exam and Lab 9 - Project Demo
Key Learning Outcomes
- Microprocessor Programming: Students gain hands-on experience programming the HiFive1 Rev B microprocessor in assembly, C, and C++.
- Hardware Interfacing: Students learn to interface microprocessors with various peripherals including GPIO, UART, PWM, and sensors.
- WiFi Module Communication: Students learn to communicate with WiFi modules via UART commands, enabling connectivity for IoT applications.
Grading
- Labs and Quiz: 40%
- Project: 30% (group)
- Final Exam: 30% (individual)
- Do not post your lab solutions on publicly accessible web sites (e.g., GitHub).