You are on page 1of 3

Embedded System

Embedded System is a scaled down computer system which is designed to


perform a specific task/operation.

The term embedded tells that whole system is embedded into an appliance.

Combination of Hardware as well as software

What is Embedded System?

Circuits embedded into a small system.


Low power, low processing and low cost.
Perform dedicated functions unlike PC.
Microcontroller/ Digital Signal Prcessor.

Microprocessor Vs Microcontroller
Microprocessor

CPU is stand-alone,
RAM, ROM, I/O, timer
are separate
designer can decide
on the amount of
ROM, RAM and I/O
ports.
expansive
versatility

Microcontroller

CPU, RAM, ROM, I/O


and timer are all on a
single chip
fix amount of on-chip
ROM, RAM, I/O ports
for applications in
which cost, power
and space are critical

AVR

AVR is a family of microcontrollers developed by Atmel beginning in 1996. These


are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one
of the first microcontroller families to use on-chip flash memory for program storage,
as opposed to one-time programmable ROM, EPROM, or EEPROM used by other
microcontrollers at the time.
AVR microcontrollers find many applications as embedded systems; they are also used
in the popular Arduino line of open source board designs.

ATmega 16
ATmega16 is an 8-bit high performance microcontroller of Atmels Mega AVR family
with low power consumption. Atmega16 is based on enhanced RISC (Reduced
Instruction Set Computing, Know more about RISC and CISC Architecture) architecture
with 131 powerful instructions. Most of the instructions execute in one machine cycle.
Atmega16 can work on a maximum frequency of 16MHz.
ATmega16 has 16 KB programmable flash memory, static RAM of 1 KB and EEPROM
of 512 Bytes. The endurance cycle of flash memory and EEPROM is 10,000 and
100,000, respectively.
ATmega16 is a 40 pin microcontroller. There are 32 I/O (input/output) lines which are
divided into four 8-bit ports designated as PORTA, PORTB, PORTC and PORTD.
ATmega16 has various in-built peripherals like USART, ADC, Analog
Comparator, SPI, JTAG etc. Each I/O pin has an alternative task related to in-built
peripherals. The following table shows the pin description of ATmega16.

Digital Input and Output Port

PA0 PA7 (PORTA)


PB0 PB7 (PORTB)
PC0 PC7 (PORTC)
PD0 PD7 (PORTD)

Additional Function:

ADC (ADC0 ADC7 on PORTA)


UART (Rx, Tx on PORTD)
TIMERS (OC0 OC2)
SPI (MISO, MOSI, SCK on PORTB)
External Interrupts (INT0 INT2)

Commands

DDRX > Sets whether a pin is Input or Output of PORTX.


PORTX -> Sets the Output Value of PORTX.
PINX > Reads the Value of PORTX.
delay_ms > delay the execution for the specified time in milli-seconds.

Rest of the commands are same as Basic C programming language.

Programmer
Programmer basically consists of two parts:

Software (to open .hex file on your computer)


Hardware (to connect microcontroller)

Hardware depends on the


communication port you are using on
computer (Serial, Parallel or USB).
Software for that is

the

Pony Prog(Serial, Parallel)


AVRdude(supports many hardwares)
AVRStudio (supports Atmel's
hardware)
ATProg (Serial)
USBasp is a USB incircuit
USBASP (USB)

programmer for Atmel AVR


controllers

You might also like