Anda di halaman 1dari 23

1.

FERDYNAL

(1201043046)

2.

SRI JUNELA SEPA

(1201043027)

ATMega 328
Secara umum, AVR dapat dikelompokkan menjadi tiga
kelas, yaitu TinyAVR, AT90Sxx, dan ATmega. Pada
dasarnya yang membedakan masing-masing kelas adalah
memori, peripheral, dan fungsinya. Dari segi arsitektur dan
instruksi yang digunakan, mereka bisa dikatakan hampir
sama. Tabel 1 adalah tabel spesifkasi keluarga AVR.
Memor]

l'rllkrokontroler AVR
Jenis

Jnmlah Pin

Flash

EE:PR.OM

SRAM

TinyA.VR

8-32

1-2K.

64-128

0-128

.AT90Sxx

20 ..44

I-SK

128-5 :12

0~1K

A'Imega

32-64

8-128K

512-4K

512-4K

ATMega 328 adalah mikrokontroller keluaran dari atmel yang mempunyai


arsitektur RISC (Reduce Instruction Set Computer) yang dimana setiap proses eksekusi
data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer).
Mikrokontroller ATmega 328 memiliki arsitektur Harvard, yaitu memisahkan memori
untuk kode program dan memori untuk data sehingga dapat memaksimalkan kerja dan
parallelism. Instruksi instruksi dalam memori program dieksekusi dalam satu alur tunggal,
dimana pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari memori
program. Konsep inilah yang memungkinkan instruksi instruksi dapat dieksekusi dalam
setiap satu siklus clock. 32 x 8-bit register serba guna digunakan untuk mendukung operasi
pada ALU ( Arithmatic Logic unit ) yang dapat dilakukan dalam satu siklus. 6 dari register
serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada mode
pengalamatan tak langsung untuk mengambil data pada ruang memori data. Ketiga register
pointer 16-bit ini disebut dengan register X ( gabungan R26 dan R27 ), register Y (
gabungan R28 dan R29 ), dan register Z ( gabungan R30 dan R31 ).

Fitur AVR ATMega 328


130 macam instruksi yang hampir semuanya dieksekusi
dalam satu siklus clock.

32 x 8-bit register serba guna.


Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
32 KB Flash memory dan pada arduino memiliki bootloader
yang menggunakan 2
KB dari flash memori sebagai bootloader.

Memiliki EEPROM (Electrically Erasable Programmable

Read Only Memory) sebesar 1KB sebagai tempat


penyimpanan data semi permanent karena EEPROM tetap
dapat menyimpan data meskipun catu daya dimatikan.
Memiliki SRAM (Static Random Access Memory) sebesar 2KB.

Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya


PWM (Pulse Width
Modulation) output.

Master / Slave SPI Serial interface.

Tampilan Arsitektur ATMEGA 328


Data Bus 8--0lt
Flash
PrO!J<llll
Memory

Program

Status
and Control

Counter

I
g'

<II

Control LlleS

P\il)()Se
SPJ Regtstrers

u.-.1

~
~
~
~

;;;

<
~

Watctldog
TImer
Ana tog
ComparalDf

<

'g

tnterrupl
Unit

34> x 8
General

IJO MOC1Ule1

Data
SRAM

llO Module 2
110 Module n

EEPROM

IJO I.Jiles

Peta Memori Mikrokontroller AVR


Program Memory

Data Memory
$000

Data Memory

soooo

soooo

32 Gen. Purpose
Working Registers S001F

S0020

64 110 Registers

P<ogram Flash
(2K/4K

x 16)

EEPROM

(2561512

S005F

l(

8)

$0060

Internal SRAM
(2561512 x 8)

.._

S7FFISFFF

-----.S015F/S025F

S1 F/SFF

Konstruksi mikrokontroler ATMega 328


Mikrokontroler ATmega328 memiliki 3 jenis memori,
yaitu memori program, memori data dan memori
EEPROM. Ketiganya memiliki ruang sendiri dan
terpisah.

a. Memori program
ATmega328 memiliki kapasitas memori progam
sebesar 8K byte yang terpetakan dari alamat 0x0000
0x3FFF dimana masing-masing alamat memiliki lebar
data 32 bit. Memori program ini terbagi menjadi 2
bagian yaitu bagian program boot dan bagian program
aplikasi.

b. Memori data
Memori data ATmega328 terbagi menjadi 3 bagian yaitu
register serba guna, register I/O dan SRAM. ATmega328
memiliki 32 register serba guna, 64 register I/O yang
dapat diakses sebagai bagian dari memori RAM
(meng gunakan instuksi LD atau ST) atau dapat juga diakses
sebagai I/O
(menggunakan instruksi IN atau OUT), dan 2048 byte
memori data SRAM.

c. Memori EEPROM
ATmega328 memiliki memori EEPROM sebesar 1K byte
yang terpisah dari memori program maupun memori
data. Memori EEPROM ini hanya dapat diakses dengan
menggunakan register-register I/O yaitu register
EEPROM Address, register EEPROM Data, dan register
EEPROM Control. Untuk mengakses memori EEPROM ini

diperlakukan seperti mengakses data eksternal, sehingga


waktu eksekusinya relatif lebih lama bila dibandingkan
dengan mengakses data dari SRAM.

Konfigurasi PIN ATMega328


(PCINT 14/RESET) PCG

(PCINT161RXO) PDQ
(PCI T17'TXO) PD I
(PCINT t8nNTO) PD2
(PCINT19/0C2BnNT 1) P03
(PCI T20/XCK/TO) P04

.2,2,

(PCI T61XTAL 1/TOSC1)


(PCI T7/XTAL2/TOSC2)
(PCINT21/0COBfT 1)
(PCI T22/0COA/AINO)
(PCI T23/AIN 1)
(PCINTO/CLKORCP1)

vcc

28

4
5

27
26
25
24

23

GND

G D
PBG
P87
POS
PD6
PD7
PBO

PCS (ADCS/SCUPCINT 13)


PC~ i(ADC4/SDAFPCI T 12)
PC3 (ADC3/PCINTt1)
PC2(AOC2/PCINT10)
PC 1 1(AOC llPCI NT9)
PCO (AOCO/PCJNT8)

20
10

\4

19
18
17
16
15

AREF

AVCC
PBS (SCKJPCINT5)
PB4 (MISO/PCINT4)
PB3 (MOSl/OC2A/PC! T3)
PB2 ~/OC1 B/PCINT2)
PB1 (OCIAIPCINTI)

Konfigurasi Port B
Pon Pin

Altern3te
XTAL2

PB7

PBS

Functions

(Chip Clock Oscillator pin 2)

TOSC2 (Timer Oscillator pin 2)


PCINT7 (Pin Change Interrupt 7)

XTAL 1 (Chip Clock Oscillator pin I or External clock input)


TOSC1 (Timer Oscillator pin I)
PCINT6 (Pin Change Interrupt 6)

PB5

SCK (SPI Bus Master clock Input)


PCINTS (Pin Change Interrupt 5)

PB4

MISO (SPI Bus Master lnpuVSlave


Output) PCINT 4 (Pm Change Interrupt 4)

PB3

MOSI {SPI Bus Master OutpuVSlave Input)


OC2A (Timer/Counler2 Output Compare Match A Output)
PCINT3 (Pm Change Interrupt 3)

'SS (SPI
PB2

Bus Master Slave select)


OC18 (TirnerrCountert Output Compare Match B Output)
PCINT2 (Pin Change Interrupt 2)

P81

OC1A (Timer/Counler1 Output Compare Match A Output)


PCINT1 (Pin Change Interrupt 1)

PBO

ICP1 (T1mer/Counter1 Input Capture Input)


CLKO (DMded System Clock Output)
PCINTO (Pin Change Interrupt 0)

Konfigurasi Port C
Pon Pin
PC6
PC5

Affte~nate F WIAC1ion
RESET (Reset pin)

PCINT14 (Pin Change lnte~upt 14)


ADCS (ADC lnptJt Ctumrneil 5)
SCL 1(2-wire Serial Bus Clod( Line)
PCINT 13 (Pm Change lnterrupt 1 3)

ADC4 (ADC Input Chanrne14)


PC4

~C3

SDA (2-wrre Serial Bus Data l111putfOu1put Line)

PCINT12 (Pi11 Change lnte11J11Jpl 1:2)


ADCJ (ADC lnptJt Chianrne\l J)

PCINT11 (Pi11 Change lnte11J11Jpl 11)

PC2

ADC2 (ADC Input Channel 2J


PCINT10 (Pin Change Interrupt 10)

PC1

ADC1 (ADC Input Channel 1 l


PCINT9 (Pin Change Interrupt 9)

PCO

ADCO (ADC lnptJf Channel 0)


PCINT8
(Pin Change Jnlerrupl
9)

Konfigurasi Port D
Port Pin
P07

PD6

PD5

Alternate Function
AIN 1 (Analog Comparator Negative Input)
PClNT23 (Pm Change Interrupt 23)

- AINO (Aniilog Comparator Posmve Input)

OCOA (Timer/CounterO OUtput Compare Match A OUtput}


PCtNT22 (Pin Change Interrupt 22)
T1 (Timer/Counter 1 External Counter Input)
OCOB (Timer/CounterO Output Compare Match B Output)
PCINT21 (Pm Change In terrupt 21)

PD4

XCK(USART xternat Clock lnput/Outpu1)


TO (Timer/Counter O External Counter Input)
PCtITT20 (Pm Change Interrupt 20)

PD3

INT1 (External Interrupt 1 Input)


OC2B (Timer/Counter2 OUtput Compare Match B Output}
PCIITT19 (Pin Change Interrupt 19)

P02

P01
PDO

INTO (External Interrupt 0 Input)


PCINT18 (Pin Change Interrupt 18)
TXD (USART Output Pm)
PCINT17 (Pm Change Interrupt 17)
RXO (USART Input Pin)
PCINT16 (Pin Change Interrupt 16)

Penerapannya Pada Sistem Minimum


Pada dasarnya sebuah mikrokontroller tidak dapat
berdiri dengan sendirinya tanpa dihubungkan ke piranti
atau perangkat lainnya. Untuk membuat suatu
sistem minimum dapat dipergunakan berbagai macam jenis
mikrokontroller salah satunya ATMega 328 yang digunakan
pada Arduino Uno. Papan Arduino UNO menggunakan
mikrokontroler ATmega328. Papan ini mempunyai 14 pin
input/output digital (enam diantaranya dapat digunakan
untuk output PWM), enam buah input analog, 16 MHz
crystal oscillator, sambungan USB, ICSP header, dan tombol
reset. Hampir semua yang dibutuhkan untuk mendukung
mikrokontroler sudah tersedia, penggunaannya cukup
dengan menghubungkan ke komputer dengan menggunakan

kabel USB atau dengan memberikan daya menggunakan


adapter AC ke DC atau dengan baterai.

Konektor

Board Arduino UNO Dan Pemetaan pin Arduino UNO


terhadap ATmega328
Ardulno1fum:Uon
Digital Input/Output

USS

reset
digital pin 0 (RX)
M 1krokontroler

digital ptn 1 ~XJ


3 digital

(PCtNT'141R~r(11 Pall

Ardulno function
PC5 (AcQSCUPCINTIS)
anatog input 5

(PCINT1MlXD11 POO ~
~~INTi7fTX0)1 P01 I
(PC1N11BllNJIOJ1 P02

pen 2
1 digital pln3 (PWMJ (PCINT119002~1NTU POOi

PrA (AOCWD~INf12)

ena~input4

PC3(A~INr11)

analog ilput

= PC2 l~OC2/PCINl10)

3 anatoQ rnput
2

&

Pm (AOCOJPCINf1)1

d1giral pin 4

GNO

VC-0

GNO
ay5lal
rystal
Jack untu

Power

Batere/Adaptor

Ar 1log Input
D g tal Output

(PCINTW~L11f0SC1)PBB o
(PCINT1/XfAL2/fOSC2)~B71

(PCINT~/AINO~ P071
(POINl21IOOOBIT1
PD51 n

AVOO
. PBS (SOKIPCINT5)

anaJog

lnpu11

analog llput a
Gt\O
ana1~ reier.~nc:e

VGC

10

d1diggital
ita1 pen
pin 15 (PWMJ
11

digital ptn6 (PWM) (~Nf2~AfA[NO) POOi~ ll


d1gitai pln8

(PCINTOruOllCPO P100 w

PD2
(SS(t01BJPGnNT2) a~ltat d~~a1p1
pin 10 n
PB4(MISOIPCINT4)

1~

~PA'M~
PB3 (Ma311CC2AIF'Clm'3) ~ tal pin 11 [PVIM)

PB1 (001AIPCINT111

d~ilaJ ~n 91 (WJt,tt

Keuntungan Penggunaan
Arduino
Bengan sifat open source komponen yang kita pakai tidak
hanya tergantung pada satu merek, namun
memungkinkan kita bisa memakai semua komponen yang
ada dipasaran.

Tidak perlu perangkat chip programmer karena di


dalamnya sudah ada bootloader yang akan
menangani upload program dari komputer.

Sudah memiliki sarana komunikasi USB, sehingga


pengguna laptop yang tidak memiliki port
serial/RS323 bisa menggunakannya.

Bahasa pemrograman relatif mudah karena software


Arduino dilengkapi

dengan kumpulan library yang cukup lengkap.

Memiliki modul siap pakai (shield) yang bisa ditancapkan


pada board
Arduino. Misalnya shield GPS, Ethernet, SD Card, dan
lain-lain.

Aplikasi Dalam
Kehidupan

Sebagai password kunci elektronik


Sound alar m
Polar plotter
Lite brite LED clock
Game controller
Pengaktif seven segment
Mengendalikan motor dc
Alat ukur gas LPG
Thermometer digital
Robot line follower

PERTANYAAN
1.Rizal Wirawan
Apa maksud satu siklus clock pada fitur AVR ATMega 328 ?
maksudnya adalah satu siklus waktu dalam satu kali eksekusi.
2. Agung Anggrian
Pengertian PWM ?
Pulse Width Modulation (PWM) secara umum adalah sebuah cara
memanipulasi lebar sinyal yang dinyatakan dengan pulsa dalam satu periode,
untuk mendapatkan tegangan rata-rata yang berbeda. Bebarapa contoh aplikasi
PWM adalah pemodulasian data untuk telekomunikasi, pengontrolan daya atau
tegangan yang masuk ke beban, regulator tegangan, audio effect dan penguatan,
serta aplikasi-aplikasi lainnya.

3. Febriand Vans Iqbal


Masing-masing perbedaan dan fungsi dari TinyAVR, AT90Sxx,
ATMega?
MikrokontroEer A'VR

Men11ori

J,enis

Jumlah Pin

Flash

EEPROM

'RAM

T~nyA'VR

8-32

1-2K

64-128

0-128

AT90Sxx

20-44

1-8K

128-512

0-lK

A'Imega

32-64

8-128K

512-4K.

.512-4-K.

Anda mungkin juga menyukai