P. 1
LAPORAN PRAKTIKUM3

LAPORAN PRAKTIKUM3

|Views: 91|Likes:
Published by kiddy_dr3

More info:

Published by: kiddy_dr3 on May 28, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/28/2011

pdf

text

original

LAPORAN PRAKTIKUM MIKROKONTROLER

Disusun oleh :

DENAR REGATA AKBI 05560164

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2008

PERCOBAAN 3 DISPLAY 7 SEGMEN
I. TUJUAN: 1. Mahasiswa memahami rangkaian interface mikrokontroller dengan 7 segmen 2. Mahasiswa dapat memahami program assembly untuk menampilkan data ke 7 segment 3. Mahasiswa memahami beberapa instruksi assembly dasar, MOV, Setb, Clr, dan waktu tunda.

(a)

(b) Tabel 3.1. Tabel kebenaran 74LS138
INPUT SELECTOR C 0 0 B 0 0 A 0 1 ENABLE G1 /G2A 1 1 0 0 /G2B 0 0 OUTPUT Y1 Y2 Y2 Y3 Y4 Y5 Y6 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 Y7

0 0 1 1 1 1

1 1 0 0 1 1

0 1 0 1 0 1

1 1 1 1 1 1

0 0 0 0 0 0

0 0 0 0 0 0

1 1 1 1 1 1

1 1 1 1 1 1

0 1 1 1 1 1

1 0 1 1 1 1

1 1 0 1 1 1

1 1 1 0 1 1

1 1 1 1 0 1

1 1 1 1 1 0

Pada tabel kebenaran tersebut tampak bahwa seven segmen yang hidup tergantung pada output dari dekoder 74LS138, yang sedang mengeluarkan logika low ”0”, sehingga dari 8 buah display tersebut, selalu hanya satu display yang akan dihidupkan. Agar display tampak nyala secara bersamaan maka ketiga display tersebut harus dihidupkan secara bergantian dengan waktu tunda tertentu. Pada gambar tersebut seven segment commont anoda dikendalikan dengan menggunakan transistor PNP melalui decoder 74LS138, apabila ada logika low pada basis transistor, maka 7 segment akan nyala dan sebaliknya akan padam.

Gambar 3.2 Modul 7 Segment tunggal

Tabel 3.2. Data Display 7 Segmen

P0.6 G 1 1 0 0 : 0 0

P0.5 F 0 1 1 1 : 0 0

P0.4 e 0 1 0 1 : 0 0

P0.3 D 0 1 0 0 : 1 0

P0.2 c 0 0 1 0 : 0 0

P0.1 B 0 0 0 0 : 0 1

P0.0 A 0 1 0 0 : 0 1

Display

0 1 2 3 : A B

Pada tabel tersebut tampak bahwa untuk menghidupkan sebuah segmen, harus dikirimkan data logika low ”0” dan sebaliknya untuk mematikan segmen, harus dikirimkan data logika high ”1”.

II. HASIL PRAKTIKUM III

Percobaan 3.1. Tulis Sebuah Karakter pada 7 Segmen ( Display 1 ) o Percobaan 3.1 org 0h start : clr P3.5 clr P3.6 clr P3.7 mov P2,#11110111b sjmp start end

;P3.5= '0' ;P3.6= '0' ;P3.7= '0' ;Cetak karakter'A' ; Lompat ke start

Print Screen :

o Percobaan 3.1.1 org 0h start: setb P3.5 clr P3.6 clr P3.7 mov P2,#10111001b sjmp start end

;P3.5=A='1' ;P3.6=B='0' ;P3.7=C='0' ; CetakKarakter'C' ; Lompat ke start

Lompat ke start Print Screen: .6=B='0' .Print Screen: o Percobaan 3.P3.1. CetakKarakter'E' .#11111001b sjmp start end .2 org 0h start: clr P3.5 clr P3.P3.P3.7 mov P2.7=C='1' .6 setb P3.5=A='0' .

#10111001b.6 .5='0' setb P3.Cetak karakter'C' call delay .6 . Lompat ke start end Print Screen: Percobaan 3.6='0' clr P3.7 .cetak karakter'B' call delay .7= '0' mov P2. CetakKarakter'3' sjmp start .2.2 org 0h start : clr P3.P3.P3.6=B='1' setb P3.panggil waktu tunda setb P3.6 .5 .P3.#11111100b.#11001111b .7='0' mov P2.7 .5='1' clr P3.P3.Panggil waktu tunda .P3.6='1' clr P3.P3.7=C='1' mov P2.P3.P3.o Percobaan 3.P3.6 .Panggil waktu tunda clr P3.P3.6= '0' clr P3.5=A='1' setb P3. Tulis Tiga Karakter pada 7 Segmen o Percobaan 3.5 .#11110111b.Cetak karakter'A' call delay .1.P3.5 .5 .3 org 0h start: setb P3.7 .7='0' mov P2.P3.5= '0' clr P3.7 .

#255 del1:mov R2.#255 del2:djnz R2.subroutime dekay created to rise delay time .del1 ret end Print Screen: .============================================== delay:mov R1.============================================= .lompat ke start .sjmp start .del2 djnz R1.

cetak karakter 'E' call delay .5 clr P3.6 clr P3.7 . P3.5='1' clr P3.P3.#11111001b .P3.7='0' mov P2.5 = '0' . panggil waktu tunda . P3.7 = '0' mov P2.6 = '0' .panggil waktu tunda setb P3.6='0' clr P3.5 .6 .1 Org 0h start :clr P3.2.o Percobaan 3. P3.#11110001b .7 .P3. cetak karakter 'F' call delay .

7 . cetak karakter 'G' call delay . lompat ke start . del2 djnz R1. P3.====================================== . P3.#11111101b . del1 ret end Print Screen: .clr P3.#255 del2: djnz R2.sub routine delay created to rise delay time delay: mov R1.6 .7 = '0' mov P2. panggil waktu tunda sjmp start .5 .#255 del1: mov R2. P3.6 = '1' clr P3.5 = '0' setb P3.

P3.5='0' clr P3.panggil waktu tunda clr P3.P3.7 .#10011110b .5 .6 .#11110110b . panggil waktu tunda .cetak karakter 'h' call delay .6='0' setb P3.7='1' mov P2.P3.2.5 .7 .P3.2 Org 0h start :setb P3. P3. P3.o Percobaan 3.5 = '1' setb P3.6 . cetak karakter 'j' call delay .7 = '0' mov P2.6 = '1' clr P3.

P3.#255 del1: mov R2.sub routine delay created to rise delay time delay: mov R1. P3.setb P3. P3.6 = '0' setb P3.#255 del2: djnz R2.#10111000b .5 = '1' clr P3.===================================== . cetak karakter 'L' call delay . del1 ret end Print Screen: .7 .7 = '1' mov P2. del2 djnz R1.6 . lompat ke start .5 . panggil waktu tunda sjmp start .

5 .2.7 = '1' mov P2. panggil waktu tunda .5='0' setb P3.5 = '1' clr P3.panggil waktu tunda clr P3.cetak karakter '1' call delay . P3.6 = '0' setb P3.3 Org 0h start :setb P3.5 . P3.6 .P3.7 . P3.P3.7='1' mov P2.6 .o Percobaan 3.6='1' setb P3.#11110111b .P3. cetak karakter 'a' call delay .7 .#10000110b .

#255 del1: mov R2.sub routine delay created to rise delay time delay: mov R1.setb P3. del1 ret end Print Screen: .#255 del2: djnz R2. lompat ke start .5 . P3.===================================== . P3.6 = '1' setb P3.7 . del2 djnz R1.6 . panggil waktu tunda sjmp start .7 = '1' mov P2.#11001111b .5 = '1' setb P3. P3. cetak karakter '3' call delay .

7 mov P2.7 mov P2.#00000110b call delay setb P3.#11011011b .3. Tulis 8 Karakte r pada 7 Segmen o Percobaan 3.5 clr P3.Percobaan 3.5 clr P3.6 clr P3.3 org 0h start: clr P3.6 clr P3.

del2 djnz R1.#10000111b call delay setb P3.#11111101b call delay clr P3.7 mov P2.del1 ret end .7 mov P2.5 setb P3.5 setb P3.6 setb P3.7 mov P2.6 setb P3.6 setb P3.#255 del1: mov R2.#11111111b call delay sjmp start delay: mov R1.6 setb P3.6 clr P3.7 mov P2.5 setb P3.5 setb P3.5 clr P3.#11001111b call delay setb P3.7 mov P2.call delay clr P3.7 mov P2.5 clr P3.#11101101b call delay setb P3.#11100110b call delay clr P3.6 clr P3.#255 del2: djnz R2.

Print Screen: .

.

.

5 setb P3.1 org 0h start: clr P3.6 setb P3.7 mov P2.#11110111b call delay clr P3.#11011100b call delay sjmp start .5 setb P3.o Percobaan 3.5 clr P3.7 mov P2.5 clr P3.6 setb P3.7 mov P2.6 setb P3.#11111000b call delay clr P3.7 mov P2.6 clr P3.3.#10000110b call delay setb P3.7 mov P2.5 setb P3.#11001111b call delay clr P3.5 clr P3.#11010000b call delay setb P3.6 clr P3.5 setb P3.7 mov P2.#10111000b call delay setb P3.7 mov P2.6 setb P3.6 clr P3.#11111100b call delay setb P3.5 clr P3.6 clr P3.7 mov P2.

delay: mov R1.del1 ret end Print Screen: .#255 del2: djnz R2.#255 del1: mov R2.del2 djnz R1.

.

.

5 setb P3.6 clr P3.#11110111b call delay clr P3.6 clr P3.7 mov P2.3.#10110000b call delay setb P3.#10110000b call delay clr P3.5 clr P3.#11110110b call delay setb P3.6 setb P3.7 mov P2.6 clr P3.5 clr P3.2 org 0h start:clr P3.o Percobaan 3.7 mov P2.#11011100b call delay .6 clr P3.5 clr P3.5 setb P3.7 mov P2.7 mov P2.

5 clr P3.5 setb P3.7 mov P2.6 setb P3.#11101110b call delay sjmp start delay: mov R1.del2 djnz R1.#10011100b call delay setb P3.del1 ret end Print Screen: .7 mov P2.#255 del2: djnz R2.6 setb P3.setb P3.5 setb P3.7 mov P2.6 setb P3.#11111011b call delay clr P3.#255 del1: mov R2.

.

.

3.6 .7 mov P2.5 setb P3.#11011100b call delay clr P3.5 clr P3.3 org 0h start:clr P3.7 mov P2.#11101110b call delay setb P3.5 clr P3.o Percobaan 3.6 clr P3.6 clr P3.

#255 del2: djnz R2.#11110111b call delay clr P3.6 setb P3.7 mov P2.del1 ret end .6 setb P3.7 mov P2.6 clr P3.#11010000b call delay clr P3.#255 del1: mov R2.#11001111b call delay setb P3.#11010100b call delay setb P3.5 setb P3.#10011100b call delay setb P3.7 mov P2.del2 djnz R1.6 setb P3.5 setb P3.7 mov P2.clr P3.7 mov P2.7 mov P2.5 setb P3.6 setb P3.5 clr P3.5 clr P3.#11111011b call delay sjmp start delay: mov R1.

Print Screen: .

.

.

P3. Untuk menentukan Posisi karakter‘C’ pada display kita harus menuliskan sintax ’setb’ pada P3.1 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter’A’ pada posisi awal atau index pertama pada display. Sebagai contoh: A F G E D C H B Dimisalkan pada gambar diatas. sebagai contoh: .1 Pada percobaan 3. Tulis Sebuah Karakter pada 7 Segmen ( Display 1 ) o Percobaan 3.G.F.5 sintax ’clr’ pada P3. sintax ’setb’ ini dimaksudkan untuk mengeset/memberikan logika’1’. P3.1.#11110111b’ .6. sebagai contoh: Sedangkan untuk Membentuk karakter’A’ kita harus menuliskan sintax ’MOV P2.1 Pada percobaan 3. Untuk menentukan Posisi karakter‘A’ pada display kita harus menuliskan sintax’clr’ pada P3.1.Berhubung dalam praktikum ini kita menggunakan’Display Commond Catoda’ jadi untuk menyalakan display Commond Catoda kita memberikan nilai atau bit’1’.H sedangkan D diberikan nilai / bit 0.7.5. jadi dengan memberikan nilai / bit 1 pada A.1. sedangkan sintax ’clr’ ini dimaksudkan untuk mengeset/memberikan logika’0’. maka akan terbentuk karakter’A’ o Percobaan 3. ANALISA Percobaan 3. sintax’clr’ ini dimaksudkan untuk mengeset/memberikan logika 0.7.6.1 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter’C’ pada posisi atau index kedua pada display.E.C.III. P3.B.

Untuk menentukan Posisi karakter‘E’ pada display kita harus menuliskan sintax ’setb’ pada P3. maka akan terbentuk karakter’C’ o Percobaan 3. jadi dengan memberikan nilai / bit 1 pada A.1.Sedangkan untuk Membentuk karakter’C’ kita harus menuliskan sintax ‘MOV P2.F. sintax ’setb’ ini dimaksudkan untuk mengeset/memberikan logika’1’. sedangkan sintax ’clr’ ini dimaksudkan untuk mengeset/memberikan logika’0’. Sebagai contoh: A F G E D C H B Dimisalkan pada gambar diatas.6.C.Berhubung dalam praktikum ini kita menggunakan’Display Commond Catoda’ jadi untuk menyalakan display Commond Catoda kita memberikan nilai atau bit’1’. P3.1.7 sintax ’clr’ pada P3.H sedangkan B. sebagai contoh: .2 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter’E’ pada posisi atau index kelima pada display.2 Pada percobaan 3.5.E.#10111001b’ .G diberikan nilai / bit 0.D.

5. P3.3 Pada percobaan 3.1.7 sintax ’setb’ ini dimaksudkan untuk mengeset/memberikan logika’1’.#11111001b’ .3 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter’3’ pada posisi atau index ke delapan pada display. P3.E.H sedangkan B.F.6.Sedangkan untuk Membentuk karakter’E’ kita harus menuliskan sintax ’MOV P2.#11001111b’ .1.G. Untuk menentukan Posisi karakter‘3’ pada display kita harus menuliskan sintax ’setb’ pada P3.D. sebagai contoh: Sedangkan untuk Membentuk karakter’3’ kita harus menuliskan sintax ’MOV P2.Berhubung dalam praktikum ini kita menggunakan’Display Commond Catoda’ jadi untuk menyalakan display Commond Catoda kita memberikan nilai atau bit’1’. maka akan terbentuk karakter’E’ o Percobaan 3. jadi dengan memberikan nilai / bit 1 pada A.C diberikan nilai / bit 0. Sebagai contoh: A F G E D C H B .Berhubung dalam praktikum ini kita menggunakan’Display Commond Catoda’ jadi untuk menyalakan display Commond Catoda kita memberikan nilai atau bit’1’. Sebagai contoh: A F G E D C H B Dimisalkan pada gambar diatas.

2 Pada percobaan 3.C.F. . sehingga didapat nyala karakter E. Tulis Tiga Karakter pada 7 Segmen o Percobaan 3.B.6. sehingga didapat nyala karakter A.7 kita harus menuliskan / memberikan sintax CLR.2. Untuk mengatur nyala antara karakter satu dengan yang lain sehingga terlihat nyalanya bergantian kita harus mengeset delay. P3.B.B.6 0 0 1 P3.C’ secara bergantian pada display dan posisi index pada masing – masing karakter berbeda.F.Dimisalkan pada gambar diatas.#11110111B’ untuk membentuk karakter A. contoh : delay: mov R1.5. ‘MOV P2. atau P3. contoh : ‘MOV P2.5.5 0 1 0 P3.C secara bergantian dengan mengeset DELAY.D.2 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter’A.#10111001B’ untuk membentuk karakter C.#11111100B’ untuk membentuk karakter b.2. ‘MOV P2.G’ secara bergantian pada display dan posisi index pada masing – masing karakter berbeda.1 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter’E.7 kita harus menuliskan / memberikan sintax SETB. maka akan terbentuk karakter’3’ Percobaan 3. jadi dengan memberikan nilai / bit 1 pada A. atau P3.2.G secara bergantian dengan mengeset DELAY.F diberikan nilai / bit 0. Untuk menentukan masing – masing karakter sehingga menempati posisi atau index yang berbeda kita harus mengeset atau menuliskan sintax SETB dan CLR sebagai contoh : Karakter A b C P3.6.7 0 0 0 Posisi/index ke 1 2 3 NB : untuk memberikan logika 1 pada P3.G.C kita harus menuliskan sintax ‘MOV’ sebanyak tiga kali. sebaliknya untuk memberikan logika 0 pada P3.H sedangkan E.#255 o Percobaan 3. Untuk membentuk karakter A. P3.B.1 Pada percobaan 3.

7 kita harus menuliskan / memberikan sintax SETB. ‘MOV P2. atau P3.J.2 Pada percobaan 3.2.G kita harus menuliskan sintax ‘MOV’ sebanyak tiga kali.5. atau P3.#11111001B’ untuk membentuk karakter E. Untuk menentukan masing – masing karakter sehingga menempati posisi atau index yang berbeda kita harus mengeset atau menuliskan sintax SETB dan CLR sebagai contoh : Karakter A b C P3. sebaliknya untuk memberikan logika 0 pada P3.#255 o Percobaan 3. sehingga didapat nyala karakter H.F.6. Untuk mengatur nyala antara karakter satu dengan yang lain sehingga terlihat nyalanya bergantian kita harus mengeset delay. P3. contoh : ‘MOV P2. Untuk membentuk karakter H.2.6 0 0 1 P3.#11111101B’ untuk membentuk karakter G.L secara bergantian dengan mengeset DELAY.#10111000B’ untuk membentuk karakter L Untuk menentukan masing – masing karakter sehingga menempati posisi atau index yang berbeda kita harus mengeset atau menuliskan sintax SETB dan CLR sebagai contoh : .L kita harus menuliskan sintax ‘MOV’ sebanyak tiga kali. ‘MOV P2.5 0 1 0 P3.#11110110B’ untuk membentuk karakter H.5. ‘MOV P2.J. contoh : ‘MOV P2.6.#11110001B’ untuk membentuk karakter F.J.#10011110B’ untuk membentuk karakter J.2 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter’H.Untuk membentuk karakter E.7 0 0 0 Posisi/index ke 1 2 3 NB : untuk memberikan logika 1 pada P3. P3. ‘MOV P2.7 kita harus menuliskan / memberikan sintax CLR. contoh : delay: mov R1.L’ secara bergantian pada display dan posisi index pada masing – masing karakter berbeda.

3 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter’1.#255 o Percobaan 3. ‘MOV P2.5 1 0 1 P3.7 kita harus menuliskan / memberikan sintax SETB.L kita harus menuliskan sintax ‘MOV’ sebanyak tiga kali. sebaliknya untuk memberikan logika 0 pada P3. P3.Karakter H J L P3.6 1 0 0 P3.7 0 1 1 Posisi/index ke 4 5 6 NB : untuk memberikan logika 1 pada P3. P3.7 1 1 1 Posisi/index ke 6 7 8 . atau P3.#11001111B’ untuk membentuk karakter 3 Untuk menentukan masing – masing karakter sehingga menempati posisi atau index yang berbeda kita harus mengeset atau menuliskan sintax SETB dan CLR sebagai contoh : Karakter 1 A 3 P3.a.a. sehingga didapat nyala karakter 1. ‘MOV P2.3 Pada percobaan 3.#11110111B’ untuk membentuk karakter A.J.2.5.6.3 secara bergantian dengan mengeset DELAY.7 kita harus menuliskan / memberikan sintax CLR. atau P3. Untuk mengatur nyala antara karakter satu dengan yang lain sehingga terlihat nyalanya bergantian kita harus mengeset delay. Untuk membentuk karakter H.6. contoh : ‘MOV P2.6 0 1 1 P3.3’ secara bergantian pada display dan posisi index pada masing – masing karakter berbeda.5.5 1 0 1 P3. contoh : delay: mov R1.#10000110B’ untuk membentuk karakter 1.2.

atau P3.7 kita harus menuliskan / memberikan sintax SETB. P3. sebaliknya untuk memberikan logika 0 pada P3.6.3.5 0 1 0 1 0 1 0 1 P3. atau P3.#255 Percobaan 3. Untuk menentukan posisi display tiap karakter angka sehingga menempati posisi atau index yang diinginkan kita harus mengeset atau menuliskan sintax SETB dan CLR sebagai adalah sbb : Karakter 1 2 3 4 5 6 7 8 P3.7 kita harus menuliskan / memberikan sintax CLR.7 kita harus menuliskan / memberikan sintax CLR. atau P3.6. Karakter angka 1 menempati display pertama dan seterusnya sampai karakter angka 8 menempati display ke delapan. contoh : delay: mov R1.NB : untuk memberikan logika 1 pada P3.7 0 0 0 0 1 1 1 1 Posisi/index ke 1 2 3 4 5 6 7 8 NB : untuk memberikan logika 1 pada P3.6.6. atau P3.5. P3.3 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter angka dimulai dari 1 sampai 8 secara bergantian. Tulis 8 Karakte r pada 7 Segmen o Percobaan 3. Untuk mengatur nyala antara karakter satu dengan yang lain sehingga terlihat nyalanya bergantian kita harus mengeset delay. P3. sebaliknya untuk memberikan logika 0 pada P3.7 kita harus menuliskan / memberikan sintax SETB.6 0 0 1 1 0 0 1 1 P3.5.3 Pada percobaan 3. .5.5. P3.

Karakter ‘L’ akan menempati display pertama dan seterusnya sampai karakter ‘o’ menempati display ke delapan.6.5 0 1 0 1 0 1 0 1 P3.7 0 0 0 0 1 1 1 1 Posisi/index ke 1 2 3 4 5 6 7 8 NB : untuk memberikan logika 1 pada P3. contoh : delay: mov R1.1 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter ’Labmikro’ secara bergantian. atau P3.5. P3.Untuk mengatur nyala antara karakter satu dengan yang lain sehingga terlihat nyalanya bergantian kita harus mengeset delay.3.7 kita harus menuliskan / memberikan sintax SETB. .7 kita harus menuliskan / memberikan sintax CLR.6 0 0 1 1 0 0 1 1 P3. Untuk menentukan posisi display tiap karakter sehingga menempati posisi atau index yang diinginkan kita harus mengeset atau menuliskan sintax SETB dan CLR sebagai adalah sbb : Karakter L A b m i k r o P3.#255 o Percobaan 3.6.1 Pada percobaan 3.3. atau P3. sebaliknya untuk memberikan logika 0 pada P3. P3.5.

5 0 1 0 1 0 1 0 1 P3.2 Pada percobaan 3.5. P3.6.6 0 0 1 1 0 0 1 1 P3.7 kita harus menuliskan / memberikan sintax CLR. contoh : delay: mov R1.6.#255 o Percobaan 3.Untuk mengatur nyala antara karakter satu dengan yang lain sehingga terlihat nyalanya bergantian kita harus mengeset delay. atau P3. atau P3. . Karakter ‘H’ akan menempati display pertama dan seterusnya sampai karakter ‘y’ menempati display ke delapan.7 0 0 0 0 1 1 1 1 Posisi/index ke 1 2 3 4 5 6 7 8 NB : untuk memberikan logika 1 pada P3. sebaliknya untuk memberikan logika 0 pada P3.7 kita harus menuliskan / memberikan sintax SETB.3.3. Untuk menentukan posisi display tiap karak ter sehingga menempati posisi atau index yang diinginkan kita harus mengeset atau menuliskan sintax SETB dan CLR sebagai adalah sbb : Karakter H A l l o g u y P3.2 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter ’HAlloguy’ secara bergantian.5. P3.

6.#255 . atau P3.6 0 0 1 1 0 0 1 1 P3. P3.6.5 0 1 0 1 0 1 0 1 P3.#255 o Percobaan 3. sebaliknya untuk memberikan logika 0 pada P3.3 program dimulai pada ORG(Origin) 0h yang mana program ini akan menampilkan karakter ’YournAme’ secara bergantian.5.3. contoh : delay: mov R1.3 Pada percobaan 3.7 kita harus menuliskan / memberikan sintax CLR. P3.7 0 0 0 0 1 1 1 1 Posisi/index ke 1 2 3 4 5 6 7 8 NB : untuk memberikan logika 1 pada P3.5.7 kita harus menuliskan / memberikan sintax SETB. Karakter ‘Y’ akan menempati display pertama dan seterusnya sampai karakter ‘e’ menempati display ke delapan.3. atau P3.Untuk mengatur nyala antara karakter satu dengan yang lain sehingga terlihat nyalanya bergantian kita harus mengeset delay. Untuk mengatur nyala antara karakter satu dengan yang lain sehingga terliha t nyalanya bergantian kita harus mengeset delay. Untuk menentukan posisi display tiap karakter sehingga menempati posisi atau index yang diinginkan kita harus mengeset atau menuliskan sintax SETB dan CLR sebagai adalah sbb : Karakter Y o u r n A m e P3. contoh : delay: mov R1.

1 START INISIALISASI AWAL ALAMAT 0h AKTIFKAN DIGIT 2 PADA 7 SEGMENT CETAK KARAKTER “C” o Percobaan 3.1.2 START INISIALISASI AWAL ALAMAT 0h AKTIFKAN DIGIT 5 PADA 7 SEGMENT CETAK KARAKTER “E” .1.IV. Tulis Sebuah Karakter pada 7 Segmen ( Display 1 ) o Percobaan 3.1.1 START INISIALISASI AWAL ALAMAT 0h AKTIFKAN DIGIT 1 PADA 7 SEGMENT CETAK KARAKTER “A” o Percobaan 3. FLOWCHART Percobaan 3.

1 DELAY DELAY DELAY YA R1 = 0 TIDAK D E RET .2.1 AKTIFKAN DIGIT 1 PADA 7 SEGMENT AKTIFKAN DIGIT 2 PADA 7 SEGMENT AKTIFKAN DIGIT 3 PADA 7 SEGMENT R2 = 0 YA CETAK KARAKTER “A” CETAK KARAKTER “B” CETAK KARAKTER “C” TIDAK R1 = R1 .o Percobaan 3. Tulis Tiga Karakter pada 7 Segmen o Percobaan 3.1.3 START INISIALISASI AWAL ALAMAT 0h AKTIFKAN DIGIT 8 PADA 7 SEGMENT CETAK ANGKA “3” Percobaan 3.2 DELAY R1 = 255 START INISIALISASI AWAL ALAMAT 0h R2 = 255 D E R2 = R2 .

1 AKTIFKAN DIGIT 4 PADA 7 SEGMENT AKTIFKAN DIGIT 5 PADA 7 SEGMENT AKTIFKAN DIGIT 6 PADA 7 SEGMENT R2 = 0 YA CETAK KARAKTER “H” CETAK KARAKTER “J” CETAK KARAKTER “L” TIDAK R1 = R1 .2.o Percobaan 3.2.1 DELAY DELAY DELAY YA R1 = 0 TIDAK D E RET .1 AKTIFKAN DIGIT 1 PADA 7 SEGMENT AKTIFKAN DIGIT 2 PADA 7 SEGMENT AKTIFKAN DIGIT 3 PADA 7 SEGMENT R2 = 0 YA CETAK KARAKTER “E” CETAK KARAKTER “F” CETAK KARAKTER “G” TIDAK R1 = R1 .1 DELAY R1 = 255 START INISIALISASI AWAL ALAMAT 0h R2 = 255 D E R2 = R2 .1 DELAY DELAY DELAY YA R1 = 0 TIDAK D E RET o Percobaan 3.2 DELAY R1 = 255 START INISIALISASI AWAL ALAMAT 0h R2 = 255 D E R2 = R2 .

Tulis 8 Karakte r pada 7 Segmen o Percobaan 3.1 AKTIFKAN DIGIT 6 PADA 7 SEGMENT AKTIFKAN DIGIT 7 PADA 7 SEGMENT AKTIFKAN DIGIT 8 PADA 7 SEGMENT R2 = 0 YA CETAK KARAKTER “1” CETAK KARAKTER “A” CETAK KARAKTER “3” TIDAK R1 = R1 .3 DELAY R1 = 255 START INISIALISASI AWAL ALAMAT 0h R2 = 255 D E R2 = R2 .2 .o Percobaan 3.1 DELAY DELAY DELAY YA R1 = 0 TIDAK D E RET Percobaan 3.2.3.

START INISIALISASI AWAL ALAMAT 0h D E N AKTIFKAN DIGIT 1 PADA 7 SEGMENT AKTIFKAN DIGIT 3 PADA 7 SEGMENT AKTIFKAN DIGIT 5 PADA 7 SEGMENT AKTIFKAN DIGIT 7 PADA 7 SEGMENT DELAY CETAK KARAKTER “1” CETAK KARAKTER “3” CETAK KARAKTER “5” CETAK KARAKTER “7” R1 = 255 DELAY DELAY DELAY DELAY R2 = 255 AKTIFKAN DIGIT 2 PADA 7 SEGMENT AKTIFKAN DIGIT 4 PADA 7 SEGMENT AKTIFKAN DIGIT 6 PADA 7 SEGMENT AKTIFKAN DIGIT 8 PADA 7 SEGMENT R2 = R2 .1 DELAY DELAY DELAY DELAY YA R1 = 0 TIDAK D E N RET .1 R2 = 0 YA CETAK KARAKTER “2” CETAK KARAKTER “4” CETAK KARAKTER “6” CETAK KARAKTER “8” TIDAK R1 = R1 .

1 START INISIALISASI AWAL ALAMAT 0h D E N AKTIFKAN DIGIT 1 PADA 7 SEGMENT AKTIFKAN DIGIT 3 PADA 7 SEGMENT AKTIFKAN DIGIT 5 PADA 7 SEGMENT AKTIFKAN DIGIT 7 PADA 7 SEGMENT DELAY CETAK KARAKTER “L” CETAK KARAKTER “B” CETAK KARAKTER “I” CETAK KARAKTER “R” R1 = 255 R2 = 255 DELAY DELAY DELAY DELAY R2 = R2 .2.1 DELAY DELAY DELAY DELAY YA R1 = 0 TIDAK D E N RET .o Percobaan 3.1 AKTIFKAN DIGIT 2 PADA 7 SEGMENT AKTIFKAN DIGIT 4 PADA 7 SEGMENT AKTIFKAN DIGIT 6 PADA 7 SEGMENT AKTIFKAN DIGIT 8 PADA 7 SEGMENT R2 = 0 YA CETAK KARAKTER “A” CETAK KARAKTER “M” CETAK KARAKTER “K” CETAK KARAKTER “O” TIDAK R1 = R1 .

2 START INISIALISASI AWAL ALAMAT 0h AKTIFKAN DIGIT 1 PADA 7 SEGMENT CETAK KARAKTER “H” D E N AKTIFKAN DIGIT 3 PADA 7 SEGMENT AKTIFKAN DIGIT 5 PADA 7 SEGMENT CETAK KARAKTER “O” AKTIFKAN DIGIT 7 PADA 7 SEGMENT CETAK KARAKTER “U” DELAY R1 = 255 CETAK KARAKTER “L” R2 = 255 DELAY DELAY DELAY DELAY R2 = R2 .1 AKTIFKAN DIGIT 2 PADA 7 SEGMENT CETAK KARAKTER “A” AKTIFKAN DIGIT 4 PADA 7 SEGMENT AKTIFKAN DIGIT 6 PADA 7 SEGMENT CETAK KARAKTER “G” AKTIFKAN DIGIT 8 PADA 7 SEGMENT CETAK KARAKTER “Y” R2 = 0 YA TIDAK R1 = R1 .1 CETAK KARAKTER “L” DELAY DELAY DELAY DELAY YA R1 = 0 TIDAK D E N RET .2.o Percobaan 3.

1 YA R1 = 0 TIDAK RET .o Percobaan 3.3 START INISIALISASI AWAL ALAMAT 0h AKTIFKAN DIGIT 1 PADA 7 SEGMENT CETAK KARAKTER “Y” D E N AKTIFKAN DIGIT 3 PADA 7 SEGMENT CETAK KARAKTER “U” AKTIFKAN DIGIT 5 PADA 7 SEGMENT CETAK KARAKTER “N” AKTIFKAN DIGIT 7 PADA 7 SEGMENT CETAK KARAKTER “M” DELAY DELAY DELAY DELAY AKTIFKAN DIGIT 2 PADA 7 SEGMENT CETAK KARAKTER “O” AKTIFKAN DIGIT 4 PADA 7 SEGMENT CETAK KARAKTER “R” AKTIFKAN DIGIT 6 PADA 7 SEGMENT CETAK KARAKTER “A” AKTIFKAN DIGIT 8 PADA 7 SEGMENT CETAK KARAKTER “E” DELAY DELAY DELAY DELAY D DELAY E N R1 = 255 R2 = 255 R2 = R2 .2.1 R2 = 0 YA TIDAK R1 = R1 .

 MOV ( MOVE ) MOV merupakan singkatan dari MOVE artinya memindahkan data Sebagai contoh : . Bagian-bagian di program utama akan ‘memanggil’ (CALL) sub-rutin.2  a diisi oleh datanya yang ada dialamat 2 . Satu-satunya cara membentuk sub-rutin adalah memberi instruksi RET pada akhir potongan program sub-rutin.#2  a diisi oleh angka 2 .V. KESIMPULAN  ORG ( ORIGINAL ) ORG singkatan dari ORIGINAL adalah perintah pada assembler agar berikutnya assembler bekerja pada memori-program nomor yang disebut di belakang ORG.Mov a.Mov a. jadi nya la LED atau display bisa diatur dengan mengeset waktu tunda atau delaynya.  WAKTU TUNDA Waktu tunda digunakan untuk delay atau waktu jeda. b  data dari b dimasukkan di a .@b  b isinya alamatnya apa? Kemudian alamat tersebut ditunjuk dan data dari alamat b yang telah ditunjuk diisikan di a  SET-B & Clr Set b  membuat / memberikan logika 1 Clr  membuat / memberikan logika 0  SUB-RUTIN Sub-rutin merupakan suatu potong program yang karena berbagai pertimbangan dipisahkan dari program utama.Mov a. Sebagai contoh : org 0h … end (dalam hal ini meminta assembler berikutnya bekerja pada memori-program nomor 0h / atau program dimulai pada 0h).  Logika Untuk Membuat Angka atau Karakter Dalam Display A F G E D Untuk Commond Katoda : A B C H D F G E C H B . selesai mengerjakan sub-rutin mikrokontroler kembali ke alur program utama. artinya mikrokontroler sementara meninggalkan alur program utama untuk mengerjakan instruksi-instruksi dalam sub-rutin.Mov a.

6 0 0 1 1 0 0 1 1 P3.7 0 0 0 0 1 1 1 1 Posisi/index ke 1 2 3 4 5 6 7 8 .Untuk menghidupkan display CC ( Commond Catoda ) kita harus memberikan nilai bit”1” Untuk Commond Anoda : Untuk menghidupkan display CA ( Command Anoda ) kita harus memberikan nilai bit”0”  Logika Untuk Menentukan Posisi Dalam Display P3.5 0 1 0 1 0 1 0 1 P3.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->