percobaan 3 _06560031_x
TRANSCRIPT
-
8/3/2019 percobaan 3 _06560031_x
1/18
LAPORAN PRAKTIKUM MIKROKONTROLER
OLEH:
Sinelson Hutagaol (06560031)
LABORATORIUM JARINGAN KOMPUTER
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2009
-
8/3/2019 percobaan 3 _06560031_x
2/18
PERCOBAAN 3DISPLAY 7 SEGMEN
TUJUAN
Pada praktikum kali ini saya akan membuat sejumlah program denganmenggunakan bahasa assembly sebagai bahasa pemrogramannya dan menggunakan
Proteus 6 Professional sebagai lembar desain rangkaian listrik. Pada praktikum kali
ini mempunyai tujuan diantaranya:
1. Dapat memahami rangkaian interface mikrokontroller dengan 7 segmen
2. Dapat memahami program assembly untuk menampilkan data ke 7 segment
3. Dapat memahami beberapa instruksi assembly dasar, MOV, Setb, Clr, dan waktu
tunda.
Program untuk memainkan Display pada praktikum ketiga ini dibagi menjadibeberapa bagian yaitu dimulai dari prog3.1 sampai dengan prog3.3. Pembagian ini
untuk mengetahui display mana saja yang Nyala dan mana yang Padam sesuai dengan
intruksi yang diberikan dengan menggunakan Decoder 74LS138 dimana logika low
1 digunakan untuk menyalakan sebuah segmen sedangkan logika high 0
digunakan untuk mematikan sebuah segmen.
1.1Percobaan 3.1Pada percobaaan 3.1 ini akan dibuat beberapa program dengan menggunakan
bahasa assembly yang diberi nama prog3.1a sampai dengan prog3.1d. Program ini
digunakan untuk memunculkan karakter A, C, E, 3 yang akan ditampilkanpada 7 Segmen Display 1, 2, 5, 8. Programnya sebagai berikut:
prog3.1aorg 0h
start: clr P3.5 ; P3.5 = A='0'
clr P3.6 ; P3.6 = B='0'
clr P3.7 ; P3.7 = C='0'
mov P2,#11110111b ; Cetak Karakter 'A'
sjmp start ; Lompat ke start
end
prog3.1borg 0h
start : setb P3.5 ;p3.5 = A = '0'
clr P3.6 ;p3.6 = B = '0'
clr P3.7 ;p3.7 = C = '0'
MOV P2,#0111001b ; cetak karakter 'c'
sjmp start ; lompat ke start
end
prog3.1corg 0h
-
8/3/2019 percobaan 3 _06560031_x
3/18
start : clr P3.5 ;p3.5 = A = '0'
clr P3.6 ;p3.6 = B = '0'
setb P3.7 ;p3.7 = C = '0'
MOV P2,#1111001b ; cetak karakter 'E'
sjmp start ; lompat ke start
end
prog3.1dorg 0h
start : setb P3.5 ;p3.5 = A = '0'
setb P3.6 ;p3.6 = B = '0'
setb P3.7 ;p3.7 = C = '0'
MOV P2,#1001111b ; cetak karakter '3'
sjmp start ; lompat ke start
end
1.2Percobaan 3.2Pada percobaaan 3.2 ini akan dibuat beberapa program dengan menggunakan
bahasa assembly yang diberi nama prog3.2a sampai dengan prog3.2d. Program ini
digunakan untuk memunculkan karakter AbC, EFG, HJL, 1A3 yang akan
ditampilkan antara 0-7 Segmen Display 1- 8. Programnya sebagai berikut:
Prog3.2a
org 0h
start : clr P3.5 ;P3.5='0'
clr P3.6 ;P3.6='0'
clr P3.7 ;P3.7='0'
mov P2,#1110111b ;Cetak Karakter'A'
call delay ;Panggil Waktu Tunda
setb P3.5 ;P3.5='1'
clr P3.6 ;P3.6='0'
clr P3.7 ;P3.7='0'
mov P2,#1111100b ;Cetak Karakter'B'
call delay
clr P3.5 ;P3.5='0'
setb P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0'
mov P2,#0111001b ;Cetak Karakter'C'
call delay ;Panggil Waktu Tunda
sjmp start ;Lompat ke start
delay: mov R1,#255
del1: mov R2,#255
del2: djnz R2,del2djnz R1,del1
-
8/3/2019 percobaan 3 _06560031_x
4/18
ret
end
prog3.2b
org 0h
start : clr P3.5 ;P3.5='0'clr P3.6 ;P3.6='0'
clr P3.7 ;P3.7='0'
mov P2,#1111001b ;Cetak Karakter'E'
call delay ;Panggil Waktu Tunda
setb P3.5 ;P3.5='1'
clr P3.6 ;P3.6='0'
clr P3.7 ;P3.7='0'
mov P2,#1110001b ;Cetak Karakter'F'
call delay
clr P3.5 ;P3.5='0'
setb P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0'
mov P2,#1111101b ;Cetak Karakter'G'
call delay ;Panggil Waktu Tunda
sjmp start ;Lompat ke start
delay: mov R1,#255del1: mov R2,#255
del2: djnz R2,del2
djnz R1,del1
ret
end
prog3.2c
org 0h
start : clr P3.5 ;P3.5='0'
setb P3.6 ;P3.6='0'
clr P3.7 ;P3.7='0'
mov P2,#1110110b ;Cetak Karakter'H'
call delay ;Panggil Waktu Tunda
setb P3.5 ;P3.5='1'
setb P3.6 ;P3.6='0'
clr P3.7 ;P3.7='0'
mov P2,#0001110b ;Cetak Karakter'J'
call delay
-
8/3/2019 percobaan 3 _06560031_x
5/18
clr P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
setb P3.7 ;P3.7='0'
mov P2,#0111000b ;Cetak Karakter'L'call delay ;Panggil Waktu Tunda
sjmp start ;Lompat ke start
delay: mov R1,#255
del1: mov R2,#255
del2: djnz R2,del2
djnz R1,del1
ret
end
prog3.2d
org 0h
start : setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='0'
setb P3.7 ;P3.7='0'
mov P2,#0000110b ;Cetak Karakter'1'
call delay ;Panggil Waktu Tunda
clr P3.5 ;P3.5='1'
setb P3.6 ;P3.6='0'
setb P3.7 ;P3.7='0'
mov P2,#1110111b ;Cetak Karakter'A'
call delay
setb P3.5 ;P3.5='0'
setb P3.6 ;P3.6='1'
setb P3.7 ;P3.7='0'
mov P2,#1001111b ;Cetak Karakter'3'
call delay ;Panggil Waktu Tunda
sjmp start ;Lompat ke start
delay: mov R1,#255
del1: mov R2,#255
del2: djnz R2,del2
djnz R1,del1
ret
end
-
8/3/2019 percobaan 3 _06560031_x
6/18
1.3Percobaan 3.3Pada percobaaan 3.3 ini akan dibuat beberapa program dengan menggunakan
bahasa assembly yang diberi nama prog3.3a sampai dengan prog3.3d. Program ini
digunakan untuk memunculkan karakter yang akan ditampilkan antara 0-7
Segmen Display 1- 8. Programnya sebagai berikut:
Prog3.3a
org 0h
start: clr P3.5
clr P3.6
clr P3.7
mov P2,#0000110b ; Cetak Karakter '1'
call delay;
setb P3.5
clr P3.6
clr P3.7
mov P2,#1011011b ; Cetak Karakter '2'
call delay
;
clr P3.5 ;
setb P3.6
clr P3.7
mov P2,#1001111b ; Cetak Karakter '3'
call delay
;
setb P3.5
setb P3.6
clr P3.7
mov P2,#1100110b ; Cetak Karakter '4'
call delay
;
clr P3.5
clr P3.6
setb P3.7
mov P2,#1101101b ; Cetak Karakter '5'
call delay
;
setb P3.5
clr P3.6setb P3.7
-
8/3/2019 percobaan 3 _06560031_x
7/18
mov P2,#1111101b ; Cetak Karakter '6'
call delay
;
clr P3.5
setb P3.6setb P3.7
mov P2,#111b ; Cetak Karakter '7'
call delay
;
setb P3.5
setb P3.6
setb P3.7
mov P2,#1111111b ; Cetak Karakter '8'
call delay
;
sjmp start ; Lompat ke Start
delay: mov R1,#25
del1: mov R2,#25
del2: djnz R2,del2
djnz R1,del1
ret
end
prog3.3borg 0h
start: clr P3.5
clr P3.6
clr P3.7
mov P2,#0111000b ; Cetak Karakter '1'
call delay
;
setb P3.5
clr P3.6
clr P3.7
mov P2,#1110111b ; Cetak Karakter '2'
call delay
;
clr P3.5 ;
setb P3.6
clr P3.7
mov P2,#1111100b ; Cetak Karakter '3'
call delay
;
setb P3.5
-
8/3/2019 percobaan 3 _06560031_x
8/18
setb P3.6
clr P3.7
mov P2,#0110111b ; Cetak Karakter '4'
call delay
;
clr P3.5
clr P3.6
setb P3.7
mov P2,#0000110b ; Cetak Karakter '5'
call delay
;
setb P3.5
clr P3.6
setb P3.7
mov P2,#1110110b ; Cetak Karakter '6'
call delay
;
clr P3.5
setb P3.6
setb P3.7
mov P2,#1010000b ; Cetak Karakter 'r'
call delay
;setb P3.5
setb P3.6
setb P3.7
mov P2,#1011100b ; Cetak Karakter '0'
call delay
;
sjmp start ; Lompat ke Start
delay: mov R1,#25
del1: mov R2,#25
del2: djnz R2,del2
djnz R1,del1
ret
end
prog3.3c
org 0h
start: clr P3.5
clr P3.6
clr P3.7
mov P2,#1110110b ; Cetak Karakter '1'
-
8/3/2019 percobaan 3 _06560031_x
9/18
call delay
;
setb P3.5
clr P3.6
clr P3.7mov P2,#1110111b ; Cetak Karakter '2'
call delay
;
clr P3.5 ;
setb P3.6
clr P3.7
mov P2,#0110000b ; Cetak Karakter 'l'
call delay
;
setb P3.5
setb P3.6
clr P3.7
mov P2,#0110000b ; Cetak Karakter 'l'
call delay
;
clr P3.5
clr P3.6
setb P3.7mov P2,#1011100b ; Cetak Karakter '5'
call delay
;
setb P3.5
clr P3.6
setb P3.7
mov P2,#1101111b ; Cetak Karakter '6'
call delay
;
clr P3.5
setb P3.6
setb P3.7
mov P2,#0011100b ; Cetak Karakter 'u'
call delay
;
setb P3.5
setb P3.6
setb P3.7
mov P2,#1101110b ; Cetak Karakter '8'
call delay
-
8/3/2019 percobaan 3 _06560031_x
10/18
;
sjmp start ; Lompat ke Start
delay: mov R1,#25
del1: mov R2,#25
del2: djnz R2,del2djnz R1,del1
ret
end
prog3.3d
org 0h
start: clr P3.5
clr P3.6
clr P3.7
mov P2,#1101110b ; Cetak Karakter '1'
call delay
;
setb P3.5
clr P3.6
clr P3.7
mov P2,#1011100b ; Cetak Karakter '2'
call delay
;
clr P3.5 ;setb P3.6
clr P3.7
mov P2,#0011100b ; Cetak Karakter '3'
call delay
;
setb P3.5
setb P3.6
clr P3.7
mov P2,#1010000b ; Cetak Karakter '4'
call delay
;
clr P3.5
clr P3.6
setb P3.7
mov P2,#1010100b ; Cetak Karakter '5'
call delay
;
setb P3.5
clr P3.6
-
8/3/2019 percobaan 3 _06560031_x
11/18
setb P3.7
mov P2,#1110111b ; Cetak Karakter '6'
call delay
;
clr P3.5setb P3.6
setb P3.7
mov P2,#1001111b ; Cetak Karakter '7'
call delay
;
setb P3.5
setb P3.6
setb P3.7
mov P2,#1111011b ; Cetak Karakter '8'
call delay
;
sjmp start ; Lompat ke Start
delay: mov R1,#25
del1: mov R2,#25
del2: djnz R2,del2
djnz R1,del1
ret
end
2. HASIL PERCOBAAN
a. Dengan gambar
prog3.1a
prog3.1b
-
8/3/2019 percobaan 3 _06560031_x
12/18
prog3.1c
prog3.1d
prog3.2a
prog3.2b
prog3.2c
-
8/3/2019 percobaan 3 _06560031_x
13/18
prog3.2d
prog3.3a
porg3.3b
prog3.3c
prog3.3d
-
8/3/2019 percobaan 3 _06560031_x
14/18
3. ANALISA PROGRAMa. Prog3.1a
Pada program prog3.1a hasil yang dapat dilihat adalah Muncul huruf A Hal ini
karena terdapat sintaks start : clr P3.5clr P3.6
clr P3.7MOV P2,#11110111b
b. Prog3.1bPada program prog3.1b hasil yang dapat dilihat adalah muncul huruf C. Hal
ini karena terdapat sintaks start : setb P3.5
clr P3.6
clr P3.7
MOV P2,#0111001b
c. Prog3.1cPada program prog3.1c hasil yang dapat dilihat adalah muncul huruf E. Hal ini
karena terdapat sintaks start : clr P3.5
clr P3.6setb P3.7
MOV P2,#1111001b ; cetak karakter 'E'
d. Prog3.1dPada program prog3.1d hasil yang dapat dilihat adalah muncul angka 3. Hal
ini karena terdapat sintaks start : setb P3.5
setb P3.6
setb P3.7
MOV P2,#1001111b ; cetak karakter '3'
e. Prog3.2aPada program prog3.2a hasil yang dapat dilihat adalah muncul huruf A,B,C.
Hal ini karena terdapat sintaks start : clr P3.5 ;P3.5='0'
clr P3.6 ;P3.6='0'
clr P3.7 ;P3.7='0'
mov P2,#1110111b ;Cetak Karakter'A'
call delay ;Panggil Waktu Tunda
setb P3.5 ;P3.5='1'clr P3.6 ;P3.6='0'
clr P3.7 ;P3.7='0'
mov P2,#1111100b ;Cetak Karakter'B'
call delay
clr P3.5 ;P3.5='0'
setb P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0'
mov P2,#0111001b ;Cetak Karakter'C'
-
8/3/2019 percobaan 3 _06560031_x
15/18
f. prog 3.3aPada program prog3.3a hasil yang dapat dilihat adalah muncul angka
1,2,3,4,5,6,7 . Hal ini karena terdapat sintaks
start: clr P3.5
clr P3.6clr P3.7
mov P2,#0000110b ; Cetak Karakter '1'
call delay
;
setb P3.5
clr P3.6
clr P3.7
mov P2,#1011011b ; Cetak Karakter '2'
call delay
;
clr P3.5 ;
setb P3.6
clr P3.7
mov P2,#1001111b ; Cetak Karakter '3'
call delay
;
setb P3.5
setb P3.6
clr P3.7mov P2,#1100110b ; Cetak Karakter '4'
call delay
;
clr P3.5
clr P3.6
setb P3.7
mov P2,#1101101b ; Cetak Karakter '5'
call delay
;
setb P3.5
clr P3.6
setb P3.7
mov P2,#1111101b ; Cetak Karakter '6'
call delay
;
clr P3.5
setb P3.6
setb P3.7
mov P2,#111b ; Cetak Karakter '7'
-
8/3/2019 percobaan 3 _06560031_x
16/18
4. FLOWCHART
Mulai
Initialisasi bil. binner
Konversi binner
baca bil.hasil konversi
Tampilkan ke display
Selesai
Y
N
-
8/3/2019 percobaan 3 _06560031_x
17/18
5. KESIMPULANSetelah melakukan beberapa percobaan diatas, kesimpulan yang kami dapatkan
dalam pelaksanaan praktikum pada mata kuliah mikrokontroller diantaranya :
Mengetahui beberapa instruksi assembly mikroprosesor khususnyamikroprosesor AT89S51
Dapat mengembangkan logika pemrograman dari permasalahan yang ada dandapat membuat diagramalir lalu program assemblernya.
Memahami rangkaian interface dengan menggunakan display 7 segmen dalammembuat huruf maupun angka pada display tersebut.
Memahami rangkaian interface dengan menggunakan interface LCD 2 kolomdan 2 baris pada penulisan huruf yang telah ditentukan dan dengan
rekayasa percobaan sendiri.
Memahami dalam membuat rangkaian interface mikrokontroller dengan motorstepper dan cara menggerakan motor stepper. Sehingga kita memahami
cara menggerakan motor stepper dan beberapa instruksi assembly dasar,
MOV, Setb, Clr, RL dan RR, dan kita memahami pembuatan instruksi
waktu tunda.
-
8/3/2019 percobaan 3 _06560031_x
18/18
5. FLOWCHART PERCOBAAN
Pengamatan
Program
jalan
Tentukan
source yang
dipakai