• Tidak ada hasil yang ditemukan

BAB II DASAR TEORI

2.6. Mikrokontroler ATMega 8

AVR Atmega 8 adalah mikrokontroler CMOS 8 bit berarsitektur RISC (Reduce

Instruction Set Computer) yang memiliki 8K byte in-System Programmable Flash.

Mikrokontroler dengan daya rendah ini mampu mengeksekusi instruksi dengan kecepatan maksimum 16MIPS pada frekuensi 16 MHz.

Berikut ini beberapa fitur yang dimiliki ATmega8 antara lain : 1. Kinerja tinggi dan rendah penggunaan daya.

2. Advance RISC Architecture. 3. EEPROM sebesar 512Bytes. 4. 1Kbyte internal SRAM.

5. Timer/Counter sebanyak 3 buah[11].

2.6.1 Konfigurasi pin ATmega 8

Gambar 2.7 Konfigurasi ATMega8[11]

ATmega 8 memiliki 28 pin, pin- pin berikut memiliki fungsi yang berbeda- beda, yaitu

1. VCC

Digital supply voltage. 2. GND

Ground.

Port B adalah 8 bit bit-directional I/O port dengan resistor pull-up internal. Sebagai input pin – pin yang terdapat pada port B yang secara eksternal diturunkan maka

akan mengeluarkan arus jika pull-up resistor diaktifkan. Bergantung pada clock pemilihan seting fuse bit, PB 6 dapat digunakan sebagai input kristal (inverting

oscillator amplifier) dan input ke rangkaian clock internal.PB7 dapat digunakan

sebagai output kristal (inverting oscillator amplifier). PB6 dab PB7 dapat digunakan sebagai I/O atau jika menggunakan Asyncronous Timer/Counter 2 maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer.

4. Port C (PC5..PC0)

Port C adalah 7 bit bi-directional I/O dengan resistor pull-up internal. Jumlah pin

hanya 7 buah, mulai dari pin C.0 sampai C.6. Sebagai pin input, pin port C secara eksternal diturunkan maka akan mengeluarkan arus jika pull-up resistor diaktifkan. 5. PC6/RESET

Jika RSTDISBL Fuse diprogram, PC6 digunakan sebagai I/O pin. Karakeristik dari pin PC6 berbeda dari pin lainnya dalam port C. Jika RSTDISBL Fuse tidak diprogram, PC6 digunakan sebagai input reset. Dan jika tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari pulsa minimum, maka akan menghasilkan kondisi reset.

6. Port D (PD7..PD0)

Port D adalah 8 bit bi-directional I / O port dengan resistor pull-up internal (dipilih

untuk setiap bit). Sebagai input, pin port D secara eksternal diturunkan maka akan mengeluarkan arus jika pull-up resistor diaktifkan.

7. AVcc

AVcc adalah pin supply untuk ADC (Analog to Digital Converter). Pin ini harus dihubungkan secara terpisah ke Vcc, karena pin ini dihubungkan ketika ADC (Analog to Digital Converter) digunakan.

8. AREF

AREF adalah pin referensi analog untuk ADC (Analog to Digital Converter)[11].

2.6.2 Timer ATMega8

ATMega 8 memiliki 3 buah timer, yaitu timer 2 timer 8-bit ( Timer / Counter 0 dan

2.6.2.1 Timer / Counter 1

Timer / Counter 1 digunakan untuk program yang akurat eksekusi waktu,

pembangkit gelombang dan pengukuran waktu sinyal[11]. Fitur utama Timer / Counter 1 pada ATMega8 adalah :

1. 16-bit desain (yaitu, memungkinkan 16-bit PWM). 2. Dua unit output pembanding bebas.

3. Sebagai pembangkit sinyal PWM. 4. Sebagai frekuensi generator.

5. Terdapat 4 sumber interupsi bebas ( TOV1, OCF1A, OCF1B dan ICF1).

2.6.2.2 Register Timer / Counter 1

Timer / Counter 1 Control Register A – TCCR1A

Tabel 2.1 Register TCCR1A[11]

Bit 7:6 – COM1A1:0: Compare Output Mode for Channel A Bit 5:4 – COM1B1:0: Compare Output Mode for Channel B

COM1A1:0 dan COM1A1:0 mengontrol perilaku keluaran pin ( masing – masing dari OC1A dan OC1B).

Tabel 2.3 Mode Fast PWM[11]

Tabel 2.4 Mode Phase Correct dan Frequency Correct PWM[11]

Bit 3 – FOC1A: Force Output Compare for Channel A Bit 2 – FOC1B: Force Output Compare for Channel B

Bit FOC1A / FOC1B hanya aktif ketika WGM13:0. Ketika bit ini aktif maka akan menentukan pada mode non-PWM.

Bit 1:0 – WGM11:0: Waveform Generation Mode

Dikombinasikan dengan WGM13:12 bit ini mengendalikan perhitungan urutan

counter, sumber untuk nilai maksimum (TOP) nilai counter dan jenis pembangkit

gelombang yang dipakai[11]. Penggunaan bit untuk mode operasi ini dapat dilihat pada tabel 2.5

Tabel 2.5 Mode Operasi [11]

Timer / Counter 1 Control Register B – TCCR1B

1. Bit 7 – ICNC1: Input Capture Noise Canceler

Pengaturan bit ini mengaktifkan Input Capture Noise Canceler. Ketika Input

Capture Noise Canceler diaktifkan, maka masukkan dari Input Capture Pin (ICP1)

disaring. Fungsi saring memerlukan 4 sampel yang sama pada masukkan pin ICP1 untuk dapat mengubah output.

2. Bit 6 – ICES1: Input Capture Edge Select

Bit ini memilih pemicu atau trigger pada Input Capture Pin (ICE1) yang

digunakan untuk menangkap sebuah capture. Ketika ICE1 bit ditulis ke nol, maka tepi pada saat turun atau jatuh (negatif) yang digunakan sebagai pemicu (trigger) dan ketika ICE1 ditulis ke satu, maka tepi pada saat naik (positif) yang digunakan sebagai pemicu.

3. Bit 5 – Reserved Bit

Bit ini tidak digunakkan.

4. Bit 4:3 – WGM13:12: Waveform Generation Mode

Lihat deskripsi register TCCR1A pada tabel mode operasi. 5. Bit 2:0 – CS12:10: Clock Select

WGM 13 WGM 12 (CTC1) WGM 11 (PWM11) WGM 10 (PWM 10)

Timer / Counter Mode of

Operation TOP Update of OCR1x

TOV1 Flag Set

On

0 0 0 0 Normal 0xFFFF Immediate MAX

0 0 0 1 PWM, Phase Correct, 8-bit 0x00FF TOP BOTTOM

0 0 1 0 PWM, Phase Correct, 9-bit 0x01FF TOP BOTTOM

0 0 1 1 PWM, Phase Correct, 10-bit 0x03FF TOP BOTTOM

0 1 0 0 CTC OCR1A Immediate MAX

0 1 0 1 Fast PWM, 8-bit 0x00FF BOTTOM TOP

0 1 1 0 Fast PWM, 9-bit 0x01FF BOTTOM TOP

0 1 1 1 Fast PWM, 10-bit 0x03FF BOTTOM TOP

1 1 0 0 PWM, Phase and Frequency Correct ICR1 BOTTOM BOTTOM

1 1 0 1 PWM, Phase and Frequency Correct OCR1A BOTTOM BOTTOM

1 1 1 0 PWM, Phase Correct ICR1 TOP BOTTOM

1 1 1 1 PWM, Phase Correct OCR1A TOP BOTTOM

1 1 0 0 CTC ICR1 Immediate MAX

1 1 0 1 (Reserved ) - -

-1 1 1 0 Fast PWM ICR1 BOTTOM TOP

Tiga bit ini digunakan untuk memilih sumber clock yang digunakan oleh Timer /

Counter[11]. Bit – bit uang digunakan untuk memilih sumber clock ditunjukkan

pada tabel 2.6.

Tabel 2.6 Sumber Clock Dengan Pemilihan bit[11]

2.6.2.3 Mode operasi Fast PWM

Mode fast PWM digunakan untuk mengendalikan lama t on dan t off pada register pembanding OCR1A atau OCR1B sehingga menghasilkan besarnya perubahan duty cycle.

Fast PWM ini berbeda dari pilihan PWM lain dengan operasi single – slope (satu arah),

dengan menghitung counter dari BOTTOM ke TOP kemudian kembali ke BOTTOM. Besarnya BOTTOM bernilai 0x0000 dan besarnya TOP dapat ditentukan sesuai dengan resolusi fast PWM tetap yaitu 8 bit, 9bit dan 10 bit (dapat dilihat pada tabel 2.4) atau dapat ditentukan melalui register ICR1 atau OCR1A. Resolusi minimum yang dapat dilakukan adalah 2bit (ICR1 atau OCR1A diatur ke 0x0003) dan resolusi maksimum yang dapat dilakukan adalah 16 bit (ICR1 atau OCR1A diatur ke maksimum). Resolusi PWM dalam bentuk bit dapat dihitung dengan menggunakan persamaan berikut :

( ) ( ) (2.5)

Diagram waktu untuk mode fast PWM ditunjukkan pada gambar 2.8. Pada gambar 2.8 menunjukkan ketika OCR1A atau ICR1 digunakan untuk mendefinisikan TOP pada mode fast PWM. Nilai TCNT1 dalam diagram waktu ditunjukkan sebagai histogram operasi single – slope (satu arah). Diagram termasuk gambar output non-inverving PWM dan inverting PWM. Tanda garis horizontal pendek pada TCNTn menunjukkan kondisi

compare match antara OCR1x denganTCNT1. Bit register TOV1 interrupt flag akan

Gambar 2.8 Diagram Waktu Mode Fast PWM[11]

Dalam mode fast PWM terdapat 2 jenis dilihat dari bentuk gelombangnya, yaitu

non-inverting dan inverting. Fast PWM non-inverting dapat dikendalikan oleh lama waktu

t on dan fast PWM inverting dapat dikendalikan oleh lama waktu t off. Frekuensi PWMuntuk output dapat dihitung dengan persamaan berikut :

( ) (2.6)

N merupakan prescale pembagi (1, 8, 64, 256, atau 1204)[11].

2.6.3 USART (Universal Synchronous and Asynchronous Serial Receiver

and Transmitter)

Universal synchronous and asynchronous serial receiver and transmitter (USART)

adalah perangkat komunikasi serial yang sangat fleksibel. Fitur utama adalah 1. Operasi full duplex (Serial bebas menerima dan mengirim register). 2. Operasi synchronous dan asynchronous.

3. Baud Rate generator dengan resolusi tinggi.

4. Mendukung serial frame dengan 5, 6, 7, 8 atau 9 DataBit dan 1 atau 2 BitStop. 5. Mode komunikasi multi-prosesor[11].

USART pengirim data buffer register dan USART penerima data buffer register berbagi alamat yang sama dengan I/O disebut sebagai USART Data Register atau UDR.

Transmit Data Buffer Register (TXB) akan menjadi tujuan untuk data ditulis ke UDR

Buffer Register (RXB). Transmitter buffer hanya dapat ditulis ketika UDRE flag pada

UCSRA register diatur. Jika data ditulis ke UDR ketika UDRE flag tidak diatur, maka akan diabaikan oleh USART Transmitter. Ketika data ditulis ke Transmitter buffer dan

Transmitter diaktifkan, Transmitter akan memuat data ke dalam Transmitter Shift Register

ketika Shift Register kosong. Data dengan ukuran 5 bit, 6 bit dan 7 bit akan diabaikan oleh transmitter dan di atur dengan menambahkan logika 0 pada bit bagian atas hingga bernilai 8 bit[11].

Pengaturan mode synchronous dan asynchronous diatur pada UMSEL (USART

Select Mode). Pengaturan bit pada UMSEL ini dapat dilihat pada tabel 2.7.

Tabel 2.7 Pengaturan Bit UMSEL[11]

Paritas dan StopBit diatur melalui bit UPM1:0 (Parity Mode) dan USBS ( Stop Bit

Select). Pengaturan bit Parity Mode dan Stop Bit Select dapat dilihat pada tabel 2.8 dan 2.9.

Tabel 2.8 Pengaturan Bit Parity Mode[11]

Tabel 2.9 Pngaturan Bit Stop Bit Select[11]

Pengaturan ukuran karakter akan diatur melalui UCSZ2:0 (Character Size). Pengaturan bit ukuran karakter UCSZ dapat dilihat pada tabel 2.10.

Tabel 2.10 Bit Pengaturan Ukuran Karakter[11]

Dokumen terkait