KonfigurasiBPinBATmega8535B MikrokontrolerBAVRBATmega8535B

12 d. PB.3 AIN1 Analog Comparator Negative Input OC0 TimerCounter0 Output Compare Match Output e. PB.4 SS SPI Slave Select Input f. PB.5 MOSI SPI Bus Master OutputSlave Input g. PB.6 MISO SPI Bus Master InputSlave Output h. PB.7 SCK SPI Bus Serial Clock Fungsi khusus PORT B : a. MOSI, MISO, SCK berguna sebagai input downloader ISP. b. T0T1 sebagai input external timer atau external counter. c. AIN0 dan AIN1 sebagai input komparator, AIN0 sebagai input positif + sedangkan AIN1 sebagai input -. 3. PORTC Fungsi tambahan pada PORTC : a. PC.0 SCL Two-wire Serial Bus Clock Line b. PC.1 SDA Two-wire Serial Bus Data InputOutput Line c. PC.2 TCK JTAG Test Clock d. PC.3 TMS JTAG Test Mode Select e. PC.4 TDO JTAG Test Data Out f. PC.5 TDI JTAG Test Data In g. PC.6 TOSC1 Timer Oscillator Pin 1 h. PC.7 TOSC2 Timer Oscillator Pin 2 Fungsi khusus PORTC : a. SCL dan SDA merupakan pin yang dapat berfungsi sebagai mengatur interface serial 2 jalur. b. TCK merupakan pin yang dapat berfungsi sebagai operasi sinkronisasi dari JTAG ke TCK. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai IO. c. TMS merupakan pin yang dapat berfungsi sebagai pengontrol navigasi mesin TAP. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai IO. 13 d. TD0 merupakan pin yang dapat berfungsi sebagai output data serial dari data register. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai IO. e. TD1 merupakan pin yang dapat berfungsi sebagai input data serial ke register atau data register. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai IO. f. TOSC1 dan TOSC2 jika disambungkan dengan kristal dan bit ASR serta bit ASSR diatur “1” high untuk mengaktifkan asyncronous clocking dari TimerCounter2 maka pin ini dapat digunakan sebagai input penguat amplifier osilator. Dalam keadaan ini pin tidak dapat berfungsi sebagai IO. 4. PORTD Fungsi tambahan pada PORTD : a. PD.0 RXD USART Input Pin b. PD.1 TXD USART Output Pin c. PD.2 INT0 External Interrupt 0 Input d. PD.3 INT1 External Interrupt 1 Input e. PD.4 OC1B TimerCounter1 Output Compare B Match Output f. PD.5 OC1A TimerCounter1 Output Compare A Match Output g. PD.6 ICP1 TimerCounter1 Input Capture Pin h. PD.7 OC2 TimerCounter2 Output Compare Match Output Fungsi khusus PORTD : a. RXD dan TXD merupakan pin yang digunakan untuk komunikasi serial. b. INT0 dan INT1 merupakan pin yang digunakan sebagai input interupsi eksternal 0 dan input interupsi eksternal 1. c. OC1A dan OC1B merupakan output untuk PWM mode fungsi timer dan OC1A juga berfungsi sebagai output eksternal dari pembanding timercounter A serta OC1B juga berfungsi sebagai output eksternal dari pembanding timercounter B. d. ICP1 merupakan pin yang berfungsi sebagai penampung input timercounter 1. e. OC2 merupakan pin yang dapat berfungsi sebagai output untuk PWM mode fungsi timer dan OC2 juga berfungsi sebagai output eksternal dari pembanding timercounter. 14

2.4.4. Reset ATmega8535B

Pin reset pada AVR adalah aktif low. Maksudnya reset mikrokontroler akan terjadi jika pin reset diberi logika 0. Reset memiliki 2 fungsi, yaitu : 1. Membuat semua pin dalam kondisi tri-state atau high impedance kecuali pin XTAL, menginisialisasi register IO, dan meng-set counter progam kembali ke nol. 2. Memasuki mode program. Gambar 2.9 menunjukkan rangkaian reset pada ATmega8535 yang umum digunakan. Pada mikrokontroler sudah terdapat Reset Pull-up Resistor sebesar 30 kΩ sampai 60 kΩ [11]. Rangkaian reset memerlukan tambahan komponen berupa push-button reset dan kapasitor. Kapasitor digunakan untuk melindungi pin reset dari noise dan proteksi tambahan pada pin reset. Gambar 2.10 menunjukkan kurva pengisian dan pengosongan yang terjadi pada kapasitor. GambarB2.9BRangkaian ResetBATmega8535B GambarB2.10BKurvaBPengisianBdanBPengosonganBKapasitorB[12]B a. KuvaBPengisianBKapasitorB

b. KurvaBPengosonganBKapasitorB

a. b. 15 Ketika kapasitor melakukan pengisian atau pengosongan, sebuah waktu tertentu dibutuhkan kapasitor untuk proses pengisian penuh atau pengosongan penuh. Waktu tertentu itu disebut dengan RC Time Constant . Persamaan 2.10 menunjukkan perhitungan RC Time Constant  [12]. = . 2.10 Persamaan 2.11 menunjukkan persamaan umum saat pengisian kapasitor. = . 1 − 2.11 Sedangkan persamaan 2.12 menunjukkan persamaan umum saat pengosongan kapasitor. = . 2.12 Proses pengosongan kapasitor dipergunakan dalam sistem reset pada mikrokontroler. Berikut ini keterangan simbol huruf pada persamaan 2.10 sampai persamaan 2.12 :  : time constant detik R : nilai resistor ohm C : nilai kapasitor Farad vC : tegangan kapasitor volt VF : final voltage volt Vi : initial voltage volt t : waktu pengisian pengosongan detik

2.4.5. TimerCounterBATmega8535B

ATmega8535 mempunyai timercounter yang berfungsi sebagai berikut : 1. Melaksanakan tugas tertentu secara berulang mode normal. 2. Menghitung panjang pulsa input capture. 3. Menghitung banyaknya event sebagai counter. 4. Mengendalikan kecepatan motor DC PWM. 5. Membuat penundaan waktu delay. 6. Sinyal generator gelombang kotak. Komponen utama timercounter adalah sebuah register yang bertugas hanya berhitung dari 0 sampai batas maksimumnya, register ini pada AVR disebut register TCNT. Misalnya sebuah register TCNT pada AVR adalah 8 bit, maka nilai maksimunya adalah 255. Register yang digunakan untuk mendukung operasi timercounter pada AVR : 1. Register TCNT = register pencacah dari 0 sampai nilai maksimum ditentukan. 16 2. Register TCCR = untuk pengaturan mode operasi timercounter. 3. Register TIMSK = untuk memilih timercounter mana yang aktif. 4. Register TIFR = untuk mengetahui adanya interupsi akibat operasi timercounter. 5. Register OC output compare = untuk menyimpan nilai pembanding dengan nilai pada register TCNT. Pengaturan timercounter pada register TCCRn, dengan n adalah nomor timercounter, misal : ingin menggunakan Timer0 maka yang diatur adalah TCCR0. Perbedaan yang mendasar antara timer dan counter adalah pada sumber clock-nya. Jika timer, sumber clock-nya berasal dari internal mikrokontroler dalam hal ini berasal dari kristal. Sedangkan untuk counter sumber clock-nya berasal dari luar mikrokontroler eksternal Pin T, sebagai contoh dari sensor. Ketika difungsikan sebagai timer, maka register penampung tersebut berisikan jumlah waktu yang terlampaui tiap selang waktu tertentu. Besar selang waktu tersebut dapat di-setting sesuai dengan kebutuhan. Jika dipakai sebagai counter, maka register penampung tersebut digunakan untuk menyimpan data hasil perhitungan terakhir. Saat difungsikan sebagai counter, maka masuk melewati pin T0 dan T1. Pemilihan sumber clock ada pada bit CS pada register TCCR. ATmega8535 memiliki fasilitas 3 buah timercounter yaitu timercounter0 8 bit, timercounter1 16 bit, dan timercounter2 8 bit [8],[11]. Delapan bit dan 16 bit adalah jumlah data yang bisa ditampung pada register penampungnya. Ketiga timercounter tersebut beserta fiturnya adalah : 1. TimerCounter0 TimerCounter0 adalah 8 bit TimerCounter dengan fitur sebagai berikut : a. Delapan bit TimerCounter 1 kanal. b. Auto reload, yaitu timer akan dinolkan kembali saat match compare. c. Dapat menghasilkan pulsa PWM dengan glitch-free. d. Frequence generator. e. External event counter. f. Prescalar 10 bit untuk time. g. Membangkitkan interupsi saat timer overflow dan atau match compare. 2. TimerCounter1 TimerCounter1 adalah 16 bit TimerCounter dengan fitur sebagai berikut : a. 16 bit TimerCounter.