Laboratorium MIKROKONTROLER 1
AVR AT89S52
Proyek 01
Luaran
Disusun oleh:
Kelompok EK-2C / 01
01
08
15
22
- Ade Kurniawan
- Faris Faishol Auryn
- Muhammad Amin Marzuqi
- Taufiq Arrasyid
NIM
3.32.13.2.01
3.32.13.2.08
3.32.13.2.15
3.32.13.2.22
Lab. Mikrokontroler I
Proyek 01
LUARAN
1. Tujuan
Tujuan dari percobaan ini praktikan dapat :
Memahami cara kerja sistem pengendali masukan luaran digital secara keseluruhan dan
mampu membuat sistem untuk membaca masukan dan menghasilkan luaran digital
Memahami cara kerja perangkat keras (rangkaian) pengendali masukan luaran digital dan
mampu menghubungkan mikrokontroler AVR AT89C52 dengan rangkaian penggerak
masukan luaran
Memahami cara kerja perangkat lunak (program) dan perintah bahasa assembly
mikrokontroler AVR AT89C52 dan mampu membuat program untuk rangkaian penggerak
masukan luaran
Memahami cara kerja sistem tunda pada perangkat lunak dan mampu membuat program
tunda
2. Dasar Teori
Untuk berhubungan dengan dunia luar mikrokontroler AVR AT 8952 mempunyai
empat buah pintu masukan luaran 8 bit yaitu: P0, P1, P2 dan P3. Setiap pintu mempunyai
alamat dan dapat berfungsi sebagai masukan maupun luaran. Alamat pintu P0=80h, P1=90h,
P2=A0h dan P3=B0h. Selain itu setiap dari setiap pintu juga memiliki alamat bit tersendiri
dan dapat diakses secara individu.
Lab. Mikrokontroler I
Perintah dasar peralihan data untuk membaca/menulis data dari/ke pintu yaitu:
Membaca 1 byte data dari luar
(masukan)
Px
mov
x:0/1/2/3
A,
mov
xxh
mov
setb
clr
3. Praktikum
3.1. LED
3.1.1. Permasalahan
Membuat progam untuk menampilkan kode kelompok LED (1:padam 0:menyala)
Masukan
: tidak ada
Proses
Keluaran
Gambar rangkaian :
Membuat tabel hasil perhitungan dan hasil percobaan, membandingkan dan menjelaskan hasil
keduanya.
Lab. Mikrokontroler I
D1
D2
D3
D4
D5
D6
D7
3.1.2. Penyelesaian
MULAI
T
Y
3.1.2.2. Program
;=========================================
P01 Pengendali Luaran Digital
Lab. Mikrokontroler I
;P011a-LED
; program untuk menampilkan kode kelompok
;pada LED (1:padam 0:menyala)
;---------------------------------------;Materi baru:
;- Luaran LED (Pintu P0)
;- memodifikasi rangkaian EdSIM lewat (DI/LD)
;---------------------------------------;Komponen:
;- 1x Bargraf (8xLED)
;- 1x R Net 120 ohm
;========================================
;alamat awal
;ambbil kode
;tampilkan di LED
;kembali ke mulai
Lab. Mikrokontroler I
;ambbil kode
;tampilkan di LED
;kembali ke mulai
Lab. Mikrokontroler I
Untuk mendapatkan hasil percobaan ini, langkah percobaan yang dilakukan adalah
sebagai berikut:
1. Membuka aplikasi EdSim51DI, geser kursor ke tombol [ DI i LD ], klik [ LI ]. Setelah
muncul menunya, mencari LED 0 lalu dikonfigurasi pada P [0] bit [0]. Kemudian simpan,
keluar, dan buka kembali
2. Memasukkan program, mengkompilasi [Assm], menjalankan program langkah per
langkah [ Step ]. Amati perubahan setiap langkah
3. Sebelum keluar simpan dengan nama: p011a-LED.asm dan .hex
4. Buka Proteus dan uji coba pada file P0-led
5. Jika berhasil lalu hubungkan bootloader
Lab. Mikrokontroler I
yaitu ORG 0 untuk menyatakan nomor memori yang dipakai setelah perintah itu. Mulai
digunakan sebagai label. MOV A, #kodeC1 berfungsi memindakan segera data kodeC1 yakni
11000001b pada pada A sehingga pada A akan berisi data dari kodeC1. MOV led,A berfungsi
memindahkan segera data dari A menuju led yakni Output. SJMP mulai berfungsi untuk
melompat ke label yang telah dideklarasikan untuk alamat kode yang pendek yaitu mulai.
Kemudian program ditutup dengan END.
3.2. LEDnot
3.2.1. Permasalahan
Membuat progam untuk menampilkan kode kelompok LED (0:padam 1:menyala)
Masukan
: tidak ada
Proses
Keluaran
Gambar rangkaian :
Membuat tabel hasil perhitungan dan hasil percobaan, membandingkan dan menjelaskan hasil
keduanya.
D1
D2
D3
D4
D5
D6
D7
3.2.2. Penyelesaian
Lab. Mikrokontroler I
MULAI
T
Y
3.2.2.2. Program
;=========================================
;P011b-LEDnot
;program untuk menampilkan kode kelompok
;pada LED (0:padam 1:menyala)
;---------------------------------------;Materi baru:
;- Luaran LED (Pintu P0)
;- membalik keadaan(komplemen/not)
;---------------------------------------;Komponen:
;- 1x Bargraf (8xLED)
;- 1x R Net 120 ohm
;========================================
;=== Deklarasi variabel ===
kodeC1 equ 11000001b
;kode kelompok
P01 Pengendali Luaran Digital
Lab. Mikrokontroler I
led
equ P0
9
;LED terpasang di pintu P0
;ambbil kode
;membalikkan 0<=>1
;tampilkan di LED
;kembali ke mulai
;selesai
Lab. Mikrokontroler I
;---------------------------------------;Komponen:
;- 1x Bargraf (8xLED)
;- 1x R Net 120 ohm
;========================================
10
;ambbil kode
;membalikkan 0<=>1
;tampilkan di LED
;kembali ke mulai
Lab. Mikrokontroler I
11
Untuk mendapatkan hasil percobaan ini, langkah percobaan yang dilakukan adalah
sebagai berikut:
8. Membuka aplikasi EdSim51DI, geser kursor ke tombol [ DI i LD ], klik [ LI ]. Setelah
muncul menunya, mencari LED 0 lalu dikonfigurasi pada P [0] bit [0]. Kemudian simpan,
keluar, dan buka kembali
9. Memasukkan program, mengkompilasi [Assm], menjalankan program langkah per
langkah [ Step ]. Amati perubahan setiap langkah
10. Sebelum keluar simpan dengan nama: p011b-LEDnot.asm dan .hex
11. Buka Proteus dan uji coba pada file P0-led
12. Jika berhasil lalu hubungkan bootloader
Lab. Mikrokontroler I
12
11000001b pada pada A sehingga pada A akan berisi data dari kodeC1. CPL A berfungsi
membalikkan data biner pada A dari 0 menjdi 1 dan 1 menjadi 0, pada A terdapat kode biner
11000001b sehingga jika di balik kodenya menjadi 00111110b. MOV led,A berfungsi
memindahkan segera data dari A menuju led yakni Output. SJMP mulai berfungsi untuk
melompat ke label yang telah dideklarasikan untuk alamat kode yang pendek yaitu mulai.
Kemudian program ditutup dengan END.
3.3. LEDkit
3.3.1. Permasalahan
Membuat progam untuk menampilkan kode kelompok LED (1:padam 0:menyala)
Masukan
: tidak ada
Proses
Keluaran
Gambar rangkaian :
Membuat tabel hasil perhitungan dan hasil percobaan, membandingkan dan menjelaskan hasil
keduanya.
D1
D2
D3
D4
D5
D6
D7
Lab. Mikrokontroler I
13
3.3.2. Penyelesaian
3.3.2.1. Diagram Alir
MULAI
T
Y
3.3.2.2. Program
;=========================================
;P011c-LEDkit
;program untuk menampilkan kode kelompok
;pada LED di KIT(0:padam 1:menyala)
;---------------------------------------;Materi baru:
;- Luaran LED (Pintu P0)
;- membalik keadaan(komplemen/not)
;- mmenyesuaikan posisi LED pada kit
;---------------------------------------;Komponen:
;- 1x Bargraf (8xLED)
P01 Pengendali Luaran Digital
Lab. Mikrokontroler I
;- 1x R Net 120 ohm
;========================================
14
;alamat awal
;selesai
;=========================================
;P011a-LED
P01 Pengendali Luaran Digital
Lab. Mikrokontroler I
; program untuk menampilkan kode kelompok
;pada LED (1:padam 0:menyala)
;---------------------------------------;Materi baru:
;- Luaran LED (Pintu P0)
;- memodifikasi rangkaian EdSIM lewat (DI/LD)
;---------------------------------------;Komponen:
;- 1x Bargraf (8xLED)
;- 1x R Net 120 ohm
;========================================
15
;ambbil kode
;tampilkan di LED
;kembali ke mulai
Lab. Mikrokontroler I
16
Untuk mendapatkan hasil percobaan ini, langkah percobaan yang dilakukan adalah
sebagai berikut:
15. Membuka aplikasi EdSim51DI, geser kursor ke tombol [ DI i LD ], klik [ LI ]. Setelah
muncul menunya, mencari LED 0 lalu dikonfigurasi pada P [0] bit [0]. Kemudian simpan,
keluar, dan buka kembali
16. Memasukkan program, mengkompilasi [Assm], menjalankan program langkah per
langkah [ Step ]. Amati perubahan setiap langkah
17. Sebelum keluar simpan dengan nama: p011c-LEDkit.asm dan .hex
18. Buka Proteus dan uji coba pada file P0-led
19. Jika berhasil lalu hubungkan bootloader
Lab. Mikrokontroler I
17
Sebelum memasukkan program utama pada mikro dilakukan pengesetan awal terlebih dahulu,
yaitu ORG 0 untuk menyatakan nomor memori yang dipakai setelah perintah itu. Mulai
digunakan sebagai label. MOV A, #kodeC1 berfungsi memindakan segera data kodeC1 yakni
11000001b pada pada A sehingga pada A akan berisi data dari kodeC1. CPL A berfungsi
membalikkan data biner pada A dari 0 menjdi 1 dan 1 menjadi 0, pada A terdapat kode biner
11000001b sehingga jika di balik kodenya menjadi 00111110b. MOV led,A berfungsi
memindahkan segera data dari A menuju led yakni Output. SJMP mulai berfungsi untuk
melompat ke label yang telah dideklarasikan untuk alamat kode yang pendek yaitu mulai.
Kemudian program ditutup dengan END.
4. Simpulan
Bagian ini berisi simpulan yang dapat ditarik dari hasil praktikum ini. Simpulan
merupakan sesuatu hal yang baru dapat ditarik setelah melakukan praktikum dan menganalisis
hasilnya.
Beberapa simpulan yang dapat ditarik dari dari praktikum ini:
1. Perintah ....
2.
=====================