Anda di halaman 1dari 18

LAPORAN PRAKTIKUM MIKROKONTROLER

OLEH: Sinelson Hutagaol (06560031)

LABORATORIUM JARINGAN KOMPUTER PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2009

PERCOBAAN 3 DISPLAY 7 SEGMEN


TUJUAN Pada praktikum kali ini saya akan membuat sejumlah program dengan menggunakan 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 menjadi beberapa 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.1 Percobaan 3.1 Pada 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 ditampilkan pada 7 Segmen Display 1, 2, 5, 8. Programnya sebagai berikut: prog3.1a org 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.1b org 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.1c org 0h

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.1d org 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.2 Percobaan 3.2 Pada 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 clr P3.6 clr P3.7 mov P2,#1110111b call delay setb P3.5 clr P3.6 clr P3.7 mov P2,#1111100b call delay clr P3.5 setb P3.6 clr P3.7 mov P2,#0111001b call delay sjmp start delay: mov R1,#255 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1

;P3.5='0' ;P3.6='0' ;P3.7='0' ;Cetak Karakter'A' ;Panggil Waktu Tunda ;P3.5='1' ;P3.6='0' ;P3.7='0' ;Cetak Karakter'B'

;P3.5='0' ;P3.6='1' ;P3.7='0' ;Cetak Karakter'C' ;Panggil Waktu Tunda ;Lompat ke start

ret end prog3.2b org 0h start : clr P3.5 clr P3.6 clr P3.7 mov P2,#1111001b call delay setb P3.5 clr P3.6 clr P3.7 mov P2,#1110001b call delay clr P3.5 setb P3.6 clr P3.7 mov P2,#1111101b call delay sjmp start delay: mov R1,#255 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1 ret end prog3.2c org 0h start : clr P3.5 setb P3.6 clr P3.7 mov P2,#1110110b call delay setb P3.5 setb P3.6 clr P3.7 mov P2,#0001110b call delay

;P3.5='0' ;P3.6='0' ;P3.7='0' ;Cetak Karakter'E' ;Panggil Waktu Tunda ;P3.5='1' ;P3.6='0' ;P3.7='0' ;Cetak Karakter'F'

;P3.5='0' ;P3.6='1' ;P3.7='0' ;Cetak Karakter'G' ;Panggil Waktu Tunda ;Lompat ke start

;P3.5='0' ;P3.6='0' ;P3.7='0' ;Cetak Karakter'H' ;Panggil Waktu Tunda ;P3.5='1' ;P3.6='0' ;P3.7='0' ;Cetak Karakter'J'

clr P3.5 clr P3.6 setb P3.7 mov P2,#0111000b call delay sjmp 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 clr P3.6 setb P3.7 mov P2,#0000110b call delay clr P3.5 setb P3.6 setb P3.7 mov P2,#1110111b call delay setb P3.5 setb P3.6 setb P3.7 mov P2,#1001111b call delay sjmp start delay: mov R1,#255 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1 ret end

;P3.5='0' ;P3.6='1' ;P3.7='0' ;Cetak Karakter'L' ;Panggil Waktu Tunda ;Lompat ke start

;P3.5='0' ;P3.6='0' ;P3.7='0' ;Cetak Karakter'1' ;Panggil Waktu Tunda ;P3.5='1' ;P3.6='0' ;P3.7='0' ;Cetak Karakter'A'

;P3.5='0' ;P3.6='1' ;P3.7='0' ;Cetak Karakter'3' ;Panggil Waktu Tunda ;Lompat ke start

1.3 Percobaan 3.3 Pada 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 call delay ; setb P3.5 clr P3.6 clr P3.7 mov P2,#1011011b call delay ; clr P3.5 ; setb P3.6 clr P3.7 mov P2,#1001111b call delay ; setb P3.5 setb P3.6 clr P3.7 mov P2,#1100110b call delay ;

; Cetak Karakter '1'

; Cetak Karakter '2'

; Cetak Karakter '3'

; Cetak Karakter '4'

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 call delay ;

; Cetak Karakter '6'

clr P3.5 setb P3.6 setb P3.7 mov P2,#111b ; Cetak Karakter '7' call delay ; setb P3.5 setb P3.6 setb P3.7 mov P2,#1111111b call delay ; sjmp start delay: mov R1,#25 del1: mov R2,#25 del2: djnz R2,del2 djnz R1,del1 ret end prog3.3b org 0h start: clr P3.5 clr P3.6 clr P3.7 mov P2,#0111000b call delay ; setb P3.5 clr P3.6 clr P3.7 mov P2,#1110111b call delay ; clr P3.5 ; setb P3.6 clr P3.7 mov P2,#1111100b call delay ; setb P3.5 ; Lompat ke Start

; Cetak Karakter '8'

; Cetak Karakter '1'

; Cetak Karakter '2'

; Cetak Karakter '3'

setb P3.6 clr P3.7 mov P2,#0110111b call delay ;

; Cetak Karakter '4'

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 call delay ; clr P3.5 setb P3.6 setb P3.7 mov P2,#1010000b call delay ; setb P3.5 setb P3.6 setb P3.7 mov P2,#1011100b call delay ; sjmp 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 ; Lompat ke Start

; Cetak Karakter '6'

; Cetak Karakter 'r'

; Cetak Karakter '0'

; Cetak Karakter '1'

call delay ; setb P3.5 clr P3.6 clr P3.7 mov P2,#1110111b call delay ; clr P3.5 ; setb P3.6 clr P3.7 mov P2,#0110000b call delay ; setb P3.5 setb P3.6 clr P3.7 mov P2,#0110000b call delay ; clr P3.5 clr P3.6 setb P3.7 mov P2,#1011100b ; Cetak Karakter '5' call delay ; setb P3.5 clr P3.6 setb P3.7 mov P2,#1101111b call delay ; clr P3.5 setb P3.6 setb P3.7 mov P2,#0011100b call delay ; setb P3.5 setb P3.6 setb P3.7 mov P2,#1101110b call delay

; Cetak Karakter '2'

; Cetak Karakter 'l'

; Cetak Karakter 'l'

; Cetak Karakter '6'

; Cetak Karakter 'u'

; Cetak Karakter '8'

; sjmp start delay: mov R1,#25 del1: mov R2,#25 del2: djnz R2,del2 djnz R1,del1 ret end prog3.3d org 0h start: clr P3.5 clr P3.6 clr P3.7 mov P2,#1101110b call delay ; setb P3.5 clr P3.6 clr P3.7 mov P2,#1011100b call delay ; clr P3.5 ; setb P3.6 clr P3.7 mov P2,#0011100b call delay ; setb P3.5 setb P3.6 clr P3.7 mov P2,#1010000b call delay ; ; Lompat ke Start

; Cetak Karakter '1'

; Cetak Karakter '2'

; Cetak Karakter '3'

; Cetak Karakter '4'

clr P3.5 clr P3.6 setb P3.7 mov P2,#1010100b ; Cetak Karakter '5' call delay ; setb P3.5 clr P3.6

setb P3.7 mov P2,#1110111b call delay ; clr P3.5 setb P3.6 setb P3.7 mov P2,#1001111b call delay ; setb P3.5 setb P3.6 setb P3.7 mov P2,#1111011b call delay ; sjmp 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

; Cetak Karakter '6'

; Cetak Karakter '7'

; Cetak Karakter '8'

; Lompat ke Start

prog3.1b

prog3.1c

prog3.1d

prog3.2a

prog3.2b

prog3.2c

prog3.2d

prog3.3a

porg3.3b

prog3.3c

prog3.3d

3. ANALISA PROGRAM a. Prog3.1a Pada program prog3.1a hasil yang dapat dilihat adalah Muncul huruf A Hal ini karena terdapat sintaks start : clr P3.5
clr P3.6 clr P3.7 MOV P2,#11110111b

b. Prog3.1b Pada 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.1c Pada program prog3.1c hasil yang dapat dilihat adalah muncul huruf E. Hal ini karena terdapat sintaks start : clr P3.5 clr P3.6 setb P3.7 MOV P2,#1111001b ; cetak karakter 'E' d. Prog3.1d Pada 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.2a Pada 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 clr P3.6 clr P3.7 mov P2,#1111100b call delay clr P3.5 setb P3.6 clr P3.7 mov P2,#0111001b ;P3.5='1' ;P3.6='0' ;P3.7='0' ;Cetak Karakter'B'

;P3.5='0' ;P3.6='1' ;P3.7='0' ;Cetak Karakter'C'

f. prog 3.3a Pada 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.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 call delay ; setb P3.5 clr P3.6 setb P3.7 mov P2,#1111101b call delay ; clr P3.5 setb P3.6 setb P3.7 mov P2,#111b ; Cetak Karakter '7'

; Cetak Karakter '5'

; Cetak Karakter '6'

4. FLOWCHART

Mulai

Initialisasi bil. binner

Konversi binner ke heksa?


Y

baca bil.hasil konversi

Tampilkan ke display

Selesai

5. KESIMPULAN Setelah melakukan beberapa percobaan diatas, kesimpulan yang kami dapatkan dalam pelaksanaan praktikum pada mata kuliah mikrokontroller diantaranya : Mengetahui beberapa instruksi assembly mikroprosesor khususnya

mikroprosesor AT89S51 Dapat mengembangkan logika pemrograman dari permasalahan yang ada dan dapat membuat diagram alir lalu program assemblernya. Memahami rangkaian interface dengan menggunakan display 7 segmen dalam membuat huruf maupun angka pada display tersebut. Memahami rangkaian interface dengan menggunakan interface LCD 2 kolom dan 2 baris pada penulisan huruf yang telah ditentukan dan dengan rekayasa percobaan sendiri. Memahami dalam membuat rangkaian interface mikrokontroller dengan motor stepper 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.

5. FLOWCHART PERCOBAAN

Tentukan source yang dipakai

Program jalan

Pengamatan

Selesa