Embedded C With Avr

Sensors, Actuators, LEDs, Switches, PORTS, Timers, PWM, ADC, LCD, Projects, Develop Embedded Systems with Embedded C AVR

Last updated 2022-01-10 | 4.5

- Learn basics of Embedded C
- Developing Embedded System around AVR Microcontroller
- Master Masking Technique in C

What you'll learn

Learn basics of Embedded C
Developing Embedded System around AVR Microcontroller
Master Masking Technique in C
Interface Sensors and Actuators using GPIOs / Ports
Demystify Timers to write delays
Learn how to generate PWM
also learn to vary Duty Cycle and Frequency of PWM Wave
Interface Liquid Crystal Displays (LCDs) to print Characters
String and Integers
Also Learn to write Library for LCD
Interface Analog Sensors using inbuilt analog to digital converters

* Requirements

* Be familiar to any programming language
* Basics only

Description

Learn Embedded C with AVR Microcontrollers!!

  • 8.5 Hours of Video Content.

  • 8 Quizzes with more than 70 Questions.

  • 13 Hands-on Practicals

  • All Codes are available in the resources

  • Lecture Material (PDF / PPTs) are available in the resources

  • All Wiring Diagrams are available resources

Description

This course Demystifies the internal working of Microcontroller and Peripherals. You will learn register-level Embedded C programming to use inbuilt peripherals on the microcontroller to interface sensors, actuators, and Liquid Crystal Displays (LCD). You will learn to use Timers to generate accurate delays, Use timers to generate Pulse Width Modulation (PWM) Waveforms with variable duty cycle. Learn to use analog to digital converter (ADC) to gather data from analog sensors and display it to LCDs.

Each section ends with a Quiz to examine your learning outcomes from this course. All the codes (C Programs) are available in resources along with the lecture material.

This is NOT Arduino Style Programming!!

I believe that Arduino is for quick prototyping of products but not for Mastering Microcontrollers and peripherals. In Arduino, you use many Third-Party Libraries, In this course, you will be writing your own libraries, Your code will be talking and manipulate microcontroller registers, True Register Level programming is presented in this course.

Major Topics Covered

  1. Masking: Learn to manipulate (Set/Reset) a particular bit in a port or MCU register without altering other bits.

  2. Pull-up Register: Learn the importance of pull-up resistors, enabling and disabling them, also learn to use them in interfacing digital sensors.

  3. Timers: Learn to write C programs to generate accurate delays using MCU Timers.

  4. Pulse Width Modulation: Learn to generate PWM wave with variable duty cycle using MCU timers and PWM registers.

  5. Liquid Crystal Display:  Learn to interface LCDs with MCU using GPIOs, No third-party library is used for LCD, You will learn to write your own library for LCDs.

  6. Analog to Digital Converter: Learn to interface analog sensors such as a potentiometer to read voltage across it.

  7. Temperature Monitoring System: Learn to interface LM35 temperature sensor IC to read ambient temperature and display the same on LCD.

  8. Speed Control of DC Motor: Learn to control the Direction and Speed of DC Motor using half-bridge integrated circuit L293D and PWM Technique. Vary the Speed using a POT connected to ADC and vary the PWM duty cycle accordingly.   



Who this course is for:

  • Beginners to develop Embedded Systems around Microcontroller
  • Beginners curious to write and test Embedded C Programs on Hardware

Course content

10 sections • 56 lectures

Expectations from Course, What's Inside the Course Preview 09:47

Microcontrollers Vs Microprocessors Preview 09:53

Von-Neumann Vs Harvard Architecture Preview 05:40

How to Select a Microcontroller? Preview 04:22

Hello AVR!! Preview 13:11

Microcontrollers and AVR

AVR Ports Preview 11:42

The First Embedded C program Preview 21:02

AVR Port Registers

Bit Wise Masking !! Preview 15:49

LED Blink using Masking Preview 14:05

Masking using Shifting Preview 11:21

Blink LED using Masking with Shifting Preview 15:47

Circular Shifting / Bit Rotation Preview 13:02

Masking

Switch and Pull Up Resistors Preview 06:11

How to Enable inbuilt pull-up resistors in AVR? Preview 05:17

Interface LED and Switch with AVR using Embedded C Preview 17:56

Switch with LED Blink - Have Fun with Embedded C Preview 12:56

Switch and LED Blink with Multiple Delay - More Fun with Embedded C Preview 12:21

Introduction to AVR Timers Preview 12:17

Lets get inside TIMER0 Preview 14:14

How to calculate TCNT value to generate a particular delay? Preview 08:49

Programming AVR Timers Preview 21:53

AVR Timers

Introduction to PWM Preview 07:46

How PWM wave is generated in Microcontrollers Preview 07:55

PWM Registers in AVR and PWM Modes Preview 13:49

PWM Frequency Preview 05:02

PWM Duty Cycle Preview 07:54

Programming to generated PWM Wave - LED Brightness Control Preview 12:05

Pulse Width Modulation (PWM)

Introduction to LCD Displays Preview 14:37

LCD - Initialization Preview 13:28

LCD - Command and Data Embedded C Functions Preview 17:16

LCD - Initialization Function Preview 02:54

LCD - Printing Characters using Embedded C Preview 13:14

LCD - Embedded C functions to position cursor and print strings Preview 09:33

LCD - Printing Strings Preview 07:23

LCD - Embedded C Function to Print Integers Preview 08:11

LCD - Printing Integers Preview 09:32

Embedded C - User defined library for LCD Preview 10:10

LCD

Need of Analog to Digital Conversion Preview 04:34

Characteristics of ADC Preview 09:27

Relation between Input Analog Voltage and Binary Output Data Preview 05:19

Features of ADC on AVR Preview 05:40

ADC - ADMUX Register Preview 08:17

ADC - ADCSRA Register Preview 07:04

Programming ADC using Embedded C - EXP 1 Preview 20:35

Programming ADC to Calculate and Display Input Analog Voltage Preview 10:05

Analog to Digital Conversion

Temperature Monitoring System using LM35 Sensor Preview 09:56

Speed Control of DC Motor - Part 1 Preview 10:56

Speed Control of DC Motor - Part 2 Preview 14:26

Project