setting DDR pada atmega

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

[adinserter block=”1″]

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

cara setting ddr pada atmega 8

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

[adinserter block=”2″]

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

internal pull up pada atmega

 

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

[adinserter block=”3″]

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *