laporan proyek 1

22
Laporan Praktikum Laboratorium MIKROKONTROLER 1 AVR AT89S52 Proyek 01 Luaran Disusun oleh: Kelompok EK-2C / 01 01 - Ade Kurniawan NIM 3.32.13.2.01 08 - Faris Faishol Auryn 3.32.13.2.08 15 22 - Muhammad Amin Marzuqi - Taufiq Arrasyid 3.32.13.2.15 3.32.13.2.22 Dosen: Dr. Samuel BETA; Ing-Tech.,M.T. PROGRAM STUDI TEKNIK ELEKTRONIKA

Upload: muhammad-amin-marzoocchi

Post on 18-Nov-2015

44 views

Category:

Documents


1 download

DESCRIPTION

laporan laboratorium mikrokontroler

TRANSCRIPT

Lab. Mikrokontroler I16

Laporan Praktikum

Laboratorium MIKROKONTROLER 1

AVR AT89S52

Proyek 01

Luaran

Disusun oleh:

Kelompok EK-2C / 01

01

- Ade Kurniawan

NIM

3.32.13.2.01

08

- Faris Faishol Auryn

3.32.13.2.08

15

22

- Muhammad Amin Marzuqi

- Taufiq Arrasyid

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

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.

Perintah dasar peralihan data untuk membaca/menulis data dari/ke pintu yaitu:

Membaca 1 byte data dari luar

(masukan)

Menulis 1 byte data ke luar

(luaran)

mov

A,

Px

x:0/1/2/3

mov

Px,

#xxxxxxxxb

#yyy

#zzh

nilai segera biner /des /hex

xxh

xx: alamat pintu

xxh,

A

xx: alamat pintu

Membaca 1 bit data dari luar

(masukan)

Menulis 1 bit data ke luar

(luaran)

mov

C,

Px.y

x:0/1/2/3

y:0,1, ... 7

mov

Px.y,

C

x:0/1/2/3

y:0,1, ... 7

xxh

xx: alamat bit pintu

xxh,

xx: alamat bit pintu

setb

Px.y

x:0/1/2/3

y:0,1, ... 7

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: 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

0

1

1

1

1

1

0

0

LED yang padam yaitu LED pada P0.0, P0.6, P0.7

3.1.2. Penyelesaian

3.1.2.1. Diagram Alir

3.1.2.2. Program

;=========================================

;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 ;ambbil kode

MOV led,A ;tampilkan di LED

SJMP mulai ;kembali ke mulai

;=== Sub program ===

;=== Tabel Konversi ===

END;selesai

3.1.2.3. Hasil Percobaan

Tampilan Logic Diagram pada EdSim

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

0000| MOV A,#kodeC1 ;ambbil kode

0002| MOV led,A ;tampilkan di LED

0004| SJMP mulai;kembali ke mulai

;=== Sub program ===

;=== Tabel Konversi ===

END;selesai

Tampilan output pada EdSim

Tampilan output pada Proteus

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, 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

1

0

0

0

0

0

1

1

LED yang padam yaitu LED pada P0.1, P0.2, P0.3, P0.4, P0.5

3.2.2. Penyelesaian

3.2.2.1. Diagram Alir

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

led equ P0;LED terpasang di pintu P0

;=== Pengesetan Awal ====

ORG 0;alamat awal

;=== Program Utama ===

mulai:

;tampilkan kode

MOV A,#kodeC1 ;ambbil kode

CPL A ;membalikkan 01

MOV led,A ;tampilkan di LED

SJMP mulai;kembali ke mulai

;=== Sub program ===

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

;----------------------------------------

;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

0000| MOV A,#kodeC1;ambbil kode

0002| CPL A;membalikkan 01

0003| MOV led,A;tampilkan di LED

0005| SJMP mulai;kembali ke mulai

;=== Sub program ===

;=== Tabel Konversi ===

END;selesai

Tampilan output pada EdSim

Tampilan output pada Proteus

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

1

0

0

0

0

0

1

1

LED yang padam yaitu LED pada P0.1, P0.2, P0.3, P0.4, P0.5.

3.3.2. Penyelesaian

3.3.2.1. Diagram Alir

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)

;- 1x R Net 120 ohm

;========================================

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

CPL A;membalikkan 01

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)

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

;- 1x R Net 120 ohm

;========================================

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

0000| MOV A,#kodeC1k;ambbil kode

0002| CPL A;membalikkan 01

0003| MOV led,A;tampilkan di LED

0005| SJMP mulai;kembali ke mulai

;=== Sub program ===

;=== Tabel Konversi ===

END;selesai

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. 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 ditarikdari dari praktikum ini:

1. Perintah yang sering digunakan adalah perintah MOV yaitu memindahkan data byte tanpa memengaruhi register atau flag lain

2. Data MOV dalam praktikum digunakan untuk memindahkan data yang kemudian diaplikasikan dalam LED

=====================

P01 Pengendali Luaran Digital

STARTDEKLARASI KODE KELOMPOK DAN LED PADA OUPUTPINDAHKAN KODE PADA ATAMPILKAN PADA OUTPUTEND

STARTDEKLARASI KODE KELOMPOK DAN LED PADA OUPUTPINDAHKAN KODE PADA ATAMPILKAN PADA OUTPUTEND

STARTDEKLARASI KODE KELOMPOK DAN LED PADA OUPUTPINDAHKAN KODE PADA ATAMPILKAN PADA OUTPUTENDKOMPLEMENT A

STARTDEKLARASI KODE KELOMPOK DAN LED PADA OUPUTPINDAHKAN KODE PADA ATAMPILKAN PADA OUTPUTENDKOMPLEMENT A

STARTDEKLARASI KODE KELOMPOK DAN LED PADA OUPUTPINDAHKAN KODE PADA ATAMPILKAN PADA OUTPUTENDKOMPLEMENT A

STARTDEKLARASI KODE KELOMPOK DAN LED PADA OUPUTPINDAHKAN KODE PADA ATAMPILKAN PADA OUTPUTENDKOMPLEMENT A