Download Makalah Mode Timer AVR disini.
ATMEGA 16
MODE TIMER AVR
ATMEGA 16
OLEH:
SULKIFLI YUNUS
323 13 004
II A ELEKTRONIKA
PROGRAM STUDI TEKNIK
ELEKTRONIKA
JURUSAN TEKNIK
ELEKTRO
POLITEKNIK NEGERI
UJUNG PANDANG
2015
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
DAFTAR ISI
1. KATA PENGANTAR
2. DAFTAR ISI
3. BAB I
a) Latar Belakang
b) Tujuan
c) Batasan Masalah
4. BAB II
a) AVR
b) ATMega16
c) Timer
5. BAB III
a) Kesimpulan
6. DAFTAR PUSTAKA
a) Latar Belakang
b) Tujuan
c) Batasan Masalah
4. BAB II
a) AVR
b) ATMega16
c) Timer
5. BAB III
a) Kesimpulan
6. DAFTAR PUSTAKA
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/ 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.
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.
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 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
· 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
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
· Set-up akses memori eksternal
· Identifikasi sumber reset untuk chip
· Inisialisasi port input/output
· Inisialisasi interupsi eksternal
· Inisialisasi Timer/Counter
· Inisialisasi port input/output
· 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 memori dalam serpih yang sama dengen prosesornya (in chip).
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
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
· 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. 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.
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
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 di bawah ini
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.
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.
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
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
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.
BAB III
PENUTUP
A. Kesimpulan
AVR ATMEGA16 memiliki tiga
buah Timer/Counter, yaitu: Timer 0 (8 bit), Timer 1
(16 bit) dan Timer 2 (8 bit). Timer merupakan peripheral yang tertanam dalam
Mikrokontroler yang berfungsi sebagai pewaktu atau delay kapan perintah akan
dijalankan, Timer sendiri memiliki beberapa register yang berfungsi sebagai control
register A, control register B dan interrupt mask. Register
– register pada Timer/Counter 1 yang berfungsi untuk mengatur timer
dan mode operasinya.
DAFTAR PUSTAKA
Kampung Multimedia,
“Pengertian CodeVisionAVR” https://kampungmultimedia.wordpress.com/2013/05/06/pengertian-code-vision-avr/ Akses
13.39 WITA
Wikipedia, “ATMega16”
Rangga Putra
“Microcontroller Blog”
https://ranggamicrocontroller.wordpress.com/2012/12/21/timercounter-pada-microcontroller-atmel-avr/ Akses 13.40 WITA
Tidak ada komentar
Posting Komentar