Output:
PORTX = data;
Yaitu untuk mengirim data secara byte ke PortX (X= A,B,C,D). Perintah ini sama dengan out dalam bahasa ATmega8535.
Input:
data_in = PINX;
yaitu mengambil data byte dari PINX (X= A,B,C,D) yang kemudian disimpan ke variable data_in. Perintah ini sama dengan in dalam bahasa assembly Atmega8535.
Sebelum memulai pemrograman dasar I/O dengan bahasa C perlu diketahui bahwa microcontroller Atmega8535 perlu disetting DDR dan PORT agar bias digunakan sebagaimana mestinya.
| DDR bit = 1 | DDR bit = 0 |
PORT bit = 1 | Output; High | Input; R pull-up |
PORT bit = 0 | Output; Low | Input; Floating |
Tabel 1. Konfigurasai Pengaturan Port I/O
Contoh:
….
DDRA=0x0F;
PORTA=0xCC;
….
Dari DDR terlihat bahwa port A0-3 sebagai ouput dan port A4-7 sebagai input. Sedangkan dari PORT terlihat bahwa PA0-1 = Low, PA2-3 = High, PA4-5 tanpa Rpull-up (floating) dan PA6-7 dengan Rpull-up.
Kontrol PORT I/O per bit
Perintah input dan output pada mikro juga bisa dilakukan per bit dengan cara:
Output
PORTX.bitn = data;
Yaitu untuk mengirimkan data bit (0 atau 1) ke PortX (X= A,B,C,D) bit ke-n. Perintah ini setara dengan sbi dalam bahasa assembly.
Contoh:
….
PORTB.3 = 1;
….
Artinya adalah bit 3 PORTB di beri nilai 1.
Input
Data_in = PINX.bitn;
Yaitu mengambil data bit dari PINX (X=A,B,C,D) bit ke n yang kemudian disimpan ke variable data_in. Perintah ini setara dengan cbi dalam bahasa assembly.
Contoh:
….
Data_in = PINB.3;
….
Artinya adalah mikro mengambil data bit pada PORTB bit ke-3. NIlai dari perintah ini hanya 0 atau 1.
Tidak ada komentar:
Posting Komentar