| DDR=0 | DDR=1 |
Port=0 | Iutput low | Output low |
Port=1 | Iutput high | Output high |
Intinya adalah register DDR digunakan untuk mengatur sebagai input atau output, sedangkan register port digunakan untuk mengatur outputnya high atau low.
Port I/O sebagai output hanya memberikan arus sourcing sebesar 20mA sehingga untuk menggerakkan motor atau kendali alat elektronis yang lain, perlu diberikan penguatan tambahan atau dapat juga dengan konfigurasi port sebagai shinking current.
Berikut merupakan instruksi I/O:
- In:Membaca data I/O port atau internal pheriperal register (Timer, UART,dsb) kedalam register. contoh = in r16, pina
- Out: Menulis datasebuah register ke port I/O atau internal pheriperal register. Contoh = out ddra, r16
- LDI(load immediate) : Untuk menulis konstanta register sebelum konstanta tersebut itu ditulis ke Port I/O; Contoh = ldi r16,0b00001111 ;bentuk biner
- SBI (set bit set): Untuk membuat logika high pada satu bit I/O register. Contoh= sbi portb,7 ;set bit ke-7 pada portb
- CBI (clear bit set): Untuk membuat logika low pada satu bit I/O register. Contoh = cbi portc,5 ;clear bit ke-5 pada portc
- SBIC (Skip if bit I/O is cleared): Untuk mengecek apakah bit I/O register clear. Jika Ya skip satu perintah dibawahnya. Contoh= sbic porta,3 ;Skip perintah ini jika porta.3 logika 0
- SBIS (Skip if bit I/O is Set): Untuk mengecek apakah bit I/O register set. Jika Ya skip satu perintah dibawahnya. Contoh= sbis porta,3 ;Skip perintah ini jika porta.3 logika 1
thx gan, lgi blajar dasar UC nih :)
BalasHapusBisnis Keren Lihat Disini http://suksespaytren.com/wan-vsi
BalasHapus