
Contrast microprocessors and microcontrollers, noting that microprocessors require external memory and peripherals, while microcontrollers integrate memory and on-chip input-output. Choose a microcontroller based on speed, power, I/O, and tool support.
explore the history and criteria for selecting microcontrollers, highlight key features and architecture, cover memory organization and register structure, and introduce assembly language programming.
Trace the history of microcontrollers, from microchip's 1989 big family’s eight-bit, low-memory design to the pic18's high-performance features like watchdog timers and analog-to-digital converters.
Evaluate microcontroller selection by balancing speed, I/O, and timers on the chip with power consumption, cost per unit, and tool availability such as assembler, debugger, compiler, and emulator.
Explore the PIC18F features, including on-chip flash memory with erase, 33 bidirectional I/O lines, fixed SFRs, 256-entry banked RAM, CCP capture, external bus, UART, and timers.
Explore the architecture of the PIC18F microcontroller, including its on-chip program and data memory, 16 banks of 256 bytes, the W register, special function registers, and the instruction decoder.
Explore the pic18f microcontroller registers, including the 21-bit program counter, 31-level stack, 16 banks of file registers, fsr registers, and special function registers for io and adc.
Learn how the status (flag) register in PIC18F microcontrollers indicates post-instruction conditions using five flags, including zero, overflow, and negative, to guide arithmetic and logic operations.
Explore CCP modules, standard and enhanced, and their modulation for variable duty cycles and timer-driven events in PIC18F microcontrollers. Learn about watchdog timers, brownout protection, and programmable memory protection features.
Explore memory organization in the PIC18F microcontroller, detailing program memory, flash, data memory banks, the access bank, 128 general purpose registers, 128 special function registers, and indirect addressing via fsr.
Explore the PIC18F timers, from timer0 to timer4, using 16-bit registers to generate time delays or count external events, with internal or external clocks, prescalers, and overflow behavior.
Explore how the PIC18F microcontroller serves multiple devices via interrupts, with a memory-stored interrupt service routine and indirect vector concepts, contrasted with polling and reset considerations.
Describe pin description and I/O sfrs for the PIC18F microcontroller, including tri-state registers, port registers and latches, and the alternate functions of pins.
Discover the PIC18F instruction set and assembly language by exploring its 77 instructions, organized into seven groups: move/load, data transfer, arithmetic, logical, branch and jump, read/write, and control instructions.
Learn how a PIC18F microcontroller uses 8-bit data and represents data in hex, binary, decimal, and ASCII formats, with several hex notations and prefixes used in assembly.
Explore assembler directives such as equal to define constants and substitute labels, and see how end, list, listb, and config directives control chip targets and data representations.
Discover the four addressing modes of the PIC18F: immediate, direct, register indirect, and register addressing. Learn how FSR pointers and file register banks enable dynamic data access across memory.
Explore move and load instructions for the PIC18F microcontroller, demonstrating how the working register and file registers transfer data, use the access bank, and copy between registers.
Explains how arithmetic instructions operate on the working and file registers in PIC18F, including add, subtract, and multiply, with destination bit D selecting where results go.
Explore logic instructions that perform operations on the working register, file register, and literals, saving results back to W or F for PIC18F microcontroller workflows.
Access and modify individual bits in a file register using BCF, BSF, and BTG without altering others, and rotate bits with RLCF or RRCF through carry.
Learn how call and return instructions transfer control to subroutines, save the return address on the stack, and enforce target range limitations for proper subroutine calls.
Explore branch instructions, using zero, negative, and overflow flags to direct program flow, within the ±128 byte range, and learn when to combine with an unconditional goto for longer jumps.
Learn test and skip instructions for the PIC18F microcontroller, including testing file register bits, skipping the next instruction, and incrementing f to control flow.
Review references and data sheet for a big data microcontroller, examine the big microcontroller, and discuss how assembly language relates to the computer system.
Microprocessors are used extensively in the design of any computing facility. It contains units to carry out arithmetic and logic calculations, fast storage in terms of registers and associated control logic to get instructions from memory and execute them. A number of devices can be interfaced with them to develop a complete system application. On the other hand, microcontrollers are single chip computers, integrating processor, memory and other peripheral modules into a single System-on-Chip (SoC). Apart from input-output ports, the peripherals often include timers, data converters, communication modules, and so on. The single chip solution makes the footprint of the computational element small in the overall system package, eliminating the necessity of additional chips on board. However, there exists a large range of such products. While the simpler microcontrollers are cheap, their capabilities (in terms of program size and analog and digital peripherals) are also limited. Such processors may be suitable for small applications. Microcontrollers like 8051, PIC belong to this category.
In this course Introduction to PIC18F Microcontroller, history of PIC18, features, architecture, Memory Organization, Registers are discussed briefly and Basic concepts of assembly language programming i.e., Assembler directives, Data formats, Addressing modes, Instruction set with simple examples are discussed