
Learn PIC microcontroller through a step-by-step journey from history and basics of programming controllers to circuit design, plus 14+ experiments and monthly updates from Education Engineering Team.
Install Proteous professional, download the evaluation copy, and explore the demo limitations, sample designs, and the interface for editing and simulating predefined microcontroller designs.
Learn how to install MikroC Pro for PIC programming, download the free software from the vendor site, and complete the setup to write and simulate code.
Learn C programming basics for beginners, covering conditional statements, loops, arrays, functions, pointers, data types and dynamic memory allocation, with practical coding exercises and quizzes.
Download and install Notepad++ as the code editor, install the MinGW-w64 gcc compiler, add its bin path, write a simple C program, and compile it in the command window.
Learn to write and compile C code in your browser with an online compiler, sign in with Google or other accounts, and manage multi-file projects for classroom homework submissions.
Learn to download and install Visual Studio Code, set up the C/C++ extension (IntelliSense, debugging, and code browsing), install MinGW-w64, configure environment paths, and run and debug C programs.
Discover the basics of C programming by writing your first code, understanding the main function, libraries, include directives, and comments, and printing output with printf before compiling and running.
Learn how to use comments in C to document code, including single-line // comments and multi-line /* */ blocks, and how comments affect debugging and compilation.
Explore how strings in C are represented between double quotes and how string literals are printed. Master escape sequences like \n, \t, and \v, and escaping quotes.
discover how variables in C store data using primitive types such as float, double, char, and int, and how memory and initialization shape values and garbage values.
Learn how to name variables in C by using letters, numbers, and underscores, starting with a letter or underscore, while avoiding spaces, reserved words, duplicates in the same scope.
Explore the printf function in c, printing integer, floating, and character values by embedding them in strings with format specifiers like %d, %f, and %c, including multiple variables.
Learn how to read user input in C using scanf, with printf to display prompts, and format specifiers for int, char, and float.
Explore arithmetic operators in C, including plus, minus, multiply, divide, and modulus, with practical examples and printf formatting tips like printing a percent sign.
Explore unary arithmetic operators in C, including increment and decrement, and distinguish prefix versus postfix forms and their effects when using the equals sign.
Learn how bitwise operators in C manipulate binary values using and, or, xor, and not, with practical examples and binary-to-decimal conversions.
Learn bitwise shift operators in C, including right shift and left shift, using eight-bit binary examples to show how shifting moves values like 10 and converts between binary and decimal.
Learn how assignment operators update values on a PIC microcontroller, using x = 10 and x += 5, x -= 3, and x *= 5, plus bitwise and shift operations.
Explore relational and logical operators in PIC microcontroller practice, learning how nonzero values evaluate as true and zero as false, and equal, not equal, and greater/less comparisons drive conditional statements.
Learn how conditional statements in C control code flow, focusing on if statements and switch cases, their syntax, and the role of else blocks with examples.
Learn how else if and else enhance C conditional statements by checking multiple conditions. Short-circuit on the first true case and use a default else when none match.
Learn how local variables, defined inside a function, remain in scope only there, while global variables, defined outside, can be accessed by any function in the code.
Explore general rules for if statements, including nesting and optional braces, one-line conditions, and the risks of missing braces that cause syntax or logical errors.
Master the switch statement in C by selecting one case from many, using case, break, and default; explore syntax, a sample with x, and menu-style usage.
Learn general rules of switch statements in C, including unique constants, optional default, break usage, and nesting for clear control flow.
Learn to use the for loop in C to repeat code with initialization, condition, and increment, with examples printing 0 to 4 and 0 to 499.
Explain the while loop in c, showing how the code repeats as long as a condition is true, with examples using user input and a password check.
Learn the do while loop in C, including its syntax and the fact that the block runs at least once before the condition is checked, unlike the while loop.
Learn how break terminates a loop early and how continue skips an iteration in C, with examples using while and for loops, including infinite loops.
Explore how functions in C encapsulate code for reuse with prototypes, implementation, and function calls, including main as the entry point and handling inputs and returns.
Learn how the void keyword in C denotes nothing, enabling functions with no arguments or no return value, with prototypes and calls demonstrated.
Divide a C project into multiple files to improve modularity and organization. Define prototypes in the main file, implement functions in separate files, and compile/link them together.
Create a library in c by using a header for prototypes and a source file for implementations, then include the header to access add, subtract, multiply, and divide.
Learn how to define and initialize arrays in C, access elements with zero-based indexing, and use arrays to simplify printing and data handling.
Learn how to use arrays in C with a practical five-element example that gathers marks, prints them, and computes the average using a for loop.
Design your first Proteus microcontroller circuit, write your initial assembly code, and save your project as you follow along to build a simple running design.
Begin your first mikroC project for a PIC microcontroller by building and saving code, generating a hex file, and loading it to run at the correct clock frequency.
Learn to work with PIC microcontroller ports and write your first code by configuring eight-bit registers, defining input and output pins, and using binary values to control devices.
Explore the necessary connections for back door development on mobile, including grounding, oscillator timing, a five-volt supply, VSS ground reference, and the role of simulation.
Demonstrates driving LEDs on a PIC microcontroller using a simulation, configuring pins, and an infinite loop to turn lights on and off with binary and hexadecimal values.
Build a flasher circuit with a PIC microcontroller that turns the first bin on and off in a repeating cycle, using port bits and timing in code.
Learn to implement a LED follower that shifts a single lit LED across an array using binary patterns and hex values on a PIC microcontroller, with build and run steps.
Learn to control an led with a push button on a pic microcontroller, exploring sourcing and sinking connections, high and low logic, and a 10-second led load in simulation.
Drive a seven-segment display with a PIC microcontroller using a BCD counter to count 0-9 and reset, aided by a 74 decoder for binary to decimal conversion.
Learn to control an LCD with a PIC microcontroller using a library, initialize the display, and send commands such as clear, cursor on/off, display on/off, and text shift.
Learn to display and move text on an LCD by shifting left or right, initialize the LCD, place cursor on line, and loop 15 times with a 600 ms delay.
Control a stepper motor with a PIC microcontroller using L293D or ULN2003 drivers. Energize four coils in sequence to rotate left or right, and compute steps from the motor angle.
Learn to drive a five by seven led dot-matrix using multiplexed row and column lines, sending column data rapidly with microsecond delays to display letters.
Learn to interface a keypad matrix with a pic microcontroller using scanning to detect pressed keys, map them via a keypad library, and display the resulting value on the board.
Explore embedded system design as we introduce microchip company’s big microcontroller family, from 8- and 32-bit devices, and the umbrella development environment with assembler, linker, debugger, and simulator.
Program a microcontroller with a programmer, prototype circuits on development boards and breadboards, and transition to a printed circuit board (BCB) and a printed circuit assembly (BCA).
Explore the PIC architecture across three families: baseline, midrange, and high performance. Baseline uses 12-bit words with low power; midrange uses 14-bit words with flash; high performance uses 16-bit words.
Explore mid-range big microcontrollers, comparing Harvard architecture with von Neumann design, and see how risk microcontrollers use separate instruction and data buses for faster single-cycle execution.
Decode the PIC16F84 mid-range naming and memory types, including flash program memory, EEPROM, and RAM, and learn core peripherals like the run-time counter and I/O ports.
Explore single word instructions in a Harvard architecture-based PIC microcontroller. Learn how 14-bit instructions, 14-bit program memory, and a four-phase clock (Q1–Q4) drive the fetch and execute machine cycle.
Explore pin descriptions and multifunction bins on microcontroller pins, and compare oscillator types—from external clock setups to crystal, RC, ceramic resonators, and internal options.
Explore the system reset mechanism with push-button and pull-up resistor, forcing the program counter to zero and restarting execution, plus brown-out, oscillator stabilization, watchdog, and bin configuration that affect startup.
Explore PIC microcontroller ports, configuring pins as input or output via the option register and bit settings, and see how external connections interface with the central processing unit.
Explore the PIC architecture, including ports and registers, the central processing unit, arithmetic logic unit, work register, and general purpose and special function registers, plus status bits.
Examine the status register in the PIC microcontroller, detailing its eight bits, complement notation, zero and digit carry indicators, and bank selection for memory addressing.
Explore the PIC microcontroller option register, its eight bits including BSA, how prescaler settings scale timer values, and how edge select bit, clock source, interrupts, and pull-up behavior operate.
Explore how memory banks extend seven-bit addressing with bank select bits and special function registers, enabling access to the same address across multiple banks, with micro C handling the switching.
Learn how sfrs and gprs are organized across memory banks, including common area access, bank switching, and which registers are bank dependent or independent.
Explore memory organization in microcontrollers, distinguishing data memory blocks from program memory stored in flash. Learn about banks, gbr registers, and special function registers, plus mid-range instruction formats.
Explore the PIC16F877A ADC module and its 10-bit conversion stored in ADRESH and ADRESL with software-selected references. Configure the converter clock, channel selection, and timing to meet 1.6 microseconds.
Configure the adc module by selecting one of eight analog channels. Start conversions, monitor the in-progress bit, and read results from two registers with left or right justification.
Explore how interrupts reduce wasted processing by external sources like line zero on port b and timer zero overflow, enabling responses on rising or falling edges via registers.
Explore the port B line change interrupt using RB4–RB7 as four input pins to trigger on state changes, compare current and old values, and identify the triggering line.
Learn how the EEPROM data write interrupt lets the microcontroller continue executing during a long write operation and receive a completion signal when the write finishes.
Learn how interrupt handlers transfer control to the interrupt service routine and configure the INTCON register to enable and flag RB change, timer zero, and external interrupts.
Option register drives interrupt handling, configuring scalar bits for timeout zero or the watchdog time, and selects the RB zero interrupt edge while enabling or disabling internal pull resistors.
Demonstrate configuring the RB0 external interrupt on the microcontroller, enabling global interrupts, and using an interrupt service routine to respond by lighting a LED and updating an LCD.
Learn how PortB bits 4 to 7 generate a status change interrupt on input edge transitions, requiring all four pins as input and handling both edges.
Explore RB0 and RB4-7 interrupts on the PIC microcontroller with a practical example, cover flag handling, edge detection, and the interrupt service routine.
Explore the fundamentals of serial communication, including synchronous and asynchronous transmission, baud rate, and the framing of data with start and stop bits.
Understand synchronous serial transmission with clock-aligned data and receiver synchronization, and compare RS-232 and USB trends for hardware control via serial lines.
Explore essential concepts of serial communication, including the transmitter–receiver handshake, baud rate, start and stop bits, data bits (5–8), parity (even or odd), and half or full duplex modes.
Learn pic to pic and pic to pc serial communication by building sender and receiver circuits that share a clock and synchronize data using the pic's usart.
Demonstrates serial communication between a PIC microcontroller and a PC, sending and receiving text via a virtual terminal and verifying a reliable data exchange.
Learn how timer zero on the PIC microcontroller acts as an eight-bit timer and counter, incrementing each instruction cycle and overflowing at 255, with internal or external clock options.
Learn how to enable global interrupts, configure Timer0 interrupts on a PIC microcontroller, set prescaler and timer values, and clear the interrupt flag in the handler to create precise delays.
Explore delaying with timer0 using a free-running timer to implement accurate delay loops. Compute delays by dividing clock speed by counts and using initial values and limits for precise timing.
Explore timer0 interrupt programming to implement delay loops on the PIC microcontroller, configuring the internal clock and option register to control overflow and enable global interrupts.
Explore interrupt driven timers on the PIC; learn how background time counting uses timer zero overflow interrupts, enables global interrupts, and an ISR toggling a pin for precise timing.
Explore timer 0 as a counter, counting external clock pulses with high to low transitions, syncing to the internal clock, and using overflow interrupts to track events.
Introduction:
Are you frustrated with all the videos on YouTube that are either too short or simply too complex?
This 30-day online course is designed to help students learn the basics of programming the PIC microcontroller. The course uses a combination of text and video lessons, along with challenges and quizzes to help students retain the information. The course is ideal for anyone who wants to learn PIC Microcontrollers, or for those who are looking to expand their knowledge in this area.
PIC microcontroller courses are challenging, but the challenge is easily followed with each day containing a task that will help you understand the microcontroller. By following these tasks, you will be able to complete the course successfully.
In this course, you will learn the basics of how a microcontroller works, how to use it, how it is different from other types of computers, and what data it can store.
The challenge: tackles the challenges and how it works in different sections with different Topics.
Section I : this section Covers Educational Engineering and Introduction
Section II : in this section, we will discuss C Programming For Microcontrollers
Section III : Code, Run and Have more Fun
Section IV: PIC Microcontroller: The story from the beginning
Section V : PIC Architecture II
Section VI: Analog To Digital Conversion
Section VII: Interrupts
Section VII: Serial Communication Introduction and Basics
Section IX: Timers and Counters
Section X: Practical Experiments
Section XI: Basics of Electronic Components
WHAT YOU WILL GET WHEN JOINING THIS COURSE
High-Quality Video Tutorials on PIC Microcontroller Wiring
Step By Step Guide on How to Make an Electronic Door Lock using PIC Microcontroller.
PIC Microcontroller Circuit Diagrams
Codes and Application example files
This course is designed to help students learn how to use the PIC microcontroller. Students will be challenged with a variety of activities and tasks throughout the month, which will help them to become proficient in using this microcontroller. You'll start with the basics, and then move on to more advanced topics.
What you will learn in this course:
You will learn how to read and write to the PIC memory, how to work with variables, make decisions, loops and more.
You will learn how to program a PIC microcontroller in just 30 days.
Learn how to program a PIC microcontroller in C language and create your own projects!
Learn about the basics of electronics and microcontrollers.
Learn the most popular programming language for PIC microcontrollers, Assembly language.
Learn how to code and have fun
Learn about Interrupts
learn Electronic components
Circuit Diagrams For interfacing Electronic Lock with PIC Microcontroller.
Get a hands-on experience with programming and using PIC microcontrollers
This course is designed to teach you everything you need to know about programming a PIC microcontroller.
Sign up for the 30 Days Challenge Course and start learning today!