MODE TIMER AVR ATMEGA 16 OLEH: SULKIFLI YUNUS 323 13 004 II A ELEKTRONIKA PROGRAM STUDI TEKNIK ELEKTRONIKA
MODE TIMER AVR
ATMEGA 16
OLEH:
SULKIFLI YUNUS
323 13 004
II A ELEKTRONIKA
PROGRAM STUDI TEKNIK ELEKTRONIKA
KATA PENGANTAR
Puji syukur penyusun panjatkan ke hadirat Allah
Subhanahu wataala, karena berkat rahmat-Nya penyusun
bisa menyelesaikan makalah yang berjudul Mode Timer AVR
ATMega 16. Makalah ini diajukan guna memenuhi tugas
mata kuliah Mikrokontroler.
Penyusun mengucapkan terima kasih kepada semua
pihak yang telah membantu sehingga makalah ini dapat
diselesaikan tepat pada waktunya. Makalah ini masih
jauh dari sempurna, oleh karena itu, kritik dan saran
yang bersifat membangun sangat kami harapkan demi
sempurnanya makalah ini.
Semoga makalah ini memberikan informasi bagi
khalayak banyak dan bermanfaat untuk pengembangan
wawasan dan peningkatan ilmu pengetahuan bagi kita
semua.
Makassar, 2 Mei 2015
Penyusun
i
DAFTAR ISI
1. KATA PENGANTAR..............................................................................i
2. DAFTAR ISI..........................................................................................ii
3. BAB Ia) KATA PENGANTAR
.................................................
.....................1b) TUJUAN...........................................
..............................................1c) BATASAN MASALAH
.................................................
...................14. BAB II
a) CodeVisionAVR.............................................................................2
b) ATMega16......................................................................................4
c) TIMER............................................................................................6
5. BAB IIIa) KESIMPULAN.......................................
.......................................116. DAFTAR PUSTAKA
....................................................
.......................12
ii
BAB I
PENDAHULUAN
A. LATAR BELAKANG
Timer merupakan peripheral yang memiliki fungsi
sebagai pewaktu atau kapan suatu perintah yang
diberikan akan dieksekusi. Pada ATMega16, terdapat
tiga buah Timer/Counter, yaitu: Timer 0 (8 bit), Timer 1
(16 bit) dan Timer 2 (8 bit). Dalam pengaplikasiannya
timer banyak digunakan sebagai pewaktu pada beberapa
hardware seperti pengontrol suatu sistem.
B. TUJUAN
a. Mengenal aplikasi CodevisionAVR dari Atmel.
b. Mengetahui secara garis besar arsitektur
Atmega16.
c. Mengetahui Register Timer pada Atmega16.
C. BATASAN MASALAH
a. CodeVisionAVR merupakan program aplikasi yang
dirancang untuk menerjemahkan seluruh perintah
dan bahasa ANSI C, dan memungkinkan untuk
melakukan transfer program kedalam chip
mikrokontroler setelah proses kompilasi.
b. Atmega16 merupakan mikrokontroler keluarga AVR
dengan 32 register general-purpouse, timer/
1
counter dengan metode compare, dengan menggunakan
arsitektur Harvard.
c. Timer merupakan peripheral yang tertanam didalam
mikrokontroler yang berfungsi sebagai pewaktu
atau mengatur kapan perintah akan dijalankan
(delay), dan juga berfungsi sebagai osilator,
PWM, dan ADC.
1
BAB II
PEMBAHASAN
1. CodeVision AVR
Gambar 1. CodeVisionAVR
CodeVisionAVR merupakan sebuah cross-compiler C,
Integrated Development Environtment (IDE), dan
Automatic Program Generator yang didesain untuk
mikrokontroler buatan Atmel seri AVR. CodeVisionAVR
dapat dijalankan pada sistem operasi Windows 95, 98,
Me, NT4, 2000, dan XP.
Cross-compiler C mampu menerjemahkan hampir semua
perintah dari bahasa ANSI C, sejauh yang diijinkan
oleh arsitektur dari AVR, dengan tambahan beberapa
fitur untuk mengambil kelebihan khusus dari
arsitektur AVR dan kebutuhan pada sistem embedded.
2
File object COFF hasil kompilasi dapat digunakan
untuk keperluan debugging pada tingkatan C, dengan
pengamatan variabel, menggunakan debugger Atmel AVR
Studio.
IDE mempunyai fasilitas internal berupa software
AVR Chip In-System Programmer yang memungkinkan Anda
untuk melakukan transfer program kedalam chip
mikrokontroler setelah sukses melakukan
kompilasi/asembli secara otomatis. Software In-
System
2
Programmer didesain untuk bekerja dengan Atmel
STK500/AVRISP/AVRProg, Kanda Systems STK200+/300,
Dontronics DT006, Vogel Elektronik VTEC-ISP,
Futurlec JRAVR dan MicroTronics TCPU/Mega2000
programmers/development boards.
Untuk keperluan debugging sistem embedded, yang
menggunakan komunikasi serial, IDE mempunyai
fasilitas internal berupa sebuah Terminal. Selain
library standar C, CodeVisionAVR juga mempunyai
library tertentu untuk:
Modul LCD alphanumeric
Bus I2C dari Philips
Sensor Suhu LM75 dari National Semiconductor
Real-Time Clock: PCF8563, PCF8583 dari Philips,
DS1302 dan DS1307 dari Maxim/Dallas Semiconductor
Protokol 1-Wire dari Maxim/Dallas Semiconductor
Sensor Suhu DS1820, DS18S20, dan DS18B20 dari
Maxim/Dallas Semiconductor
Termometer/Termostat DS1621 dari Maxim/Dallas
Semiconductor
EEPROM DS2430 dan DS2433 dari Maxim/Dallas
Semiconductor
SPI
Power Management
Delay
Konversi ke Kode Gray
3
CodeVisionAVR juga mempunyai Automatic Program
Generator bernama CodeWizardAVR, yang mengujinkan
Anda untuk menulis, dalam hitunga menit, semua
instruksi yang diperlukan untuk membuat fungsi-
fungsi berikut:
Set-up akses memori eksternal
Identifikasi sumber reset untuk chip
Inisialisasi port input/output
3
Inisialisasi interupsi eksternal
Inisialisasi Timer/Counter
2. ATMEGA16
Mikrokontroler adalah sebuah sistem komputer
lengkap dalam satu serpih (chip). Mikrokontroler
lebih dari sekedar sebuah mikroprosesor karena sudah
terdapat atau berisikan ROM (Read-Only Memory), RAM
(Read-Write Memory), beberapa bandar masukan maupun
keluaran, dan beberapa peripheral seperti
pencacah/pewaktu, ADC (Analog to Digital converter), DAC
(Digital to Analog converter) dan serial komunikasi.
Salah satu mikrokontroler yang banyak digunakan
saat ini yaitu mikrokontroler AVR. AVR adalah
mikrokontroler RISC (Reduce Instuction Set Compute) 8 bit
berdasarkan arsitektur Harvard. Secara umum
mikrokontroler AVR dapat dapat dikelompokkan menjadi
3 kelompok, yaitu keluarga AT90Sxx, ATMega dan
ATtiny. Pada dasarnya yang membedakan masing-masing
kelas adalah memori, peripheral, dan fiturnya Seperti
mikroprosesor pada umumnya, secara internal
mikrokontroler ATMega16 terdiri atas unit-unit
fungsionalnya Arithmetic and Logical Unit (ALU), himpunan
register kerja, register dan dekoder instruksi, dan
pewaktu beserta komponen kendali lainnya. Berbeda
dengan mikroprosesor, mikrokontroler menyediakan
4
Gambar 2. Datasheet ATMEGA16
Mikrokontroler ini menggunakan arsitektur Harvard
yang memisahkan memori program dari memori data,
baik bus alamat maupun bus data, sehingga
pengaksesan program dan data dapat dilakukan secara
bersamaan (concurrent).
Secara garis besar mikrokontroler ATMega16 terdiri
dari :
a. Arsitektur RISC dengan throughput mencapai 16
MIPS pada frekuensi 16Mhz.
b. Memiliki kapasitas Flash memori 16Kbyte, EEPROM
512 Byte, dan SRAM 1Kbyte
c. Saluran I/O 32 buah, yaitu Bandar A, Bandar B,
Bandar C, dan Bandar D.
d. CPU yang terdiri dari 32 buah register.
e. User interupsi internal dan eksternal
5
f. Bandar antarmuka SPI dan Bandar USART sebagai
komunikasi serial
g. Fitur Peripheral
Dua buah 8-bit timer/counter dengan prescaler
terpisah dan mode compare
5
Satu buah 16-bit timer/counter dengan
prescaler terpisah, mode compare, dan mode
capture
Real time counter dengan osilator tersendiri
Empat kanal PWM dan Antarmuka komparator
analog
8 kanal, 10 bit ADC
Byte-oriented Two-wire Serial Interface
Watchdog timer dengan osilator internal
3. TIMER
Mikrokontroler AVR ATMEGA16 memiliki tiga buah
Timer/Counter, yaitu: Timer 0 (8 bit), Timer 1 (16 bit) dan
Timer 2 (8 bit). Namun, pada sub bab ini hanya akan
membahas mengenai Timer/Counter 1 saja. Timer/Counter 1
mempunyai keunggulan dibanding Timer/Counter 0 atau 2,
namun cara mengatur Timer 0, 1, 2 sama saja, yaitu pada
masing-masing registernya. Timer/Counter 1 dapat
menghitung sampai dengan 65536 Timer/Counter 0 atau 2
hanya sampai dengan 256. Selain itu, Timer 1 ini
memiliki mode operasi sebanyak 16 mode. Register pada
Timer ini dibagi menjadi beberapa register dengan fungsi
khusus, yaitu: control register A, control register B dan
interrupt mask. Register – register pada Timer/Counter 1 yang
berfungsi untuk mengatur timer dan mode operasinya.
6
Register tersebut mempunyai fungsi masing-masing
sebagai berikut.
a. Timer/Counter 1 Control Register A (TCCR1A)
Keterangan:
Bit 7 dan 6 : Compare Output untuk kanal A
Bit 5 dan 4 : Compare Output untuk kanal B
Bit COM1 ini mempunyai Compare Output Mode pada
setiap mode operasinya. Mode tersebut
mempengaruhi pin I/O OC1 A dan B.
6
Tabel 3.1
Compare Output Mode, Non-PWM
Tabel 3.2 Compare Output Mode, Fast PWM
Tabel 3.3 Compare Output Mode
Phase Correct dan Phase Correct & Frequency PWM
7
Bit 3 : Force Output untuk kanal A
Bit 2 : Force Output untuk kanal B
Bit 1 dan 0 : Waveform Generation Mode
Mode operasi sebanyak 16 mode, diatur dalam bit
WGM ini. Mode operasi tersebut ditunjukkan oleh
Tabel 2.8 di bawah ini
7
Tabel 3.3 Compare Output Mode
b. Timer/Counter Control Register 1B (TCCR1B)
Keterangan:
Bit 7 : Input Capture Noise Canceler, ketika bit ini
diset 1(high) maka Noise Canceler aktif dan
masukkan dari Input Capture Pin (ICP1)
terfilter.
Bit 6 : Input Capture Edge Select, bit ini digunakan
untuk trigger yang disebabkan oleh edge ICP1.
Jika bit ini diset 1 maka sebuah rising edge
(positif) akan men-trigger capture, Jika bit ini
diset 0 maka sebuah falling edge (negatif) akan
men-trigger capture.
8
Bit 5 :Reserved, bit ini akan digunakan pada tahap
pengembangan selanjutnya.
Bit 4 dan 3 : lihat deskripsi register TCCR1A.
Bit 2, 1 dan 0 : Clock Select, bit ini digunakan untuk
memilih jenis sumber clock untuk
digunakan pada suatu timer/counter.
8
Tabel 3.4 Deskripsi Clock Select Bit
c. TCNT1, digunakan untuk menyimpan nilai timer yang
diinginkan. TCNT1 dibagi menjadi 2 register 8 bit,
yaitu TCNT1H dan TCNT1L.
d. TIMSK dan TIFR, Timer Interrupt Mask Register (TIMSK)
dan Timer Interrupt Flag (TIFR) digunakan untuk
mengendalikan interrupt mana yang diaktifkan, dengan
cara melakukan setting pada TIMSK dan untuk
mengetahui interrupt mana yang sedang terjadi.
Keterangan:
Bit 7 : Timer/Counter2 Output Compare Match Interrupt Enable
Bit 6 : Timer/Counter2 Overflow Interrupt Enable
Bit 5 : Timer1 Input Capture Interrupt Enable
Bit 4 : Timer/CounterA Output Compare Match Interrupt Enable
9
Bit 3 : Timer/CounterB Output Compare Match Interrupt Enable
Bit 2 : Timer/Counter1 Overflow Interrupt Enable
Bit 1 : Timer/Counter0 Output Compare Match Interrupt Enable
Bit 0 : Timer/Counter0 Overflow Interrupt Enable
9
Keterangan:
Bit 7 : Output Compare Flag2
Bit 6 : Timer/Counter2 Overflow Flag
Bit 5 : Timer1 Input Capture Interrupt Flag
Bit 4 : Output Compare Flag1A
Bit 3 : Output Compare Flag1B
Bit 2 : Timer/Counter1 Overflow Flag
Bit 1 : Output Compare Flag0
Bit 0 : Timer/Counter0 Overflow Flag
e. OCR1n, Output Compare Register Timer 1 n (n = A, B)
merupakan register yang digunakan untuk
membangkitkan interupsi eksternal dengan
melakukan perbandingan (Output Compare) atau juga
dapat digunakan untuk membangkitkan bentuk
gelombang (PWM). Fungsi tersebut di atas
dikeluarkan oleh pin OC1n (n = A, B).
Setiap mode timer seperti CTC, Fast PWM, Phase Correct
PWM dan Phase and Frequency Correct PWM, mempunyai
persamaan untuk menghitung frekuensi (clock) yang
akan dihasilkannya.
10
BAB III
PENUTUP
A. KesimpulanAVR ATMEGA16 memiliki tiga buah Timer/Counter,
yaitu: Timer 0 (8 bit), Timer 1 (16 bit) dan Timer 2 (8bit). Timer merupakan peripheral yang tertanam dalamMikrokontroler yang berfungsi sebagai pewaktu ataudelay kapan perintah akan dijalankan, Timer sendirimemiliki beberapa register yang berfungsi sebagaicontrol register A, control register B dan interrupt mask. Register– register pada Timer/Counter 1 yang berfungsi untukmengatur timer dan mode operasinya.
11
DAFTAR PUSTAKA
Kampung Multimedia, “Pengertian CodeVisionAVR”
https://kampungmultimedia.wordpress.com/2013/05/06/peng
ertian-code-vision-avr/ Akses 13.39 WITA
Wikipedia, “ATMega16”
http://id.wikipedia.org/wiki/ATMega16 Akses 13.06 WITA
Rangga Putra “Microcontroller Blog”
https://ranggamicrocontroller.wordpress.com/
2012/12/21/timercounter-pada-microcontroller-atmel-avr/
Akses 13.40 WITA
Mochamad, - jbptunikompp-gdl-mochamadbo-22888-3-
babii.pdf
12