Port IO ATMega8535 Instruksi Transfer Data

2.2.6 Port IO ATMega8535

Port IO pada mikrokontroler ATmega8535 dapat difungsikan sebagai input ataupun output dengan keluaran high atau low. Untuk mengatur fungsi port IO sebagai input ataupun output, perlu dilakukan setting pada DDR dan Port. Berikut tabel pengaturan port IO: Tabel 2.1 Konfigurasi setting untuk Port IO DDR bit = 1 DDR bit = 0 Port bit = 1 Output High Input Pull-Up Port bit = 0 Output Low Input Floating Dari tabel di atas, menyetting inputoutput adalah: a. Sebagai Input; DDR bit 0 Low dan Port bit 1 High b. Untuk Output High; DDR bit 1 High dan Port bit 1 Low c. Untuk Output Low; DDR bit 1 High dan Port bit 0 Low Contohnya dalam kode program untuk mengeset setiap Port IO: ldi R16, 0xff ;Isi register dengan nilai High semua ldi R17, 0x00 ;Isi register dengan nilai Low semua out DDRA, R17 ;input ;Input ADC out PORTA, R17 ;floating ;Tanpa pull-up out DDRB, R16 ;output ;Output sensor out PORTB, R17 ;low ;Aktif High out DDRC, R16 ;output ;Output ke Motor dan Pompa out PORTC, R17 ;low ;Aktif High out DDRD, R17 ;input ;Input sensor out PORTD, R16 ;pullup ;Dengan pull-ip Universitas Sumatera Utara Logika port IO dapat diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit IO dapat dilakukan menggunakan perintah cbi clear bit IO untuk menghasilkan output low atau perintah sbi set bit IO untuk menghasilkan output high. Perubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu. Port IO sebagai output hanya memberikan arus sourcing sebesar 20mA sehingga untuk menggerakkan motor atau kendali alat elektronis yang lain, perlu diberikan penguat tambahan atau dapat juga dengan konfigurasi port sebagai sinking current , seperti pada port yang digunakan untuk menyalakan LED, yang akan menyala saat port diberikan logika low dan mati saat port logika high.

2.2.7 Instruksi Transfer Data

Instruksi transfer data digunakan untuk memindahkan data antar register, antara port dan register, juga antara GPR General Purpose Register dengan internal pheripheral register register inti AVR. Beberapa contoh instruksi transfer data.

a. in; membaca data IO Port atau internal peripheral register Timers, UART,