Rabu, 06 Mei 2015

Mode Timer ATMega16

Download Makalah Mode Timer AVR disini.


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      


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

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 
·        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”

Mochamad, - jbptunikompp-gdl-mochamadbo-22888-3-babii.pdf

Download Makalah Mode Timer AVR disini.

Tidak ada komentar

Posting Komentar