percobaan 3 _06560031_x

Upload: synelson-hutagaol

Post on 06-Apr-2018

217 views

Category:

Documents


0 download

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