Anda di halaman 1dari 18

Laporan Praktikum

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

Dosen: Dr. Samuel BETA; Ing-Tech.,M.T.

PROGRAM STUDI TEKNIK ELEKTRONIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2014-2015

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.

P01 Pengendali Luaran Digital

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

xx: alamat pintu

Membaca 1 bit data dari luar


(masukan)
x:0/1/2/3
Px.y y:0,1, ... 7
mov C,
xxh xx: alamat bit
pintu

mov
setb
clr

Menulis 1 byte data ke luar


(luaran)
#xxxxxxxxb
nilai segera
Px,
#yyy
biner /des /hex
#zzh
xx: alamat
xxh, A
pintu

Menulis 1 bit data ke luar


(luaran)
x:0/1/2/3
Px.y,
y:0,1, ... 7
C
xxh,
xx: alamat bit
pintu
x:0/1/2/3
Px.y
y:0,1, ... 7

3. Praktikum
3.1. LED
3.1.1. Permasalahan
Membuat progam untuk menampilkan kode kelompok LED (1:padam 0:menyala)
Masukan

: tidak ada

Proses

: peralihan data segera ke pintu P0

Keluaran

: pintu P0.0-7 (8 buah LED).

Gambar rangkaian :
Membuat tabel hasil perhitungan dan hasil percobaan, membandingkan dan menjelaskan hasil
keduanya.

P01 Pengendali Luaran Digital

Lab. Mikrokontroler I

Tabel 1 Tampilan LED


D0

D1

D2

D3

D4

D5

D6

D7

LED YANG PADAM


LED yang padam

yaitu LED pada P0.0,


P0.6, P0.7

3.1.2. Penyelesaian

3.1.2.1. Diagram Alir

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
;========================================

;=== Deklarasi variabel ===


kodeC1 equ 11000001b
;kode kelompok
led
equ P0
;LED terpasang di pintu P0
;=== Pengesetan Awal ====
ORG 0

;alamat awal

;=== Program Utama ===


mulai:
;tampilkan kode
MOV A,#kodeC1
MOV led,A
SJMP mulai
;=== Sub program ===

;ambbil kode
;tampilkan di LED
;kembali ke mulai

;=== Tabel Konversi ===


END
;selesai

3.1.2.3. Hasil Percobaan


Tampilan hasil simulasi EdSim, M-IDE, Proteus dan hasil nyata terlihat (dapat berupa foto)
Tampilan Logic Diagram pada EdSim

P01 Pengendali Luaran Digital

Lab. Mikrokontroler I

Tampilan pada Source Code Pane pada EdSim


;=========================================
;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
;========================================
;=== Deklarasi variabel ===
kodeC1
equ 11000001b ;kode kelompok
led
equ P0
;LED terpasang di pintu P0
;=== Pengesetan Awal ====
ORG 0
;alamat awal
;=== Program Utama ===
mulai:
;tampilkan kode
MOV A,#kodeC1
MOV led,A
SJMP mulai
;=== Sub program ===

;ambbil kode
;tampilkan di LED
;kembali ke mulai

;=== Tabel Konversi ===


END
;selesai

Tampilan output pada EdSim

Tampilan output pada Proteus

P01 Pengendali Luaran Digital

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

ke pintu USB komputer dan ke konektor

[PROGRAMER]. Nyalakan modul pelatihan


6. Membuka program isp dan menggunggah file p011a-LED.hex ke dalam modul
7. Amati output pada modul
3.1.3. Pembahasan
Pada bagian deklarasi variabel, kode kelompok dideklarasikan sebagai kodeC1 yang
bernilai 11000001b. Sedangkan led dideklarasikan sebagai output yakni pada PORT 0.
Sebelum memasukkan program utama pada mikro dilakukan pengesetan awal terlebih dahulu,
P01 Pengendali Luaran Digital

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

: peralihan data segera ke pintu P0

Keluaran

: pintu P0.0-7 (8 buah LED).

Gambar rangkaian :
Membuat tabel hasil perhitungan dan hasil percobaan, membandingkan dan menjelaskan hasil
keduanya.

Tabel 1 Tampilan LED


D0

D1

D2

D3

D4

D5

D6

D7

LED YANG PADAM


LED yang padam

yaitu LED pada P0.1,


P0.2, P0.3, P0.4, P0.5

3.2.2. Penyelesaian

P01 Pengendali Luaran Digital

Lab. Mikrokontroler I

3.2.2.1. Diagram Alir

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

;=== Pengesetan Awal ====


ORG 0
;alamat awal
;=== Program Utama ===
mulai:
;tampilkan kode
MOV A,#kodeC1
CPL A
MOV led,A
SJMP mulai
;=== Sub program ===

;ambbil kode
;membalikkan 0<=>1
;tampilkan di LED
;kembali ke mulai

;=== Tabel Konversi ===


END

;selesai

3.2.2.3. Hasil Percobaan


Tampilan Logic Diagram pada EdSim

Tampilan Source Code Pane pada EdSim


;=========================================
;P011b-LEDnot
;program untuk menampilkan kode kelompok
;pada LED (0:padam 1:menyala)
;---------------------------------------;Materi baru:
;- Luaran LED (Pintu P0)
;- membalik keadaan(komplemen/not)
P01 Pengendali Luaran Digital

Lab. Mikrokontroler I
;---------------------------------------;Komponen:
;- 1x Bargraf (8xLED)
;- 1x R Net 120 ohm
;========================================

10

;=== Deklarasi variabel ===


kodeC1 equ 11000001b
;kode kelompok
led
equ P0
;LED terpasang di pintu P0
;=== Pengesetan Awal ====
ORG 0
;alamat awal
;=== Program Utama ===
mulai:
;tampilkan kode
MOV A,#kodeC1
CPL A
MOV led,A
SJMP mulai
;=== Sub program ===

;ambbil kode
;membalikkan 0<=>1
;tampilkan di LED
;kembali ke mulai

;=== Tabel Konversi ===


END
;selesai

Tampilan output pada EdSim

Tampilan output pada Proteus

P01 Pengendali Luaran Digital

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

ke pintu USB komputer dan ke konektor

[PROGRAMER]. Nyalakan modul pelatihan


13. Membuka program isp dan menggunggah file p011b-LEDnot.hex ke dalam modul
14. Amati output pada modul
3.2.3. Pembahasan
Pada bagian deklarasi variabel, kode kelompok dideklarasikan sebagai kodeC1 yang
bernilai 11000001b. Sedangkan led dideklarasikan sebagai output yakni pada PORT 0.
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
P01 Pengendali Luaran Digital

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

: peralihan data segera ke pintu P0

Keluaran

: pintu P0.0-7 (8 buah LED).

Gambar rangkaian :
Membuat tabel hasil perhitungan dan hasil percobaan, membandingkan dan menjelaskan hasil
keduanya.

Tabel 1 Tampilan LED


D0

D1

D2

D3

D4

D5

D6

D7

LED YANG PADAM


LED yang padam

yaitu LED pada P0.1,


P0.2, P0.3, P0.4, P0.5.
P01 Pengendali Luaran Digital

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

;=== Deklarasi variabel ===


kodeC1 equ 11000001b
;kode kelompok
kodeC1k equ 10000011b
;kode kelompok
led
equ P0
;LED terpasang di pintu P0
;=== Pengesetan Awal ====
ORG 0

;alamat awal

;=== Program Utama ===


mulai:
;tampilkan kode
MOV A,#kodeC1k ;ambbil kode
CPL A
;membalikkan 0<=>1
MOV led,A
;tampilkan di LED
SJMP mulai
;kembali ke mulai
;=== Sub program ===
;=== Tabel Konversi ===
END

;selesai

3.3.2.3. Hasil Percobaan


Tampilan hasil simulasi EdSim, M-IDE, Proteus dan hasil nyata terlihat (dapat berupa foto)

;=========================================
;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

;=== Deklarasi variabel ===


kodeC1
equ 11000001b ;kode kelompok
led
equ P0
;LED terpasang di pintu P0
;=== Pengesetan Awal ====
ORG 0
;alamat awal
;=== Program Utama ===
mulai:
;tampilkan kode
MOV A,#kodeC1
MOV led,A
SJMP mulai
;=== Sub program ===

;ambbil kode
;tampilkan di LED
;kembali ke mulai

;=== Tabel Konversi ===


END
;selesai

P01 Pengendali Luaran Digital

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

ke pintu USB komputer dan ke konektor

[PROGRAMER]. Nyalakan modul pelatihan


20. Membuka program isp dan menggunggah file p011c-LEDkit.hex ke dalam modul
21. Amati output pada modul
3.3.3. Pembahasan
Pada bagian deklarasi variabel, kode kelompok dideklarasikan sebagai kodeC1k yang
bernilai 11000001b. Sedangkan led dideklarasikan sebagai output yakni pada PORT 0.
P01 Pengendali Luaran Digital

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.
=====================

P01 Pengendali Luaran Digital

Anda mungkin juga menyukai