Anda di halaman 1dari 44

MODUL PRAKTIKUM

PEMROGRAMAN MIKROKONTROLER

disusun oleh :
Dolly Indra, S.Kom., M.MSI

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER
UNIVERSITAS MUSLIM INDONESIA

PENDAHULUAN
TUJUAN PRAKTIKUM

Tujuan dari keseluruhan praktikum ini adalah agar praktikan mampu memprogram
mikrokontroler keluarga MCS-51 untuk diterapkan pada aplikasi LED dan 7 Segmen.

RUANG LINGKUP

Praktikum ini mencakup percobaan menggunakan modul training kit dengan bantuan
Personal computer (PC) dan software Notepad, MIDE dan Progisp168.

SISTEMATIKA PANDUAN PRAKTIKUM DASAR MIKROKONTROLER


KELUARGA MCS-51

Panduan praktikum mikrokontroler keluarga MCS-51 ini terbagi dalam 9 bab. Adapun garis
besar masing-masing percobaan adalah sebagai berikut :

1. PENDAHULUAN

Membahas mengenai tujuan praktikum, ruang lingkup serta sistematika panduan


praktikum dasar mikrokontroler keluarga MCS-51.

2. PENJELASAN PERANGKAT PRAKTIKUM

Membahas mengenai perangkat keras, cara menghubungkan perangkat keras, perangkat


lunak serta cara menggunakan perangkat lunak.

3. PERCOBAAN 1 PENGGUNAAN PORT I/O (A)

Praktikan mampu membuat program input dan output menggunakan Port 1 secara per
bit dan byte.

4. PERCOBAAN 2 PENGGUNAAN PORT I/O (B)

Praktikan mampu membuat program input dan output menggunakan Port yang ada pada
IC 89C51.

5. PERCOBAAN 3 PROGRAM FLIP-FLOP LED (A)

Praktikan mampu membuat program flip-flop untuk LED (mati-hidup secara bergantian)

6. PERCOBAAN 4 PROGRAM FLIP-FLOP LED (B)

Praktikan mampu membuat program flip-flop untuk LED (mati-hidup secara


bergantian).

7. PERCOBAAN 5 PROGRAM FLIP-FLOP LED (C)

Praktikan mampu membuat program flip-flop untuk LED (mati-hidup secara


bergantian).

8. PERCOBAAN 6 SEVEN SEGMEN (A)

Praktikan mampu memahami rangkaian interface dan membuat program untuk


menampilkan angka dan huruf pada seven segment (7-Segments).

9. PERCOBAAN 7 SEVEN SEGMEN (B)

Praktikan mampu memahami rangkaian interface dan membuat program untuk


menampilkan angka dan huruf pada seven segment (7-Segments) dengan menggunakan
data array

10. PERCOBAAN 8 SEVEN SEGMEN (C)


Praktikan mampu memahami rangkaian interface dan membuat program untuk
menampilkan angka dan huruf pada seven segment (7-Segments) dengan menggunakan
teknik scanning.

PENJELASAN PERANGKAT PRAKTIKUM


PERANGKAT KERAS

Perangkat keras yang digunakan dalam setiap praktikum adalah :


1. Personal Computer (PC)
2. Modul Training Kit
3. Downloader dengan interface USB
4. Kabel (Interface antara PC dengan Downloader)
5. Adaptor

CARA MENGHUBUNGKAN PERANGKAT KERAS


Petunjuk penggunaan Trainer
1. Hubungkan konektor PS pada modul ke Supply +5V

2.
3.
4.
5.

Hubungkan konektor programmer pada modul trainer dengan downloader.


Hubungkan interface USB antara komputer dengan downloader
Lakukan percobaan sesuai dengan gambar skematik rangkaian.
Lakukan pengaturan jumper dan posisi sw sesuai dengan kebutuhan.
Tabel Posisi SW
NO

POSISI

FUNGSI

Programming

Proses Pengisian mikroprosesor IC 89C51

RUN /EN ADC

Mode Stand Alone / Untuk menjalankan ADC dan


tekan tombol reset

PERANGKAT LUNAK

Perangkat lunak yang digunakan adalah Notepad.exe, MIDE serta Progisp168

CARA MENGGUNAKAN PERANGKAT LUNAK


Untuk mengetik program digunakan editor Notepad.exe. Setelah menulis program simpan
dengan format : nama file.asm
Contoh : lat.asm

Gambar 2. Editor Notepad

Lakukan proses assembling (Compile).


Untuk proses assembling gunakan software MIDE dengan cara panggil kembali program
yang telah diketik di notepad sebelumnya (Ingat dimana file anda simpan sebelumnya).
Misalnya lat.asm. Kemudian lakukan proses assembling jika berhasil maka akan muncul
nama file.lst dan nama file.hex
Contoh : lat.asm,
lat.lst,
lat.hex

Gambar 3. Tampilan MIDE


5

Lakukan proses pengisian ke mikrokontroler IC 89C51


Langkah-langkahnya :
1. Click Erase, untuk menghapus program sebelumnya.
2. Load Flash, untuk memanggil program. Program yang dipanggil dengan format :
namafile.hex
3. Click Auto, untuk melakukan proses mengisian ulang program.

Gambar 4. Tampilan Progisp168

PERCOBAAN 1
PENGGUNAAN PORT I/O (A)
TUJUAN PRAKTIKUM

Praktikan mampu membuat program input dan output menggunakan Port 1 secara per bit
dan byte

DASAR TEORI

Mikrokontroler AT89C51 mempunyai 40 kaki, 32 kaki diantaranya adalah kaki untuk


keperluan Port pararel. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki
tersebut membentuk 4 port paralel, yang masing-masing dikenal sebagai Port 0, Port 1 dan
Port 3. Nomor dari masing-masing jalur (kaki) dari Port paralel mulai dari 0 sampai 7, jalur
(kaki) pertama Port 0 disebut sebagai P0.0 dan jalur terakhir untuk Port 3 adalah P3.7.

PERINTAH YANG DIGUNAKAN

MOV : Perintah yang digunakan untuk memindahkan data


SETB : Perintah yang digunakan untuk menset bit
CLR : Perintah yang digunakan untuk clear bit
SJMP : Perintah yang digunakan untuk melompat (Short Jump)

PROSEDUR PERCOBAAN
1. Ketikan program dibawah ini dan amati hasilnya
ORG 0H
MULAI:
SETB P0.0
CLR P0.1
SETB P0.2
CLR P0.3
SETB P0.4
SETB P0.5
SETB P0.6
SETB P0.7
SJMP MULAI
END
Pertanyaan :
a. Jelaskan maksud dari perintah-perintah diatas. (Mulai dari ORG 0H
sampai END)
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
7

...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
b. Output LED (Isi dengan Nyala atau Mati)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3

2.

Bit 2

Bit 1

Bit 0

Ketikan program dibawah ini dan amati hasilnya


ORG 0H
MULAI:
MOV P0,#11100111B
SJMP MULAI
END
Pertanyaan :
a. Apa maksud dari perintah MOV P0,#11100111B
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
b. Output LED (Isi dengan Nyala atau Mati)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3

Bit 2

Bit 1

Bit 0

3. Buatlah program untuk menyalakan 8 buah led pada port 0.Perintah yang
digunakan :
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
Tugas : (Dikumpulkan pada percobaan selanjutnya)
1. Jelaskan apa yang dimaksud dengan Mikrokontroler
2. Sebutkan & jelaskan yang termasuk dalam keluarga dari mikrokontroler
51

PERCOBAAN 2
PENGGUNAAN PORT I/O (B)
TUJUAN PRAKTIKUM

Praktikan mampu membuat program input dan output menggunakan Port yang ada pada IC
89C51

DASAR TEORI

Selain bisa langsung memberi nilai pada setiap port pada IC 89C51, kita juga bisa
memanfaatkan carry flag disimbolkan dengan huruf C serta akumulator yang disimbolkan
dengan huruf A.

Gambar 1.1 LED

PERINTAH YANG DIGUNAKAN

Label
SETB = Set Bit
CLR = Clear Bit
MOV
SJMP = Short Jump

PROSEDUR PERCOBAAN
1. Ketikan program dibawah ini dan amati hasilnya
ORG 0H
MULAI:
SETB C
MOV P0.0,C
MOV P0.1,C
MOV P0.2,C
MOV P0.3,C
CLR C
MOV P0.4,C
MOV P0.5,C
10

MOV P0.6,C
MOV P0.7,C
SJMP MULAI
END

Pertanyaan :
a. Jelaskan maksud dari perintah-perintah diatas. (Mulai dari ORG 0H
sampai END)
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
b. Output Led (Isi dengan Nyala atau Mati)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3

Bit 2

Bit 1

Bit 0

2. Ketikan program dibawah ini dan amati hasilnya


ORG 0H
MULAI:
MOV A,#0C4H
MOV P0,A
SJMP MULAI
END

11

Pertanyaan :
a. Apa maksud dari perintah MOV A,#0C4H dan MOV P0,A
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
b. Output LED (Isi dengan ON atau OFF)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3

Bit 2

Bit 1

Bit 0

3. Buatlah program untuk menyalakan LED seperti dibawah ini.Perintah


yang digunakan :
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ON
OFF
ON
OFF
ON
ON
OFF
OFF
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
12

Tugas : (Dikumpulkan pada percobaan selanjutnya)


1. Jelaskan apa yang dimaksud
a. LSB (Least Significant Bit)
b. MSB (Most Significant Bit)
2. Apa yang dimaksud & berikan 1 contohnya :
a. Immediate addressing mode
b. Direct addressing mode
c. Register addressing mode

13

PERCOBAAN 3
PROGRAM FLIP-FLOP LED (A)
TUJUAN PRAKTIKUM

Praktikan mampu membuat program flip-flop untuk LED (mati-hidup secara bergantian)

DASAR TEORI
LED (Light Emitting Diode) merupakan diode yang yang bisa memancarkan cahaya jika
dialiri arus listrik dari kaki anoda ke kaki katoda. Cahaya dipancarkan tergantung dari LEDnya bisa warna putih, merah, hijau, kuning dll. LED termasuk kedalam jenis-jenis diode.
Penggabungan LED bisa dikelompokkan menjadi 2 yaitu common Anoda dan common
katoda. Common anoda adalah semua kaki-kaki anoda-nya dikelompokkan atau disatukan
sedangkan kaki-kaki katoda-nya yang menjadi inputannya, sedangkan common katoda
adalah semua kaki-kaki katoda-nya dikelompokkan atau disatukan sedangkan kaki-kaki
anoda-nya yang menjadi inputannya.
Agar lampu pada LED bisa mati-hidup secara bergantian maka kita harus menggunakan
pewaktuan dimana waktu ini sangat penting untuk menjaga agar LED kelihatan mati-hidup
secara bergantian.

Gambar 3.1. Common Anoda

Gambar 3.3. Common Katoda

14

PERINTAH YANG DIGUNAKAN

Label
MOV
P0
R0 - R2
ACALL
RET

PROSEDUR PERCOBAAN
1. Ketikan program dibawah ini dan amati hasilnya
ORG 0H
MULAI: MOV P0,#00001111B
ACALL DELAY
MOV P0,#11110000B
ACALL DELAY
SJMP MULAI
;-----------------------------;
SUBRUTIN DELAY
;-----------------------------DELAY: MOV R0,#5
DELAY1: MOV R1,#0FFH
DELAY2: MOV R2,#0
DJNZ R2,$
DJNZ R1,DELAY2
DJNZ R0,DELAY1
RET
END
a. Output Led (Isi dengan ON atau OFF)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3

Bit 2

Bit 1

Bit 0

2. Modifikasi program diatas dengan mengganti nilai biner pada port P0


menjadi nilai hexa. Tuliskan programnya :
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
15

...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................

3. Buatlah program seperti display led dibawah ini secara bergantian :


Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
ON
ON
OFF
OFF
ON
ON
OFF

Bit 0
OFF

Tuliskan programnya :
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
Tugas : (Dikumpulkan pada percobaan selanjutnya)
1. Jelaskan maksud dari perintah ACALL DELAY pada percobaan 3
2. Jelaskan bagaimana mengkonversi bilangan dari biner ke hexa serta
berikan 2 contohnya
3. Jelaskan apa yang dimaksud dengan register
16

PERCOBAAN 4
PROGRAM FLIP-FLOP LED (B)
TUJUAN PRAKTIKUM

Praktikan mampu membuat program flip-flop untuk LED (mati-hidup secara bergantian)

DASAR TEORI
Dengan memodifikasi program pada percobaan 3 dengan memanfaatkan logika pergeseran
maka LED bisa kita lakukan manipulasi pergerakan dari kanan ke kiri (LED menyala dari
kanan ke kiri secara bergantian). Agar lampu pada LED bisa mati-hidup secara bergantian
maka kita harus menggunakan pewaktuan dimana waktu ini sangat penting untuk menjaga
agar LED kelihatan mati-hidup secara bergantian. Kita juga bisa memanfaatkan tombol
Saklar untuk mengaktifkan LED.

mulai
Gambar 4.1 Prosedur Pergeseran dari kanan ke kiri

PERINTAH YANG DIGUNAKAN

Label
MOV
P0 & P2
A
R4 - R6
ACALL
DJNZ
RET

PROSEDUR PERCOBAAN
1. Ketikan program dibawah ini dan amati hasilnya
Org 0h
mov a,#0feh
start: mov P0,a
acall delay
sjmp start
delay:
17

mov r6,#05h
delay1:
mov r5,#0ffh
delay2:
mov r4,#0h
djnz r4,$
djnz r5,delay2
djnz r6,delay1
ret
End
Pertanyaan :
a. Jelaskan maksud dari perintah-perintah diatas. (Mulai dari ORG 0H
sampai END)
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
b. Output dari program diatas
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
18

...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
2. Ketikan program dibawah ini dan amati hasilnya
Org 0h
mov a,#0feh
start: mov P0,a
rl a
acall delay
sjmp start
delay:
mov r6,#05h
delay1:
mov r5,#0ffh
delay2:
mov r4,#0h
djnz r4,$
djnz r5,delay2
djnz r6,delay1
ret
End
3. Ketikan program dibawah ini dan amati hasilnya
Org 0h
mov a,#07fh
mov r0,#18h
mulai:
mov p0,a
rr a
acall delay
djnz r0,mulai
mov r0,#05h
kedip:
mov p0,#0ffh
acall delay
mov p0,#00h
19

acall delay
djnz r0,kedip
mov p0,#0ffh
mov r0,#00h
mati:
sjmp mati
delay:
mov r6,#05h
delay1:
mov r5,#0ffh
delay2:
mov r4,#0h
djnz r4,$
djnz r5,delay2
djnz r6,delay1
ret
End
a. Apakah program pertama dan kedua sama outputnya. [ya/tidak].
..............................................................................................................................
...............................................................................................................................
...............................................................................................................................
b. Jelaskan maksud dari perintah rr a
................................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
3. Ketikan program dibawah ini dan amati hasilnya
org 0h
start: mov A,P2
mov P0,A
sjmp start
20

end
Jalankan program dengan cara menekan tombol saklar S1 sampai S8 serta
perhatikan led-nya.
S1 ditekan, isi tabel dengan ON atau OFF
Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

Bit 2

Bit 1

Bit 0

Bit 2

Bit 1

Bit 0

Bit 2

Bit 1

Bit 0

Bit 2

Bit 1

Bit 0

Bit 2

Bit 1

Bit 0

Bit 2

Bit 1

Bit 0

Bit 2

Bit 1

Bit 0

S2 ditekan, isi tabel dengan ON atau OFF

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

S3 ditekan, isi tabel dengan ON atau OFF

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

S4 ditekan, isi tabel dengan ON atau OFF

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

S5 ditekan, isi tabel dengan ON atau OFF


Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

S6 ditekan, isi tabel dengan ON atau OFF


Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

S7 ditekan, isi tabel dengan ON atau OFF


Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

S8 ditekan, isi tabel dengan ON atau OFF


Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

21

Tugas : (Dikumpulkan pada percobaan selanjutnya)


1. Apa kegunaan dari R0-R7.
2. Buatlah program untuk menggeser data
kekanan
memperhatikan MSB (posisi kiri) dan LSB (posisi kanan).

(dengan

22

PERCOBAAN 5
PROGRAM FLIP-FLOP LED (C)
TUJUAN PRAKTIKUM
Praktikan mampu membuat program flip-flop untuk LED (mati-hidup secara bergantian)

DASAR TEORI
Dengan memodifikasi program pada percobaan 3 dengan memanfaatkan logika pergeseran
maka LED bisa kita lakukan manipulasi pergerakan dari kiri ke kanan (LED menyala dari
kiri ke kanan secara bergantian) dan pembandingan. Agar lampu pada LED bisa mati-hidup
secara bergantian maka kita harus menggunakan pewaktuan dimana waktu ini sangat
penting untuk menjaga agar LED kelihatan mati-hidup secara bergantian.

Mulai

Gambar 5.1 Prosedur Pergeseran dari kiri ke kanan

PERINTAH YANG DIGUNAKAN

Label
MOV
P0 & P2
A
R4 R6
CJNE
ACALL
DJNZ
RET

PROSEDUR PERCOBAAN
1. Buatlah program untuk menggeser data kekanan ini dan amati hasilnya
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
23

..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
2. Ketikan program dibawah ini dan amati hasilnya
Org 0h
start: mov A,P2
cjne A,#0FEh,terus
Mov P0,#00110011b
acall delay
mov P0,#11001100b
acall delay
sjmp start
terus:
cjne A,#0fDh,Start
mov p0,#0ffh
sjmp Start
delay: mov r0,#10
delay1: mov r1,#0ffh
delay2: mov r2,#0
djnz r2,$
djnz r1,delay2
24

djnz r0,delay1
ret
End
Pertanyaan :
1. Jelaskan maksud dari perintah-perintah diatas. (Mulai dari ORG 0H
sampai END)
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
......................... .................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
2. Untuk melihat outputnya bagaimana. Jelaskan!
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
3. Ketikan program dibawah ini dan amati hasilnya
org 0h
mulai: mov A,P2
cjne A,#0FEh,terus
25

mov p0,#0h
sjmp mulai
terus:
cjne A,#0fDh,mulai
mov p0,#0ffh
sjmp mulai
end
3. Pertanyaan :
1. Jelaskan maksud dari perintah-perintah diatas. (Mulai dari ORG 0H
sampai END)
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
................................... .......................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
2. Modifikasi program no.2 diatas dengan cara menekan tombol saklar S4
untuk menampilkan led seperti tabel dibawah ini serta tombol saklar
S5 mematikannya.
Bit 7

Bit 6

ON

ON

Bit 5
OFF

Bit 4

Bit 3

Bit 2

OFF

ON

ON

Bit 1

Bit 0

OFF OFF

..........................................................................................................................
..........................................................................................................................
26

..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
................................... .......................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
Tugas : (Dikumpulkan pada percobaan selanjutnya)
1. Jelaskan apa yang dimaksud dengan Dipswitch.
2. Apa perbedaan antara saklar (yang anda praktikumkan dengan
dipswitch).

27

PERCOBAAN 6
SEVEN SEGMENT (A)
TUJUAN PRAKTIKUM

Praktikan mampu memahami rangkaian interface dan membuat program untuk


menampilkan angka dan huruf pada seven segment (7-Segments)

DASAR TEORI

Seven segment atau di kenal dengan istilah 7 Segments merupakan alat penampil yang
lebih baik dibandingkan dengan LED. 7 Segments dibentuk dari sekumpulan LED bisa
berupa 7-segmen bersifat common Anoda dan common katoda. Display 7 Segmen dapat
menampilkan data yang lebih nyata (Angka dan Huruf), misalnya kita mendapati data
biner maka dengan display 7 segmen dapat disusun membentuk bilangan desimal ataupun
hexa. Agar dapat dengan mudah mengkonversi data biner ke dalam data nyata untuk
bilangan desimal ataupun hexa diperlukan suatu IC pengubah data biner ke 7 segmen,
dalam hal ini dekoder BCD to 7 Segmen.
Dengan menggunakan dekoder mempermudah dalam aplikasi program, karena tak perlu
lagi menyusun 7 bit data yang digunakan untuk menyalakan 7 segmen dalam bentuk angka
atau huruf.

Gambar 6.1. Seven Segment (7 Segmen)

28

Gambar 6.2. 7 Segmen dibentuk dari sekumpulan LED

PERINTAH YANG DIGUNAKAN

Label
MOV
ACALL
SJMP
R4 R6
RET

PROSEDUR PERCOBAAN
1.

Isilah tabel 6.1 dibawah ini untuk menampilkan angka seperti


dibawah ini :

29

Tabel 6.1. Daftar Hexa dari Tampilan Angka pada 7-Segmen


Tampilan

P0.7

P0.6

P0.5

P0.4

P0.3

P0.2

P0.1

P0.0

ANGKA

dp

HEXA

0
1
2
3
4
5
6
7
8
9

2.

Ketikan program dibawah ini dan amati hasilnya


Org 0h
mulai:
mov p0,#0c0h; angka 0
acall delay
sjmp mulai
;-----------------------------; subrutin delay
;-----------------------------delay:
mov r6,#05h
delay1:
mov r5,#0ffh
delay2:
30

mov r4,#0h
djnz r4,$
djnz r5,delay2
djnz r6,delay1
ret
End
Output dari program :

3.

Buatlah program untuk menampilkan huruf seperti dibawah ini :

..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
31

..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
4.

Buatlah program untuk menampilkan kata HELLO


..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................

Tugas : (Dikumpulkan pada percobaan selanjutnya)


1. Jelaskan dan gambarkan 7-Segmen sebagai common katoda
2. Jelaskan dan sebutkan jenis-jenis transistor
3. Apa yang dimaksud dengan dekoder ?
32

PERCOBAAN 7
SEVEN SEGMENT (B)
TUJUAN PRAKTIKUM

Praktikan mampu memahami rangkaian interface dan membuat program untuk


menampilkan angka dan huruf pada seven segment (7-Segments) dengan menggunakan data
array

DASAR TEORI

Seven segment atau di kenal dengan istilah 7 Segments merupakan alat penampil yang
lebih baik dibandingkan dengan LED. 7 Segments dibentuk dari sekumpulan LED bisa
berupa 7-segmen bersifat common Anoda dan common katoda. Display 7 Segmen dapat
menampilkan data yang lebih nyata (Angka dan Huruf).
Pada data array output yang dihasilkan sama dengan percobaan sebelumnya, data-data yang
akan ditampilkan disimpan dalam memori terlebih dahulu kemudian dibaca dan dikirim
satu persatu, sehingga mengakibatkan programnya lebih pendek (lebih kecil), bayangkan
jika data yang dikirim ada 20, 30 atau 50 data.

PERINTAH YANG DIGUNAKAN

Label
MOV
MOVC
ACALL
SJMP
R4 R6
RET
DB

PROSEDUR PERCOBAAN
1.

Buat program untuk menampilkan angka 0 s/d 9 (data langsung


dikeluarkan ke P0)
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
33

..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
.........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
.........................................................................................................................

2.

Ketikan program dibawah ini dan amati hasilnya


Org 0h
mulai:
mov r3,#10
mov dptr,#numerik
nextdata:
clr a
movc a,@a+dptr
mov p0,a
inc dptr
acall delay
djnz r3,nextdata
sjmp mulai

34

;-----------------------------; subrutin delay


;-----------------------------delay:
mov r6,#05h
delay1:
mov r5,#0ffh
delay2:
mov r4,#0h
djnz r4,$
djnz r5,delay2
djnz r6,delay1
ret
;----------------------------; lokasi data
;----------------------------numerik:
db 0c0h,0f9h,0A4h,0B0h,99h,92h,82h,0f8h,80h,90h
End
Pertanyaan
1. Jelaskan maksud perintah diatas :
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
35

...............................................................................................................................
2. Jelaskan perbedaan antara program no.1 dan no.2
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
3.

Buatlah program untuk menampilkan huruf A s/d F dengan cara


memodifikasi program no.2 diatas.
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
36

...............................................................................................................................
...............................................................................................................................
...............................................................................................................................

Tugas : (Dikumpulkan pada percobaan selanjutnya)


1. Apa guna data disimpan dalam bentuk array?
2. Jelaskan cara kerja dari transistor PNP dan gambarkan simbolnya?
3. Jelaskan tentang IC 74LS139?

37

PERCOBAAN 8
SEVEN SEGMENT (C)
TUJUAN PRAKTIKUM
Praktikan mampu memahami rangkaian interface dan membuat program untuk
menampilkan angka dan huruf pada seven segment (7-Segments) dengan menggunakan
teknik scanning

DASAR TEORI

Jika kita ingin menyalakan display 7 segmen lebih dari 1 digit digunakan teknik scanning,
dinama data (digit) yang akan ditampilkan pada display dikirim data secara bergantian.
Dalam hal ini ingat bahwasanya untuk common itu merupakan terminal atau gabungan dari
7 led menjadi satu, apakah anoda atau katoda. Scanning display 7 segmen dinyalakan dan
dimatikan secara bergantian, dalam hal ini kita butuh switching tegangan yang cukup kuat
walaupun sebenarnya dengan tegangan TTL dari mikrokontroler juga bisa. Namun jika tipe
7 segmen yang digunakan membutuhkan catu daya yang lebih besar sudah tentu dibutuhkan
komponen aktif eksternal sebagai switchingnya. Transistor merupakan switching yang
mudah kita gunakan. Transistor PNP untuk display common anoda cocok sekali karena dari
mikrokontroler cukup memberikan catuan atau trigger low pada basis maka transistor
switch on.

PERINTAH YANG DIGUNAKAN

Label
CLR
SETB
MOV
ACALL
SJMP
R1 R2
DJNZ
RET

PROSEDUR PERCOBAAN
1.

Ketikan program dibawah ini dan amati hasilnya :


org 0h
start:
clr P3.6
setb P3.7
mov P0,#92h
call delay

38

setb P3.6
setb P3.7
mov P0,#80h
call delay
;call delay time
sjmp start
;jump forever
;=============================================
;subroutine delay created to rise delay time
;=============================================
delay: mov R1,#25
del1: mov R2,#25
del2: djnz R2,del2
djnz R1,del1
ret
end
Pertanyaan
a. Output dari program diatas :

display 0

display 1

display 2

display 3

b. Jelaskan maksud dari perintah diatas :


...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
39

...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
..............................................................................................................................
...............................................................................................................................
...............................................................................................................................
2.

Buatlah program untuk menampilkan huruf A pada display 0 dan C pada


display 3 (Lihat contoh soal no.1)
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................

3.

Buatlah program untuk menampilkan angka 1 pada display 0, 2 pada


display 1, angka 3 pada display 2 dan angka 4 pada display 3.
...............................................................................................................................
...............................................................................................................................
40

...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
Tugas : (Dikumpulkan pada percobaan selanjutnya)
1. Jelaskan apa yang dimaksud dengan istilah Trigger Low?
2. Buatlah flowchart untuk soal nomor 1.
3. Apa guna dari teknik scanning?

41

LAMPIRAN

Gambar : Rangkaian Skematik Modul Training Kit

42

Gambar : Konfigurasi Pin-pin 89C51

43

Gambar : Modul Training Kit

Gambar : Downloader USB interface

Gambar : Kabel USB (Interface antara Komputer dengan Downloader)

44

Anda mungkin juga menyukai