Anda di halaman 1dari 10

LAPORAN PENGGUNAAN PORT I/O ATMEGA 8535 SEBAGAI

KELUARAN

DISUSUN OLEH :

BERNADETH ROSALIA CIKA ANDHINI 185114073

DOSEN PENGAJAR :

IR. TJENDRO, M.KOM

PROGRAM STUDI TEKNIK ELEKTRO

UNIVERSITAS SANATA DHARMA

YOGYAKARTA
I. Rangkuman Penggunaan Port I/O Atmega8535 sebagai Keluaran

Pada ATMEGA8535 terdapat port atau pin yang berjumlah 40 pin seperti
pada gambar dibawah ini, sedangkan untuk port I/O nya sendiri hanya ada 32.
Sama seperti IC, setiap port pada atmega8535 juga memiliki nama dan alamat
masing-masing. Port Input Output (PIO) berfungsi untuk menghubungkan
mikroprosesor dengan perangkat luar, seperti papan ketik, sensor, saklar sebagai
perangkat masukan dan layar LCD, penggerak motor, penggerak lampu sebagai
perangkat keluaran.

Terdapat empat group PIO dan setiap group memiliki 8 kaki (pin).
Masing-masing group diberikan nama PORT A, PORT B, PORT C dan PORT D.
Pengelompokkan tersebut hanya dikelompokkan berdasarkan nama sebagai
identitas port atau pin. Selain sebagai input/output masing masing port juga
memiliki fungsi yang lain. PORTA dapat difungsikan sebagai ADC (Analog to
Digital Converter), PORTBdapat difungsikan sebagai SPI (Serial Peripheral
Interface) communication.

Lokasi I/O diakses dengan instruksi IN dan OUT, untuk mentransfer data
antara 32 register I/O dan ruang register serbaguna (GPR). Register I/O dalam
kisaran alamat 0x00-0x1F diakses secara langsung menggunakan instruksi SBI
dan CBI. Dalam register tersebut, nilai bit tunggal dapat diperiksa dengan
menggunakan instruksi SBIS dan SBIC. Ketika menggunakan perintah khusus IN
dan OUT I/O, alamat I/O 0x00-0x3F harus digunakan. Ketika menangani
Register I/O sebagai ruang data menggunakan instruksi LD dan ST, 0x20 harus
ditambahkan ke alamat ini. Alamat register I/O tercantum pada tabel dibawah.
Register Alamat I/O Alamat Memori

PORTA 0x1B 0x3B

DDRA 0x1A 0x3A

PINA 0x19 0x39

PORTB 0x18 0x38

DDRB 0x17 0x37

PINB 0x16 0x36

PORTC 0x15 0x35

DDRC 0x14 0x34

PINC 0x13 0x33

PORTD 0x12 0x32

DDRD 0x11 0x31

PIND 0x10 0x30

Penggunaan port I/O pada atmega8535 sebagai keluaran jadi maksudnya


disini adalah port yang diinginkan antara A,B,C dan D tsb dikonfigurasikan
sebagai keluaran dengan cara memberikan set 1 atau FF atau 255 pada Data
Direction Register (DDR) Port yang dituju. Bit DDxn dalam register DDRx (Data
Direction Register) menentukan arah pin.

Misalnya, jika ingin Port C dikonfigurasikan sebagai keluaran, maka Data


Direction Register Port C (DDRC) harus diset sebagai 0xFFH (atau sama dengan
255).

Contoh listing program pada bahasa C :

DDRC = 255; // port C dikonfigurasikan sebagai output, yaitu PC0 - PC7


DDRD = 0x00; // port D dikonfigurasikan sebagai input.

Contoh listing program inisialisasi port pada bahasa assembly :

OUT DDRA,R16

OUT DDRB,R16

OUT DDRC,R16

OUT DDRD,R16

Dan nilai dari register R16 adalah 0xFF atau 255 atau secara logika bernilai 1

II. Listing Program Dan Penjelasannya

A. Berikut adalah listing program pada AVR

B. Penjelasan

Dari listing program diatas, yang saya konfigurasikan sebagai port I/O
sebagai keluaran adalah port A dan port D, dengan nilai masukan yang disimpan
dalam register 22 dengan nilai 255 atau pada register 21dengan nilai 255 yang
sama saja bernilai 1. Subroutine main digunakan agar program dapat
disimulasikan karena setelah saya coba tanpa menggunakan subroutine, simulasi
pada proteus tidak dapat berjalan. Lalu selanjutnya mengkonfigurasi port A
sebagai keluaran dengan fungsi OUT DDRA,R22 dan OUT DDRD,R21.
Selanjutnya OUT PORTA,R22 dan OUT PORTB,R21 digunakan untuk
mengeluarkan nilai yang disimpan pada register agar nilai dapat ditampilkan pada
perangkat luar yang digunakan disini adalah LED, maka dampak yang terjadi
adalah LED menyala. Dan untuk fungsi OUT PORTB,R21 hal tersebut
menunjukkan bahwa meskipun port B ditunjuk untuk mengeluarkan nilai tetapi,
port B belum dikonfigurasi pada DDR nya sehingga pada simulasi LED pada port
B tetap tidak menyala.
III. Hasil Simulasi Di Proteus

Berikut adalah hasil simulasi di Proteus :


LAPORAN PENGGUNAAN PORT I/O ATMEGA 8535 SEBAGAI
MASUKAN

DISUSUN OLEH :

BERNADETH ROSALIA CIKA ANDHINI 185114073

DOSEN PENGAJAR :

IR. TJENDRO, M.KOM

PROGRAM STUDI TEKNIK ELEKTRO

UNIVERSITAS SANATA DHARMA

YOGYAKARTA
IV. Rangkuman Penggunaan Port I/O Atmega8535 sebagai Keluaran

Pada ATMEGA8535 terdapat port atau pin yang berjumlah 40 pin seperti
pada gambar dibawah ini, sedangkan untuk port I/O nya sendiri hanya ada 32.
Sama seperti IC, setiap port pada atmega8535 juga memiliki nama dan alamat
masing-masing. Port Input Output (PIO) berfungsi untuk menghubungkan
mikroprosesor dengan perangkat luar, seperti papan ketik, sensor, saklar sebagai
perangkat masukan dan layar LCD, penggerak motor, penggerak lampu sebagai
perangkat keluaran.

Terdapat empat group PIO dan setiap group memiliki 8 kaki (pin).
Masing-masing group diberikan nama PORT A, PORT B, PORT C dan PORT D.
Pengelompokkan tersebut hanya dikelompokkan berdasarkan nama sebagai
identitas port atau pin. Selain sebagai input/output masing masing port juga
memiliki fungsi yang lain. PORTA dapat difungsikan sebagai ADC (Analog to
Digital Converter), PORTBdapat difungsikan sebagai SPI (Serial Peripheral
Interface) communication.

Lokasi I/O diakses dengan instruksi IN dan OUT, untuk mentransfer data
antara 32 register I/O dan ruang register serbaguna (GPR). Register I/O dalam
kisaran alamat 0x00-0x1F diakses secara langsung menggunakan instruksi SBI
dan CBI. Dalam register tersebut, nilai bit tunggal dapat diperiksa dengan
menggunakan instruksi SBIS dan SBIC. Ketika menggunakan perintah khusus IN
dan OUT I/O, alamat I/O 0x00-0x3F harus digunakan. Ketika menangani
Register I/O sebagai ruang data menggunakan instruksi LD dan ST, 0x20 harus
ditambahkan ke alamat ini. Alamat register I/O tercantum pada tabel dibawah.
Register Alamat I/O Alamat Memori

PORTA 0x1B 0x3B

DDRA 0x1A 0x3A

PINA 0x19 0x39

PORTB 0x18 0x38

DDRB 0x17 0x37

PINB 0x16 0x36

PORTC 0x15 0x35

DDRC 0x14 0x34

PINC 0x13 0x33

PORTD 0x12 0x32

DDRD 0x11 0x31

PIND 0x10 0x30

Penggunaan port I/O pada atmega8535 sebagai keluaran jadi maksudnya


disini adalah port yang diinginkan antara A,B,C dan D tsb dikonfigurasikan
sebagai masukan dengan cara memberikan set 1 atau FF atau 255 pada Data
Direction Register (DDR) Port yang dituju. Bit DDxn dalam register DDRx (Data
Direction Register) menentukan arah pin.

Misalnya, jika ingin Port C dikonfigurasikan sebagai masukan, maka Data


Direction Register Port C (DDRC) harus diset sebagai 0x00 (atau sama dengan
0).

Contoh listing program pada bahasa C :

DDRC = 0; // port C dikonfigurasikan sebagai output, yaitu PC0 - PC7


DDRD = 0x00; // port D dikonfigurasikan sebagai input.

Contoh listing program inisialisasi port pada bahasa assembly :

OUT DDRA,R16

OUT DDRB,R16

OUT DDRC,R16

OUT DDRD,R16

Dan nilai dari register R16 adalah 0x00 atau 0 atau secara logika bernilai 0

V. Listing Program Dan Penjelasannya

C. Berikut adalah listing program pada AVR

D. Penjelasan

Dari listing program diatas, yang saya konfigurasikan sebagai port I/O
sebagai keluaran adalah port C dan port D sebagai masukan, dengan nilai
masukan yang disimpan dalam register 17 yang awalnya bernilai 0xFF atau 255
sebagai konfigurasi pada DDRC bahwa port C sebagai keluaran. Lalu nilai R17
diganti menjadi 0x00 atau 0 untuk mengkonfigurasi pada DDRD bahwa port D
sebagai masukan. Lalu masuk ke subroutine lagi, perintah IN digunakan untuk
mengambil data dari PIND yang kemudian disimpan di R17. Lalu fungsi OUT
digunakan untuk mengeluarkan data dari R17 ke PORTC.
VI. Hasil Simulasi Di Proteus

Berikut adalah hasil simulasi di Proteus :

Anda mungkin juga menyukai