PORT I/O atmega8535 - Teknik Elektro UGM

Download Report

Transcript PORT I/O atmega8535 - Teknik Elektro UGM

PORT I/O atmega8535
Spesifikasi port I/O AVR
• I/O digital
• Input/output pada pin yang sama
• Level I/O TTL (logika 0  0 V, logika 1 
5V)
Spesifikasi port I/O AVR
Spesifikasi port I/O AVR
• Diakses menggunakan 3 register :
– DDRx
– PORTx
– PINx
• DDRx digunakan untuk menentukan arah I/O
• PORTx digunakan untuk meg-outputkan nilai ke
pin IC
• PINx digunakan sebagai register untuk
menampung nilai yang diinputkan pada pin IC
Spesifikasi port I/O AVR
• Arus max (sinking):
• 20 mA (test condition)
• 40 mA (max)
• Untuk setiap port (8 line) jumlah semua arus di
port tersebut max 100 mA
Spesifikasi port I/O AVR
• Pada dasarnya konfigurasi I/O AVR adalah
open collector
• Konfigurasi open collector mempunyai
tegangan 0 V pada logika 0 dan
mengambang (hi-Z)pada logika 1
• Supaya pin tidak dalam logika
mengambang dalam keadaan sebagai
input, biasanya PORTx ikut diaktifkan
untuk meng-enable pull up
Langkah pengaksesan suatu port
I/O
• Setting register DDRx: sebagai input (0)
atau output (1)
• Jika diset sebagai input, enable-kan pull
up dengan menuliskan logika 1 pada
PORTx, kemudian baru baca data dari
PINx
• Jika diset sebagai output, langsung saja
kirimkan data keluar ke PORTx
Instruksi I/O,akses baca tulis
• IN : membaca data dari I/O register (8 bit)
ke GP register  IN R16,PinD
• OUT : menulis data dari GP register ke I/O
register(8 bit)  OUT PORTC,R17
• SBI : membuat logika ‘1’ 1 bit di register
I/O  SBI PORTC,2
• CBI : membuat logika ‘0’ 1 bit di register
I/O  CBI PORTB,1
Instruksi I/O,lompatan bersyarat
• SBIC : skip if bit I/O is clear  men’skip’
instruksi di bawahnya jika suatu bit I/O
dalam logika ‘0’
• SBIS : skip if bit I/O is set  menskip
instruksi di bawahnya jika suatu bit I/O
dalam keadaan logika ‘1’
• Contoh : SBIC PIND,1
Langkah-langkah pengaksesan
port
• Instruksi in:
•
•
•
•
•
LDI R16,0x00 ;insialisasi port sebagai input
OUT DDRD,R16; portD jadi input semua
LDI R16,0xFF;persiapan enable pull up di PORTD
OUT PORTD,R16;enable pull up di PORTD
IN R17,PIND; disinilah instruksi inputnya
Langkah-langkah pengaksesan
port
• Instruksi out:
•
•
•
•
LDI R16,0xFF ; persiapan insialisasi PortB sbg out
OUT DDRB,R16; set portb sebagai output semua
LDI R17,0b10101010; data yang akan dikeluarkan
OUT PORTB,R17;keluarkan data di sini
• Instruksi SBI dan CBI
• Karena instruksi tsb hanya mengakses 1
bit saja, maka DDR yang diset juga cukup
1 bit saja :
•
•
•
•
SBI DDRB,4; bit ke-4 port B dijadikan output
SBI DDRC,3; bit ke-3 port C dijadikan output
SBI PORTB,4; keluarkan logika 1 ke bit 4 portb
CBI PORTC,3;logika 0 ke bit 3 portc
• Instruksi SBIC,SBIS
• Karena instruksi sbg input, DDR harus
diset 0 pada bit-bit yg digunakan
•
•
•
•
•
CBI DDRD,7; setting portd bit 7 sbg input
SBI PORTD,7; enable pull up
SBIC PIND,7; baca portd bit 7
CLR R16;instruksi sembarang
LDI R16,0xAA; jika portd bit 7 logika 0,lompat ke
sini
Operasi Aritmatika
• Instruksi penjumlahan
– ADD R15,R14  R15=R15+R14
– ADC R15,R14  R15=R15+R14+Carry
• Instruksi pengurangan
– SUB R15,R14  R15=R15-R14
– SUBI R16,2  R16=R16-1
– SBC R11,R12  R11=R11-R12-Carry
– SBCI R17,3  R17=R17-3-Carry
Operasi aritmatika
• Instruksi perkalian
– MUL R21,R20  R1:R0=R21xR20 (R1
digunakan untuk menyimpan MSB,R0
LSB),perkalian bilangan unsigned(bulat
positif)
– MULS R4,R5  R4 dan R5 menyimpan
bilangan signed(bulat positif dan negatif)
– MULSU R4,R5  R4 signed,R5 unsigned
– dll (keluarga FMUL)
Operasi logika
•
•
•
•
•
•
AND Rd,Rr ; ANDI Rd,K  operasi and
OR Rd,Rr ; ORI Rd,K  operasi OR
EOR Rd,Rr  EXOR
COM Rd  komplemen 1
NEG Rd  komplemen 2
dll (lihat datasheet)
Sekedar mengingatkan
• Tugas pembuatan sistem minimal
ATmega8535 mulai bisa ditunjukkan
minggu depan(Rabu, 10 sept)
• Karya anda bisa ditunjukkan di lab
elektronika dasar (T. Elektro) atau di kelas
• Batas akhir pelaporan : Rabu 17 sept di
kelas
• Telat? usaha anda tetap dihargai, dengan
nilai yg lebih rendah
Rencana Project
• Running LED
• Running Led dengan interupsi
• Pembangkit gelombang kotak frek tertentu
– Dengan delay
– Dengan timer
•
•
•
•
Pengukur frekuensi
PWM
ADC
Project mandiri
Fasilitas sistem minimal
•
•
•
•
•
•
LED, untuk tampilan data dan PWM
Push button
Header/pin untuk ekspansi port
Header untuk programmer
Konektor serial port
LCD (nilai tambah), karena beberapa
project memerlukan tampilan
• dsb