Introduction to Microprocessors and Microcontrollers
CET1123C — INTRODUCTION TO MICROPROCESSORS / MICROCONTROLLERS
← Course Modules
Course Description
CET1123C is an introductory combined lecture and laboratory course in the architecture, programming, and application of microprocessors and microcontrollers. The "C" suffix in the course number indicates that a "C" represents that there is a combined lecture and laboratory within a course, while an "L" represents a standalone laboratory. Students study the internal architecture of microprocessor and microcontroller devices, number systems, instruction sets, assembly language programming, memory and I/O interfacing, and the design and troubleshooting of microcontroller-based embedded systems. The course parallels the standard scope of similar courses, which introduces the basics of microprocessor and microcontroller functions and architecture including internal operations, input/output (I/O) ports, tri-state buses, memory, instruction sets, interrupts, addressing modes, and address decoding; uses machine language and assembly language programming and logical and mathematical operations for assembly, Peripheral Interface Adapter (PIA) interfacing as well as troubleshooting techniques; and includes the design of hardware, software, and interfacing circuitry to provide microprocessor- or microcontroller-based functions or systems.
Learning Outcomes
Required Outcomes
Upon successful completion of the course, students will be able to:
- Differentiate between microprocessors and microcontrollers, recognizing that a microprocessor is considered the heart of a computer system, whereas a microcontroller is the heart of an embedded system.
- Describe the internal architecture of a typical microprocessor/microcontroller, including the ALU, control unit, registers, buses, and memory subsystem.
- Convert and perform arithmetic using binary, hexadecimal, and decimal number systems, and apply Boolean logic to digital data.
- Write, assemble, and debug assembly-language programs that perform data transfer, arithmetic, logical, branching, and subroutine operations.
- Interpret addressing modes and instruction sets for a representative microprocessor or microcontroller family.
- Select the most suitable microprocessor or microcontroller for a given application, considering a given set of constraints based on published device specifications.
- Interface a microcontroller with parallel and serial I/O peripherals, including switches, LEDs, displays, and sensors.
- Configure on-chip resources such as timers/counters, interrupts, and analog-to-digital converters.
- Troubleshoot by locating and identifying a faulty component in a malfunctioning microprocessor/microcontroller-based circuit or system using analytical and experimental techniques learned in class.
- Design, construct, and test a small microcontroller-based project that integrates hardware and software to meet a given specification.
Optional Outcomes
- Develop programs in a high-level language (such as C) for a microcontroller, recognizing that when they first became available, microcontrollers only used assembly language; today, the C programming language is a popular option, and Python and JavaScript are also common microprocessor languages.
- Apply microcontrollers to Internet of Things (IoT) applications, including wireless connectivity and sensor networks.
- Use industry development environments such as MPLAB X, Atmel Studio, Arduino IDE, or Keil µVision.
- Compare 8-bit, 16-bit, and 32-bit microcontroller architectures and ARM Cortex-M cores.
- Implement communication protocols such as UART, SPI, and I²C.
- Design simple real-time control or data-acquisition systems.
Major Topics
Required Topics
- Introduction to digital computing systems — history and evolution of microprocessors and microcontrollers
- Number systems and codes — binary, hexadecimal, BCD, ASCII, two's complement arithmetic
- Logic gates and combinational/sequential review
- Microprocessor vs. microcontroller architectures, including the key components that work together to process data and execute instructions, with three main components: the Arithmetic Logic Unit (ALU), control unit, and registers
- System buses — address, data, and control buses; tri-state operation
- Memory organization — Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Random Access Memory (RAM), and memory mapping
- Instruction set and addressing modes
- The fetch–decode–execute cycle and machine cycle timing
- Assembly language programming — data transfer, arithmetic/logical, branching, looping, stack and subroutine instructions
- Parallel and serial I/O — port configuration and interfacing
- Interrupts — vectors, priorities, and service routines
- Timers, counters, and analog-to-digital conversion — including an ADC, which is a circuit that converts analog signals to digital signals and lets the processor at the center of the microcontroller interface with external analog devices, such as sensors
- Hardware/software design and troubleshooting of a microcontroller project
Optional Topics
- C programming for embedded targets
- Serial communication protocols (UART, SPI, I²C, USB)
- PWM generation and motor control
- LCD/OLED display interfacing and keypad scanning
- Wireless and IoT connectivity (Wi-Fi, Bluetooth)
- Real-time operating system (RTOS) concepts
- Power management and low-power design
- Comparative study of common platforms — PIC, AVR/Arduino, ARM Cortex-M, ESP32
Resources & Tools
- Development boards: Arduino Uno/Mega, Microchip PIC development kits, STM32 Nucleo, Texas Instruments MSP430/Tiva, ESP32, or Raspberry Pi Pico
- Software: MPLAB X IDE with XC8 compiler, Arduino IDE, Atmel Studio/Microchip Studio, Keil µVision, or PlatformIO
- Test equipment: digital multimeter, dual-trace oscilloscope, logic analyzer, regulated DC power supply, breadboards and prototyping components
- Reference materials: manufacturer datasheets, instruction-set reference manuals, and application notes
- Representative texts aligned with similar courses include works such as Crisp, J. (2004). Introduction to microprocessors and microcontrollers, (2nd ed). Elsevier and texts covering the 8051, PIC, AVR, or ARM families
Career Pathways
This course supports Florida College System Associate in Science (A.S.) and certificate programs in Computer Engineering Technology, Electronics Engineering Technology, and Engineering Technology. Skills developed in CET1123C apply to a range of technician and embedded-systems roles, including:
- Electronics Engineering Technician
- Computer Engineering Technician
- Embedded Systems Technician / Junior Firmware Developer
- Industrial Controls / Automation Technician
- IoT Device Test Technician
- Field Service Technician for instrumentation and process control
The skills also articulate into bachelor-level programs in Electrical/Computer Engineering Technology and serve as a foundation for further coursework in embedded systems, digital design, and PLC/industrial controls.
Special Information
Course content aligns with knowledge areas commonly assessed in industry credentials, and instructors may use the course to help students prepare for entry-level certifications such as:
- ETA International — Associate Electronics Technician (CETa) and Information Technology Security (where digital fundamentals overlap)
- Microchip Certified programs (PIC/AVR development)
- Arm Education Embedded Systems Fundamentals certification
- NCCER Industrial/Instrumentation modules where embedded controllers are referenced
Because CET1123C is a combined lecture/lab course, weekly laboratory work is an integral part of the grade. Students should expect to engage in practical exercises to reinforce learning, such as reviewing instruction sets, creating block diagrams, and testing programs on a development board, in addition to designing and demonstrating a culminating microcontroller project.