Summer Camp 13: Introduction To Microcontrollers
Summer Camp 13: Introduction To Microcontrollers
Introduction to Microcontrollers
Shivendu Bhushan
Embedded Systems
Gadgets and devices
Self controlled devices
Contains I/O devices, storage devices and a
central controller
Output
Controller
Output
Storage Device
The Microcontrollers
Why micro? Larger controllers are available too:
processors that run computers.
Out of several available vendors like Atmel, Intel, ARM,
Cypress, etc. We will use Atmel ATmega
microcontrollers.
Like computers they execute programs.We will use C as
the coding language.
Example: Atmega 16
40 pin IC.
32 pins for I/O.
8 pins reserved.
I/O pins divided into 4
groups of 8 pins, called
ports.
Ports labeled as A, B, C and
D.
I/O Registers
Input / Output is controlled through special variables called
registers.
Registers are actual hardware memory locations inside the
Cs with predefined names and sizes.
Assigning a value to these registers in the program changes
the corresponding hardware configuration. And, these values
can be altered multiple number of time at any point in the
program.
There are 3 registers that control the I/O pins: DDR, PORT
and PIN.
Each port has its own registers. Hence, DDRA, PORTA,
PINA registers for port A; DDRB, PORTB, PINB for port B
and likewise.
Registers
PORT register
PORT is also an 8 bit register. The bits on the PORT
register correspond to the pins of the associated port in
the same manner as in the case of the DDR register.
PORT is used to set the output value.
If the pin is set as output, then a PORT value of 1 will
set voltage at that pin to 5V, and PORT value 0 sets the
voltage to 0V.
If the pin is configured as an input, PORT value serves
the purpose of pull up or pull down.
PIN register
PIN is a register whose value can be read, but cannot be
changed inside the program.
It gives the value of the actual voltage at a particular
pin. 1, if the value at the required pinis 5V and 0 for 0V.
Summary
Applications(Takneek/Techkriti)
Line Following Robots
Wireless keyboard
Wireless Gamepad
Tachometer
Music synthesizer
Motion sensing games
Software needed:
CVAVR----> Editor and compiler
AVR Studio---- > Transfer the code to Atmega
ISIS--- > Circuit Simulator
AVR Studio
Select Tools
Select AVR
programming
Thanks..!!