INPUT/OUTPUT
Nama Kelompok :
ANDRO SYAHREZA 175090807111007
DAFFA PRATAMA 175090807111008
ALDO DWIVA ZUSKA 175090807111009
GREGORIUS IVAN S 175090807111010
AFISINDIKA F 175090807111011
NIDYA TIANA 175090807111012
FAHMI NAUFAL H 175090807111013
RIZQI AMALIA 175090807111014
PENDAHULUAN
Tujuan dari praktikum tentang mikrokontroller adalah untuk memahami konsep dasar
proses input/output pada mikrokontroller Atmega16.
Mikrokontroler AVR (Alf and Vegards Risc processor) dari Atmel ini menggunakan
arsitektur RISC (Reduced Instruction Set Computer) yang artinya prosesor tersebut memiliki
set instruksi program yang lebih sedikit dibandingkan dengan MCS-51 yang menerapkan
arsitektur CISC (Complex Instruction Set Computer). Hampir semua instruksi prosesor RISC
adalah instruksi dasar (belum tentu sederhana), sehingga instruksi-instruksi ini umumnya hanya
memerlukan 1 siklus mesin untuk menjalankannya. Kecuali instruksi percabangan yang
membutuhkan 2 siklus mesin. RISC biasanya dibuat dengan arsitektur Harvard, karena
arsitektur ini yang memungkinkan untuk membuat eksekusi instruksi selesai dikerjakan dalam
satu atau dua siklus mesin, sehingga akan semakin cepat dan handal. Proses downloading
programnya relatif lebih mudah karena dapat dilakukan langsung pada sistemnya. Sekarang ini,
AVR dapat dikelompokkan menjadi 6 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx,
keluarga ATmega, keluarga AT90CAN, keluarga AT90PWM dan AT86RFxx. Pada dasarnya
yang membedakan masingmasing kelas adalah memori, peripheral, dan fungsinya, sedangkan
dari segi arsitektur dan instruksi yang digunakan hampir sama (Risal, 2017).
Port masukan dan keluaran digital memungkinkan kita untuk memasukkan data digital
ke mikokontroller serta mendapatkan data digital dari mikrokontroler. Mikrokontroler
ATMEGA16 memiliki 4 port I/O digital, yang masing masing dinamai Port A, Port B, Port C,
dan Port D. Masing-masing dari port ini memiliki 8 saluran dan angka 0 sampai 7 digunakan
untuk menandai masing-masing saluran pada port. Contoh, Port A memiliki saluran-saluran
yang ditandai sbb: PA0, PA1,PA3, ..., PA7. Dengan 4 port yang masing-masing terdiri dari 8
saluran. Maka total saluran I/0 digital yang tersedia berjumlah 32 saluran (Dharmawan, 2017).
Data Direction Register (DDR): Setiap port dua arah memiliki DDR sendiri, yang berisi
satu bit untuk setiap pin port. Fungsi pin (input atau output) ditentukan oleh kliring atau
mengatur bitnya di DDR. Pin port yang berbeda dapat dikonfigurasi secara berbeda, demikian
pula halnya sangat oke untuk memiliki tiga pin yang dikonfigurasi untuk output dan
menggunakan lima lainnya sebagai input. Setelah reset, bit DDR umumnya diinisialisasi ke
input. Membaca register mengembalikan nilainya.
Port Register (PORT): Register ini digunakan untuk mengontrol level tegangan pin
output. Dengan asumsi pin telah dikonfigurasikan ke output, maka jika bitnya di register PORT
diatur, pin akan tinggi; jika bit dibersihkan, pin akan rendah. Untuk menghindari menimpa bit
lain di port saat pengaturan bit tertentu, biasanya yang terbaik adalah menggunakan operasi bit
controller. Kalau tidak, kamu harus menggunakan akses baca-modifikasi-tulis dan karenanya
harus memastikan bahwa akses ini tidak terganggu. Untuk pin output, membaca register
mengembalikan nilai yang telah Anda tulis. Untuk pin input, tombol fungsi tergantung pada
pengontrol. Beberapa pengontrol memungkinkan Anda membaca status input pin melalui
register port. Pengontrol lain, mis. ATmega16, gunakan bit port untuk yang lain tujuan jika pin
yang sesuai diatur ke input, jadi di sini Anda akan membaca kembali nilai Anda telah menulis
ke register.
Register Input Port (PIN): Register PIN umumnya hanya-baca dan berisi kondisi saat
ini (tinggi atau rendah) dari semua pin, apakah dikonfigurasi sebagai output atau sebagai input.
Ini digunakan untuk membaca status pin input, tetapi juga dapat digunakan untuk membaca
status pin output untuk memverifikasi bahwa output diambil dengan benar. Menulis ke register
ini umumnya tidak berpengaruh.
Daftar I / O :
• Setiap port memiliki register sendiri. Oleh karena itu, port A memiliki register DDRA,
PORTA, PINA; port B telah mendaftarkan DDRB, PORTB, PINB; dan seterusnya.
(Weiss, 2007).
Sebagian besar CPU dan memori tidak lebih dari transfer register yang rumit mesin,
mampu shunt Bytes dari satu tempat ke tempat lain. Maka akan datang sebagai tidak
mengejutkan bahwa I / O, sekali lagi, melibatkan transfer register. Ingatlah bahwa CPU dapat
output ke dan input dari memori menggunakan bus alamat dan dekoder untuk memilih register
tertentu dalam memori, bus data untuk mentransfer konten register ke dalam atau keluar dari
CPU, dan bus kontrol untuk membawa sinyal seperti di Baca, Tulis, dan Output Enable.
Gagasan yang sama dapat dieksploitasi untuk memilih perangkat tertentu untuk output atau
input (Sangani,2014).
BAB II
METODOLOGI
2.1 Alat dan Komponen
3.2 Pembahasan
Aplikasi atau software Atmel Studio, Extreme Burner, dan Zadiq diunduh pada
perangkat laptop/PC. Setelah selesai diunduh, program dibuat dan diketik pada aplikasi Atmel
Studio agar PORTC pada ATMEGA16 dapat diset sebagai keluaran LED sebagai penandanya.
Lalu, kabel USB ASP dihubungkan dari mikrokontroler ke perangkat laptop. Kemudian setelah
dihubungkan, program yang ada pada Atmel Studio dikonversi menggunakan aplikasi Extreme
Burner dan diinput ke dalam mikrokontroler. Setelah program dikonversi dan dimasukkan ke
dalam mikrokontroler, amatilah apa yang terjadi pada mikrokontroler ATMEGA16 tersebut.
3.2.2.1 Mikrokontroler
Mikrokontroler pada dasarnya adalah komputer dalam satu chip, yang di dalamnya
terdapat mikroprosesor, memori, jalur Input/Output (I/O) dan perangkat pelengkap lainnya.
Kecepatan pengolahan data pada mikrokontroler lebih rendah jika dibandingkan dengan PC.
Pada PC kecepatan mikroprosesor yang digunakan saat ini telah mencapai orde GHz,
sedangkan kecepatan operasi mikrokontroler pada umumnya berkisar antara 1 – 16 MHz.
Begitu juga kapasitas RAM dan ROM pada PC yang bisa mencapai orde Gbyte, dibandingkan
dengan mikrokontroler yang hanya berkisar pada orde byte/Kbyte.
Meskipun kecepatan pengolahan data dan kapasitas memori pada mikrokontroler jauh
lebih kecil jika dibandingkan dengan komputer personal, namun kemampuan mikrokontroler
sudah cukup untuk dapat digunakan pada banyak aplikasi terutama karena ukurannya yang
kompak. Mikrokontroler sering digunakan pada sistem yang tidak terlalu kompleks dan tidak
memerlukan kemampuan komputasi yang tinggi.
1. Mikrokontroler AVR 8 bit yang memilliki kemampuan tinggi dengan konsumsi daya
rendah
2. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16MHz
3. Memiliki kapasitas Flash memori 16 Kbyte, EEPROM 512 Byte dan SRAM Kbyte
4. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D
5. CPU yang terdiri dari 32 buah register
6. Unit interupsi dan eksternal
7. Port USART untuk komunikasi serial
8. Fitur peripheral
Tiga buah Timer/Counter dengan kemampuan perbandingan (compare)
o Dua buah Timer/Counter 8 bit dengan Prescaler terpisah dan Mode Compare
o Satu buah Timer/Counter 16 bit dengan Prescaler terpisah, Mode Compare
dan Mode Capture
Real Time Counter dengan Oscillator tersendiri
Empat kanal PWM
8 kanal ADC
o 8 Single-ended Channel dengan keluaran hasil konversi 8 dan 10 resolusi
(register ADCH dan ADCL)
o 7 Diferrential Channel hanya pada kemasan Thin Quad Flat Pack (TQFP)
o 2 Differential Channel dengan Programmable Gain
Antarmuka Serial Peripheral Interface (SPI) Bus
Watchdog Timer dengan Oscillator Internal
On-chip Analog Comparator
9. Non-volatile program memory
Gambar 2.1 Konfigurasi Kaki (pin) ATMEGA16
Konfigurasi pin ATMEGA16 dengan kemasan 40 pin Dual In-line Package (DIP) dapat
dilihat pada Gambar 2.13. dari gambar diatas dapat dijelaskan fungsi dari masing-masing pin
ATMEGA16 sebagai berikut.
1. VCC merupakan pin yang brfungsi sebagai masukan catu daya
2. GND merupakan pin Ground
3. Port A (PA0 – PA7) merupakan pin input/output dua arah (full duplex) dan selain itu
merupakan pin masukan ADC
4. Port B (PB0 – PB7) merupakan pin input/output dua arah (full duplex) dan selain itu
merupakan pin khusus.
5. Port A (PC0 – PC7) merupakan pin input/output dua arah (full duplex) dan selain itu
merupakan pin khusus.
6. Port D (PD0 – PD7) merupakan pin input/output dua arah (full duplex) dan selain itu
merupakan pin khusus.
7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.
8. XTAL1 dan XTAL2, merupakan pin masukan external clock
9. AVCC merupakan pin masukan tegangan untuk ADC
10. AREF merupakan pin masukan tegangan referensi untuk ADC.
PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up
akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin
dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn
diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila
PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika
0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output
high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up
enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0).
Register PINx dipakai untuk membaca data pada port ketika DDRx diset sebagai input.
Bit PINxn terdapat pada I/O address PINx.
Contoh:
PENUTUP
4.1 Kesimpulan
FAHMI MANA
4.2 Saran
Saran untuk praktikum ini yaitu para praktikan diharap mengerti mengenai materi yang
akan dipraktekan agar praktikum dapat berjalan dengan lancar dan hasil sesuai dengan
keinginan.
DAFTAR PUSTAKA
RIRIS MANA
Arnold, Bradford Henry. 1962. Logic and Boolean Algebra. Mineola: Dover Publications,
Inc.
Givant, Steven dan Paul Halmos. 2009. Introduction to Boolean Algebras. Oakland: Spinger
Wahyuningrum, Tenia. 2016. Matematika Diskrit dan Penerapannya dalam Dunia Informasi.
Yogyakarta: Deepublish.
Whitesitt, J. Eldon. 2010. Boolean Algebra and Its Application.
Mineola: Dover Publications, Inc.
Widjanarka, Wijaya. 2006. Teknik Digital. Jakarta: Erlangga.
LAMPIRAN