Top Banner
MODE TIMER AVR ATMEGA 16 OLEH: SULKIFLI YUNUS 323 13 004 II A ELEKTRONIKA PROGRAM STUDI TEKNIK ELEKTRONIKA
25

MODE TIMER ATMega16

Apr 07, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MODE TIMER ATMega16

MODE TIMER AVR

ATMEGA 16

OLEH:

SULKIFLI YUNUS

323 13 004

II A ELEKTRONIKA

PROGRAM STUDI TEKNIK ELEKTRONIKA

Page 2: MODE TIMER ATMega16

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI UJUNG PANDANG2015

2

Page 3: MODE TIMER ATMega16

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

Page 4: MODE TIMER ATMega16

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

Page 5: MODE TIMER ATMega16

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

Page 6: MODE TIMER ATMega16

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

Page 7: MODE TIMER ATMega16

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

Page 8: MODE TIMER ATMega16

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

Page 9: MODE TIMER ATMega16

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

Page 10: MODE TIMER ATMega16

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

Page 11: MODE TIMER ATMega16

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

Page 12: MODE TIMER ATMega16

memori dalam serpih yang sama dengen prosesornya (in

chip).

4

Page 13: MODE TIMER ATMega16

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

Page 14: MODE TIMER ATMega16

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

Page 15: MODE TIMER ATMega16

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

Page 16: MODE TIMER ATMega16

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

Page 17: MODE TIMER ATMega16

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

Page 18: MODE TIMER ATMega16

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

Page 19: MODE TIMER ATMega16

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

Page 20: MODE TIMER ATMega16

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

Page 21: MODE TIMER ATMega16

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

Page 22: MODE TIMER ATMega16

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

Page 23: MODE TIMER ATMega16

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

Page 24: MODE TIMER ATMega16

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

Page 25: MODE TIMER ATMega16

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