Beruflich Dokumente
Kultur Dokumente
Abstrak
2. STUDI PUSTAKA
Praktikum modul 1 praktikum sistem mikroprosesor akan
membahas lebih dalam mengenai komponen input output 2.1 SKEMATIK I/O
dasar pada board ATMega 8535. Praktikan akan
mempelajari bagaimana cara port untuk dijadikan sebagai
input ataupun output. Aplikasi input output akan dibuat
dengan menggunakan software WinAVR dalam bahasa C.
Selain itu praktikum juga bertujuan untuk memahami
pengesetan Ude yang berkaitan dengan penggunakan besar
dan jenis kristal.
Kata kunci: ATMega 8535, Input, Output, Fuse,
WinAVR
1. PENDAHULUAN
Praktikum terdiri dari beberapa sub percobaan.
Semua register dan referensi bit pada bagian ini
Percobaan perta ma berkaitan dengan penggunaan
ditulis dalam ben tuk umum. Huruf x
Port A seba gai output. Progra m akan dibuat
merepresentasikan nomor untuk port dan
sedemikian rupa sehingga menghasilkan
huruf n merepresentasikan nomor bit n ya.
konfigurasi output port A yang telah ditentukan. Bagaimanapun, ketika menggunakan register atau
Kemudian port A akan dihubungkan ke LED
bit yang ditetapkan di program, maka bentuk
sebagai representasi biner dari port A.
tepatnya harus digunakan. Sebagai contoh,
Kedua, pra ktikan akan menga mati penggunaan PORTB3 untuk n omor 3 di Port B, ditulis secara
delay pada AVR gcc. Delay bertujuan untuk general sebagai PORTxn. I/O Registers dan lokasi
mengatur seberapa cepat lampu LED hidup dan bit secara fisik terdaftar di Register Description
mati. Sama seperti percobaan sebelumnya, port A for I/O-Ports di halaman 66.
akan digunakan sebagai output. Nilai biner port A Tiga lokasi alamat memori I/O dialokasikan
akan berubah dari kondisi satu ke kondisi dua
untuk tiap port, satu untuk tiap Data Register
dalam selang delay yang telah ditentukan.
PORTx, Data Direction Register DDRx, dan Port
Kemudian representasi biner bisa dilihat pada
Input Pins PINx. I/O Port Input Pins adalah
nyala dan matinya LED.
read only, sedangkan Data Register dan Data
Ketiga, praktikan akan mulai menggunakan Direction Register adalah read/write. Sebagai
sebuah port s ebagai input. Port D a kan digunakan tambahan, bit Pull-up Disable PUD pada SFIOR
sebagai input di mana port D akan dihubungkan menonaktifkan fungsi pull-up untuk semua pin di
langsung dengan toggle/switch. Kon figurasi dari semua port saat diaktifkan.
toggle yang nyala atau mati akan
merepresentasikan biner dari port D. Port A akan 2.2 KONFIGURASI PIN PORT
juga digunakan kembali sebagai output dan
dihubungkan ke LED untuk menga mati keluaran
progra m. Program akan diatur sedemikian rupa
sehingga untuk konfigurasi input tertentu akan
menghasilkan konfigurasi output yang sesuai
dengan apa yang telah ditentukan.
Modifikasi kode
program 1.B.3 sehingga
3. METODOLOGI keluaran LED nyala
dari kiri ke kanan
3.1 L ANGKAH UMUM PRAKTIKUM kemudian kembali lagi
ke kiri.Catat hasil
keluaran pada BCL
Peng-install-an Membuat New Project
WinAVR , Driver pada WinAVR dan Add
give IO, dan program untuk masing-
Driver USBasp
3.4 PERCOBAAN 1.C PORT A SEBAGAI OUTPUT
masing percobaan
DAN PORT D SEBAGAI INPUT
Buat program seperti Jalankan program dan
yang tertera di modul. amati keluaran pada
Atur target makefile LED. Analisa kode
Lakukan pengesetan sesuai nama file program dan catat hasil
fuse sesuai Membuat Makefile percobaan pada BCL
pengesetan yang ada dengan pengesetan :
di modul. MCU :ATMega8535
Hubungkan port F_CPU : 7372800 Hz
input ke toggle port AVRDUDE
ouptut ke LED. Programmer : USBasp
Hubungkan board Target : disesuaikan
ke komputer untuk tiap percobaan
4. HASIL DAN ANALISIS Kotak hitam menunjukkan LED mati dan kotak
merah menunjukkan LED nyala.
4.1 TUGAS 1.A PORT A SEBGAI OUTPUT
Hasil konfigurasi LED sudah sesuai dengan
Tugas 1.A.1 perintah pada progra m di mana LED yang hidup
Tugas 1.A.1 akan menggunakan Port A sebagai hanya LED nomor ke 6, 4, 2, dan nol.
output dari progra m yang sudah dibuat pada
WinAVR. Flow chart dari program dapat dilihat
sebagai berikut. Tugas 1.A.2
Flow chart program dapat dilihat sebagai berikut.
START START
END END
Port A akan di set sebagai input. Oleh karena itu Sama seperti sebelumnya, untuk men geset port A
kita harus men gatur register DDR pada port sebagai output maka register DDR port A akan
tersebut. Nilai DDRA harus diisi nilai untuk diset bernilai satu atau 0xFF. Selanjutnya port A
seluruh bitnya, artinya diisi 0xFF. Pengisian nilai akan diset bernilai 0b00000110. Representasi biner
ini pada register DDR sebuah port maka akan ini menunjukkan angka 6 di mana merupakan
menjadikan port tersebut sebagai input. Namun, nomor kelompok praktikan. Selanjutnya akan
jika nilai register DDR diset nol atau 0x00 maka ditampilkan output sebagai berikut.
akan menjadikan port tersebut sebagai input. LED 7 6 5 4 3 2 1 0
Nilai representasi bin er dari port A akan
merepresentasikan keluaran pada LED. Oleh Keluaran LED sudah menunjukkan hal yang
karena itu kita harus terlebih dahulu mengeset sesuai dengan apa yang diperintah pada progra m
nilai masing-masing bit pada port A. Pengesetan di mana nilai bit yang ON hanya bit ke-2 dan bit
bit bisa dilakukan dengan operasi bitwise OR. Jika pertama LED.
port A diset sebagai berikut
4.2 TUGAS 1.B FASILITAS DELAY PADA
PORTA = (1<<PA6)|(1<<PA4)|(1<<PA2)|(1<<PA0)
AVR GCC
Ini menunjukkan bahwa untuk bit ke -6, 4, 2, dan Pada percobaan ini, seluruh kode progra m
bit ke-0 dari port A bernilai satu semen tara bit
memanfaatkan fasilitas delay yang ada pada
lainnya bernilai nol. Pengesetan bit juga dapat ATMega8535. Pada dasarnya, di dalam
dilakukan dengan cara memberi nilai untuk
Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 3
ATMega8535 sudah terdapat clock internal progra m akan mengalami delay selama 5s
dengan frekuensi clock 1 MHz. Namun, pada (5000ms) di mana lampu LED a kan mati pada saat
sistem minimum yang digunakan, clock yang ini. Setelah delay, port A akan diset bernilai
ingin digunakan adalah clock eksternal dengan 0b11001100. Ini akan membuat lampu LED ke
frekuensi clock 7572800 Hz. Untuk mengubah 2,3,6,7 menyala. Setelah itu progra m akan delta
clock yang digunakan menjadi clock eksternal, kembali selama 5 detik dan melajutkan langkah
maka perlu dilakukan pengubahan pada nilai-nlai looping seperti sebelumnya. Jadi, progra m ini
bit dari fuse ATMega8535. akan membuat lampu LED akan menyala
bergantian dari kon figurasi satu (0b00110011) ke
Secara default, ketika clock yang digunakan
konfigurasi dua (0b11001100) dan seterusnya
adalah clock internal, maka nilai high fuse dan low
sampai tak hingga looping.
fuse adalah 0b11011001 (0xD9) dan 0b11100001
Selanjutnya, output yang ditampilkan LED akan
(0xE1). Untuk mengubah clock menjadi clock
nampak seperti berikut.
eksternal, maka nilai high fuse dan low fuse perlu
LED 7 6 5 4 3 2 1 0
diubah menjadi 0xD9 dan 0xEF. Pengubahan ini
dilakukan men ggunakan avrdude melalui LED 7 6 5 4 3 2 1 0
command prompt. Setelah nilai fuse diatur
demikian, maka clock yang digunakan selama LED 7 6 5 4 3 2 1 0
proses penggunakan sistem minimum adalah LED 7 6 5 4 3 2 1 0
clock eksternal. Dengan demikian, semua kode
progra m pada tugas-tugas di bawah ini akan
Keluaran ini akan berlangsung terus menerus.
selalu mendefinisikan clock sebesar 7372800 Hz, Output yang dikeluarkan sudah sesuai dengan
bukan lagi 1 MHz. apa yang diminta pada program
Tugas 1.B.1 Tugas 1.B.2
Flowchart program dapat dilihat sebagai berikut. Flowchart program dapat dilihat sebagai berikut.
START
START
DDRA = 0xFF
DDRA = 0xFF
1
1
PORTA = 0b00100100
PORTA = 0b00110011
END
END
Delay_ms(5000)
Delay_ms(5000)
PORTA = 0b00100111
PORTA = 0b11001100
Delay_ms(5000)
Delay_ms(5000)
Sama seperti sebelumnya, register DDR akan diset Flowchart progra m tugas 1.B.2 menyerupai
bernilai 0xFF sehingga port A bisa digunakan
dengan tugas 1.B.1 hanya saja port A akan diset
sebagai output. Kemudian program akan masuk bergantian bernilai 0b00100100 dan 0b00100111.
ke looping dengan while-loop. Loop akan Kedua representasi biner ini bernilai 036 10 dan
berlangsung selama tak hingga kali karena 03910 yang mana merupakan tiga angka terakhir
variabel syarat looping selalu bernilai satu. Loop dari NIM praktikan.
akan berguna un tuk mengulangi tiap siklus nyala
matinya LED. Selanjutnya, pada awal loop, port A Selanjutnya, output yang dita mpilkan LED akan
akan bernilai 0b00110011. Ini akan membuat nampak seperti berikut.
lampu LED ke 0,1,4,5 menyala. Setelah itu
Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 4
LED 7 6 5 4 3 2 1 0 Jika operasi ini men galami overflow, ma ka nilai
bit port A kembali ke nilai awal bernilai
LED 7 6 5 4 3 2 1 0 0b11111110. Proses ini akan dilakukan selama
LED 7 6 5 4 3 2 1 0 looping yang tak hingga karena syarat loop selalu
bernilai satu. Jadi, progra m ini bertujuan untuk
LED 7 6 5 4 3 2 1 0 menunjukkan nyala-mati LED yang memutar dari
kiri ke kanan.
Keluaran ini akan berlangsung terus menerus.
Selanjutnya, output yang ditampilkan LED akan
Output yang dikeluarkan sudah sesuai dengan
nampak seperti berikut.
apa yang diminta pada program
LED 7 6 5 4 3 2 1 0
Tugas 1.B.3
LED 7 6 5 4 3 2 1 0
Flowchart program dapat dilihat sebagai berikut.
LED 7 6 5 4 3 2 1 0
START LED 7 6 5 4 3 2 1 0
LED 7 6 5 4 3 2 1 0
DDRA = 0xFF
LED 7 6 5 4 3 2 1 0
LED 7 6 5 4 3 2 1 0
i = 0xFE LED 7 6 5 4 3 2 1 0
LED 7 6 5 4 3 2 1 0
1 LED 7 6 5 4 3 2 1 0
LED 7 6 5 4 3 2 1 0
PORTA = i
LED 7 6 5 4 3 2 1 0 END
LED 7 6 5 4 3 2 1 0 PORT A = i
Kondisi 2 Kondisi 1
LED 7 6 5 4 3 2 1 0 Switch 7 6 5 4 3 2 1 0
Switch 7 6 5 4 3 2 1 0
LED 7 6 5 4 3 2 1 0
Output LED memiliki konfigurasi yang sudah LED 7 6 5 4 3 2 1 0
sesuai dengan switch yang diberikan sehingga
program sudah berjalan dengan benar. LED 7 6 5 4 3 2 1 0
Tugas 1.C.2 LED 7 6 5 4 3 2 1 0
Flowchart program bisa dilihat sebagai berikut.
Keluaran ini akan berlangsung terus menerus.
START Output yang dikeluarkan sudah sesuai dengan
apa yang diminta pada program
LED 7 6 5 4 3 2 1 0
SFIOR = 0 << PUD
LED 7 6 5 4 3 2 1 0
LED 7 6 5 4 3 2 1 0
END 1 LED 7 6 5 4 3 2 1 0
LED 7 6 5 4 3 2 1 0
i = PIND LED 7 6 5 4 3 2 1 0
LED 7 6 5 4 3 2 1 0
i= 0b00100100
LED 7 6 5 4 3 2 1 0
Tugas 1.B.2 i= 0b00100100
LED 7 6 5 4 3 2 1 0
LED 7 6 5 4 3 2 1 0