Pada artikel sebelumnya admin telah menjelaskan tentang cara memprogram input output pada atmega. Artikel kali ini merupakan lanjutan dari artikel tersebut yaitu tentang cara setting DDR pada atmega baik itu atmega 8, atmega 16, atmega 32, dan lain sebagainya dan acara memasang internal pull up pada atmega serta eksternal pull up
cara setting ddr pada atmega
Setting ddr pada atmega berfungsi untuk menentukan pin mana yang dijadikan input output serta menentukan pull up pada ic
untuk mengatur port tertentu sebagai input contoh sobat akan mengatur port B sebagai input maka kode yang harus dimasukkan pada CVAVR adalah
DDRB = 0x00;
kode 0x00 diatas adalah kode bilangan heksadesimal sobat dapat pula menggunakan bilangan desimal maupun biner seperti postingan sebelumnya
kode seperti diatas akan mengatur seluruh port B menjadi Input. Seperti yang telah dibuat ketahui bahwa Port B pada mikrokontroler terdiri 8 buah yaitu dari PB0 sampai PB7
mengatur sebagian port menjadi input dan sebagian menjadi output
Sobat dapat juga mengatur sebagian port menjadi input dan sebagian menjadi output. Contoh sobat dapat membuat PB0, PB1, PB2, PB3 menjadi input sedangkan PB4, PB5, PB6, PB7 menjadi output
Untuk mengatur konfigurasi port seperti diatas maka sobat dapat memasukkan kode
DDRB = 0x0F; atau DDRB = 15; atau DDRB = 0b00001111
untuk mempermudah sobat dapat menggunakan format bilangan desimal saja
Arti kode 0b00001111 diatas adalah sebagai berikut
– kode 0b merupakan tanda bahwa kode dinyatakan dalam format bilangan biner sedangkan kode 00001111 menyatakan nilai biner itu sendiri
– digit paling kiri merupakan LSB (nilai terkecil) dan digit paling kanan merupakan MSB (nilai terbesar)
– digit dari kiri ke kanan menyatakan nilai PB0 sampai PB7. Pada contoh diatas nilai PB0 = 0 (sebagai input), PB1 = 0 (sebagai input), PB2 = 0 (sebagai input), PB3 = 0 (sebagai input), PB4 = 1 (sebagai output), PB5 = 1 (sebagai output), PB6 = 1 (sebagai output), PB7 = 1 (sebagai output)
internal pull up pada atmega
setiap pin I/O pada atmega memiliki internal pull up. Adapun fungsi dari internal pull up pada atmega adalah untuk menjaga kondisi input supaya tidak mengambang. Sobat dapat menggunakan internal pull up maupun menggunakan eksternal pull up menggunakan resistor
Setiap input harus mempunyai logika 1 atau 0. dengan menggunakan internal pull up pada atmega maka pin input akan berlogika 1 ketika pin tidak memiliki dapat logika dari saklar.
Resistor internal pull up atmega menghubungkan pin I/O dengan Vcc
Contoh jika sobat akan menjadikan PORT B menjadi input dan menggunakan internal pull up maka kodenya adalah sebagai berikut
DDRB = 0x00;
PORTB = 0x00;
jika sobat menggunakan internal pull up maka sobat tidak memerlukan resistor eksternal sedangkan jika sobat mematikan internal pull up maka sobat harus menggunakan resistor eksternal pada input
Contoh rangkaian berikut menunjukkan ic atmega dengan internal pull up. Saat saklar tidak ditekan maka semua output akan berlogika 1
Contoh rangkaian dengan eksternal pull up adalah sebagai berikut. Saat saklar tidak ditekan maka semua input akan berlogika 0
perbedaan utama antara rangkaian yang menggunakan internal pull up dan eksternal pull up adalah jika menggunakan internal pull up maka diperlukan logika rendah untuk pada input untuk membuat rangkaian bekerja sedangkan untuk rangkaian yang menggunakan eksternal pull up sebaliknya yaitu diperlukan logika tinggi pada input untuk membuat rangkaian bekerja