Anda di halaman 1dari 53

MODUL PRATIKUM MIKROKONTROLLER

Oleh
I WAYAN SUPARDI, S.Si, M.Si
19710331 199903 1 00 2

Modul pratikum mikrokontroller (FI63107) |1


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
JURUSAN FISIKA
UNIVERSITAS UDAYANA
2015

BAB I
PENDAHULUAN

I.1. Mikrokontroler
Mikrokontroler adalah komputer mikro dalam satu chip tunggal. Mikrokontroler
memadukan CPU, ROM, RAM, I/O paralel, I/O seri, counter-timer, dan rangkaian clock dalam
satu chip tunggal. Mikrokontroler berbeda dengan mikroprosesor dalam beberapa hal.
Mikrokontroler memadukan memori untuk menyimpan program atau data pheriperal I/O
untuk berkomunikasi dengan alat luar. Pemanfaatan mikrokontroler saat sangat populer di
bidang kendali dan instrumentasi elektronik. Hal ini terjadi karena mikrokontroler memiliki
keunggulan dan kemudahan dalam penggunaannya. Disamping harganya yang sangat murah
dibandingkan sistim lainnya. Jika dibandingkan dengan mikroprosesor pada setiap
mikrokontroler terdapat unit-unit CPU/MPU, Memory Unit, I/O Unit yang dihubungkan oleh
tiga bus yaitu bys data bus alamat dan bus kendali. Dengan demikian maka sebuah
mikrokontroler adalah sebuah sistim mikroprosesor dalam sebuah chip tunggal. Dengan
menambahkan peralatan input dan peralatan output sebuah mikrokontroler dapat berfungsi
sebagai komputer mikro dalam satu chip tunggal. Mikrokontroler sebagai sebuah chip telah
mengalami perkembangan baik dari sisi arsitektur, teknologi dan kemampuannya. Struktur
internal sebuah mikrokontroler AT89C51 bisa dilihat pada gambar 5 sebagai contoh kasus.
Jika dibandingkan dengan mikroprosesor pada setiap mikrokontroler terdapat unit-unit
CPU/MPU, Memory Unit, I/O Unit yang dihubungkan oleh tiga bus yaitu bys data bus alamat
dan bus kendali. Dengan demikian maka sebuah mikrokontroler adalah sebuah sistim
mikroprosesor dalam sebuah chip tunggal. Dengan menambahkan peralatan input dan peralatan
output sebuah mikrokontroler dapat berfungsi sebagai komputer mikro dalam satu chip

Modul pratikum mikrokontroller (FI63107) |2


tunggal. Mikrokontroler sebagai sebuah chip telah mengalami perkembangan baik dari sisi
arsitektur, teknologi dan kemampuannya.
Mikrokontroler AT89S52/51 mempunyai 40 kaki (pin), 32 pin dipergunakan sebagai
port parallel. Satu port parallel terdiri dari 8 pin, dengan demikian 32 pin tebagi menjadi 4
port, yaitu port 0 (P0), port 1 (P1), port 2 (P2) dan pot 3 (P3), masing-masing port mulai dari 0
sampai 7. Tata letak pin mikrokontrole seperti terlihat seperti pada Gambar 1.1.

Gambar 1.1 Diagram pin mikrokontroler AT89S52

I.1.1 Fungsi-Fungsi PIN

Tabel 5. tabel fungsi pin pada port 3

Modul pratikum mikrokontroller (FI63107) |3


Modul pratikum mikrokontroller (FI63107) |4
Modul pratikum mikrokontroller (FI63107) |5
I.2. Program Proteus
Sebelum mencoba Program ke rangkaian mikrokontroler maka dilkukan simulasi
progam pada proteus. Tampilan proteus seperti terlihat dalam Gambar 1.2

Gambar 1.2 Tampilan program proteus

Langkah – langkah pembuatan rangkaian dalam proteus :


1. letakkan kursor pada hurup P yang terlihat pada Gambar 1.3.

Gambar 1.3 Pemilihan komponen Elektonika

2. Tekan sekali maka akan muncul komponen elektonika, setelah itu pilih komponen yang
diperlukan, sepeti telihat dalam Gambar 1.4.

Modul pratikum mikrokontroller (FI63107) |6


Gambar 1.4 Tampilan komponen Elektonika yang tesedia dalam program Proteus

3. Setelah komponen yang akan dipelukan dalam pembuatan rangkaian sudah ditemukan maka
pilihlah, kemdian komponen yang telah dipilih akan tercopy pada lembar kerja, seperti
telihat dalam Gambar 1.5.

Gambar 1.5 hasil pemilihan dari komponen elektronika

4. langkah berikutnya adalah sorot komponen yang ada pada bagian A dari Gamba 1.5, lalu
kursor di pindah ke bagian B pada Gambar 1.5. klik 2x dengan cepat maka komponen
tesebut akan telihat.
5. Memilih komponen elektonika yang lain dilakukan dengan cara yang sama dari langkah 1
samapi 4.

Modul pratikum mikrokontroller (FI63107) |7


6. Untuk mengedit gambar yang telah terpilih dan terletak dalam editor adalah dengan cara
meletakkan kusor dalam gambar setelah itu klik kanan sampai muncul Gambar 1.6.
Gambar yang telah dibuat dapat di Drag, di delet, di putar di copy, dll

Gambar 1.6 tampilan edit gambar yang telah dipilih

7. Menghubungkan rangkaian dapat dilakukan dengan cara meletakkan kursor pada pin
komponen elektonika, dilanjutkan dengan menekan mouse kiri dalam kondisi mouse
ditekan kursor digerakkan ke pin komponen elektronika yang akan dihubungkan, seperti
telihat dalam Gambar 1.7. untuk berhenti/memutuskan garis penghubung dengan cara
menekan mouse kiri 2x dengan cepat.

Gambar 1.7 hubungan rangkaian antara komponen elektronika


1.3

Modul pratikum mikrokontroller (FI63107) |8


1.4 Pogram Read51
Rangkaian mikrokontoller bisa berjalan sesuai dengan keinginan kita diperlukan sebuah
pogam. Program yang dipergunakan dalam pengisian dalam mikrokontrole adalah beextensian
.hex. salah satu pogram yang dapat menghasilkan pogram be-extensian .hex adalah read51.
Tampilan editor read51 seperti terlihat seperti pada Gambar 1.8

Gambar 1.8 Tampilan Editor read51

Langkah-langkah pembuatan progam dalam read51:


1. Buka program read51 sehingga terlihat seperti pada Gambar 1.8. sorot file pilih
new file, seperti terlihat pada Gambar 1.9.

Gambar 1.9 Tampilan setelah memilih file

Modul pratikum mikrokontroller (FI63107) |9


2. setelah memilih new file maka akan muncul pilihan sepeti telihat pada Gambar
1.10. selanjutnya pilih Assembly file

Gambar 1.10 hasil tampilan pilihan new file

3. Hasil dari pemilihan langkah 2 adalah sepeti telihat dalam Gambar 1.11.

Gambar 1.11 tempat menulis program read51

4. setelah progam di tulis di lanjutkan dengan mengcompile . hasil dai compile


akan tebentuk 3 file extension yaitu .asm, .obj dan .hex

Modul pratikum mikrokontroller (FI63107) | 10


BAB II
PRATIKUM

2.1 PERCOBAAN I : MENGHIDUPKAN LED MELALUI PORT PARALEL


A. Tujuan
Setelah pratikum ini mahasiswa diharapkan dapat :
1. Membuat rangkaian LED yang di hubungkan dengan port yang ada pada
mikrokontroler AT89S52 di proteus.
2. Membuat rangkaian LED yang di hubungkan dengan port yang ada pada
mikrokontroler AT89S52.
3. Membuat Program untuk menghidupkan LED yang di hubungkan
dengan port yang ada pada mikrokontroler AT89S52 di read51.

B. Desain Rangkaian
Rangkaian minimum untuk menghidupkan 1 buah 7-Segmen melalui P0 di tunjukkan
pada Gambar 2.1.

VCC
D1
R1
C1 360R D2
U1 R2 LED-BIGY

19 39
XTAL1 P0.0/AD0
38
360R D3
33p
P0.1/AD1 R3 LED-BIGY
X1 P0.2/AD2
37
CRYSTAL 18 36
D4
C2 XTAL2 P0.3/AD3
35
360R
R4 LED-BIGY
P0.4/AD4
34
P0.5/AD5
33
33p 9
P0.6/AD6
32
360R D5
RST P0.7/AD7 R5 LED-BIGY

R9 C3 21
P2.0/A8
22
360R D6
P2.1/A9 R6 LED-BIGY
10k 23
P2.2/A10
10uF 29 24
PSEN P2.3/A11 360R D7
30
ALE P2.4/A12
25 R7 LED-BIGY
31 26
EA P2.5/A13
27
VCC P2.6/A14 360R D8
P2.7/A15
28 R8 LED-BIGY

1 10 360R
P1.0 P3.0/RXD
2 11 LED-BIGY
P1.1 P3.1/TXD
3 12
P1.2 P3.2/INT0
4 13
P1.3 P3.3/INT1
5 14
P1.4 P3.4/T0
6 15
P1.5 P3.5/T1
7 16
P1.6 P3.6/WR
8 17
P1.7 P3.7/RD
AT89C51

Gambar 2.1 rangkaian Aplikasi menghidupkan LED melalui port parallel

Modul pratikum mikrokontroller (FI63107) | 11


Konfigurasi rangkaian LED adalah Common Catoda (CA), artinya untuk menghidupkan
LED pada P0 keluarannya harus berlogika nol, agar led dapat menyala.

C. Alat dan Bahan yang dipelukan


1. Mikrokontroller AT89S52
2. Resistor 330 ohm 8 buah
3. Resistor 10 Kohm 1 buah
4. LED 8 buah
5. Catu daya 5 volt
6. Kristal 11.592 MHz 1 buah
7. Kapasitor 33 pF 2 buah
8. Kapasitor 10 uF 1 buah
9. Downloadder
10. komputer
11. Pogram Proteus
12. Pogram Read51

D. Program
D.1. Program aplikasi untuk membuat program 4 LED Nyala dan 4 LED mati
==============================================================
Org 0h
Mulai:
Mov P0, #00001111b ; LED pada P0.7 – P0.4 nyala dan LED pada P0.3 – P0.0
mati
Acall delay ; memanggil sub rutinn delay
Mov P0, #11110000b ; LED pada P0.0 – P0.3 nyala dan LED pada P0.4 – P0.7
mati
Acall delay ; memanggil sub rutinn delay
SJMP Mulai ; lompat ke subrutin Mulai

Delay: mov R0,#05h

Modul pratikum mikrokontroller (FI63107) | 12


Delay1: mov R1,#0ffh
Delay2: mov R2,#0
Djnz R2,$
Djnz R1,delay2
Djnz R0,delay1
RET
End.

D.2. Program aplikasi untuk membuat program 4 LED Nyala pada pin genap dan 4 LED mati
dengan kelompok pin ganjil.
===============================================================
Org 0h
Mulai:
Mov P0, #01010101b ; LED pada P0.1,P0.3,P0.5,P0.7 nyala dan LED pada
P0.0,P0.2,P0.4,P0.6 mati
Acall delay ; memanggil sub rutinn delay
Mov P0, #10101010b ; LED pada P0.0,P0.2,P0.4,P0.6 nyala dan LED pada
P0.1,P0.3,P0.5,P0.7 mati
Acall delay ; memanggil sub rutinn delay
SJMP Mulai ; lompat ke subrutin Mulai

Delay: mov R0,#05h


Delay1: mov R1,#0ffh
Delay2: mov R2,#0
Djnz R2,$
Djnz R1,delay2
Djnz R0,delay1
RET
End.

Modul pratikum mikrokontroller (FI63107) | 13


D.2. Program aplikasi untuk membuat program 4 LED Nyala pada pin genap dan 4 LED mati
dengan kelompok pin ganjil.
===============================================================
Org 0h
Mulai:
Mov P0, #01010101b ; LED pada P0.1,P0.3,P0.5,P0.7 nyala dan LED pada
P0.0,P0.2,P0.4,P0.6 mati
Acall delay ; memanggil sub rutinn delay
Mov P0, #10101010b ; LED pada P0.0,P0.2,P0.4,P0.6 nyala dan LED pada
P0.1,P0.3,P0.5,P0.7 mati
Acall delay ; memanggil sub rutinn delay
SJMP Mulai ; lompat ke subrutin Mulai

Delay: mov R0,#05h


Delay1: mov R1,#0ffh
Delay2: mov R2,#0
Djnz R2,$
Djnz R1,delay2
Djnz R0,delay1
RET
End.

D.3. Program aplikasi untuk membuat program Nyala LED dari tengah berjalan kekiri dan
kekanan dan kembali ke posisi awal.
===============================================================
Org 0h
Mulai:
Mov P0, #11100111b ; LED pada P0.3 dan P0.4 nyala dan LED pada lainnya
mati
Acall delay ; memanggil sub rutinn delay
Mov P1, #11011011b ; LED P1.0 s/d P1.3 nyala

Modul pratikum mikrokontroller (FI63107) | 14


Acall delay ; panggil subrutin delay
Mov P1, #10111101b
Acall delay
Mov P1, #01111110b
Acall delay
Mov P1, #10111101b
Acall delay
Mov P1, #11011011b
Acall delay
Sjp mulai ; lompat ke alamat dg label Mulai
;---------------------------
; subrutin delay
;---------------------------
Delay: Mov R0,#3 ; isi register R0 dengan 5
Delay1: mov R1,#0FFH ; isi register R1 dengan FF (hex)
Delay2: moov R2,#0
Djnz R2,$
Djnz R1,Delay2 ; kurangi R1 dengan 1, bila hasil belum
; sama dengan 0 maka lompat ke Delay2
Djnz R0,Delay1 ; kurangi R0 dengan 1, bila hasil belum
; sama dengan 0 maka lompat ke Delay2
Ret ; kembali ke alamat setelah perintah
; ‘Acall delay’
End

D4. Pogram beikut ini meupakan aplikasi untuk membuat LED menyala bergantian (bergeser)
dari P1.0 ke P1.7 kemudian kembali ke awal lagi secara berulang-ulang :
Org OH
Mov A,#11111110b ; simpan data 11111110b ke akumulator
Mulai :
Mov P1,A ; keluarkan isi akumulator ke Port1

Modul pratikum mikrokontroller (FI63107) | 15


Acall delay ; panggil subrutin Delay
RL A ; putar isi akumulator ke kiri 1 bit
Sjmp mulai ; lompat ke alamat dg label Mulai
;-------------------------------
; subrutin delay
;-------------------------------
Delay: mov R0,#0 ; isi register R0 dengan 0
Delay1: mov R1,#0 ; isi register R1 dengan 0
Delay2: djnz R1,delay2 ; kurangi R1 dengan 1, bila hasil belum
; sama dengan 0 maka lompat ke Delay2
Djnz R0,delay1 ; kurangi R0 dengan 1, bila hasil belum
; sama dengan 0 maka lompat ke Delay1
Ret ; kembali ke alamat setelah peintah
; ‘acall Delay’
End

D.5. Berikut ini diberikan gabungan dari gerakan LED menyala kanan-kiri dan kiri-kanan
sehingga nampak seperti ping pong.
Org 0H
Mov A, #111111110b ; simpan data 11111110b ke akumulator
Mulai :
Mov P1,A ; kirim data Port 3
Acall delay ; tunda sebentar
RL A ; putar isi akumulator ke kiri 1 bit
Cjne A,#7FH,mulai ; apakah A=01111111b ? tidak ulangi !
Mulai :
Mov P1,A ; kirim data ke Port 3
Acall delay ; tunda sebentar
RR A ; putar isi akumulator ke kanan 1 bit
Cjnz A,#0FE, Mulai1 ; apakah A=11111110b ? tidak ulangi !

Modul pratikum mikrokontroller (FI63107) | 16


Sjmp Mulai
;--------------------------------------------
; subrutin delay
;--------------------------------------------
Delay: mov R0,#0 ; isi register R0 dengan 0
Delay1: mov R1,#0 ; isi register R1 dengan 0
Delay2: djnz R1,delay2 ; kurangi R1 dengan 1, bila hasil belum
; sama dengan 0 maka lompat ke Delay2
Djnz R0,delay1 ; kurangi R0 dengan 1, bila hasil belum
; sama dengan 0 maka lompat ke Delay1
Ret ; kembali ke alamat setelah peintah
; ‘acall Delay’
End

TUGAS :
1. Buatlah program agar LED menyala bergantian dengan arah berlawanan (dari
P1.7 ke P1.0) dengan menggunakan perintah RR
2. Buatlah program agar LED menyala dari tengah terus kekiri dan kekanan
kemudian kembali kesemula (11100111)
3. Buatlah program agar LED menyala bergantian dengan arah berlawanan (dari
P1.7 ke P1.0) dengan menggunakan perintah RR

LAPORAN AKHIR :
Buatlah Laporan akhir yang berisi rangkaian berisi tujuan, dasar teori, bahan dan alat,
langkah-langkah percobaan, gambar rangkaian, program, hasil dan kesimpulan dai
pratikum yang dilakukan

Modul pratikum mikrokontroller (FI63107) | 17


2.2 PERCOBAAN II : APLIKASI PORT PARALEL PENGGERAK SEVEN SEGMEN
A. Tujuan
Setelah pratikum ini mahasiswa diharapkan dapat :
1. Membuat rangkaian 7-segmen yang di hubungkan dengan port yang ada
pada mikrokontroler AT89S52 di proteus.
2. Membuat rangkaian 7-segmen yang di hubungkan dengan port yang ada
pada mikrokontroler AT89S52.
3. Membuat Program untuk menghidupkan 7-segmen yang di hubungkan
dengan port yang ada pada mikrokontroler AT89S52 di read51.

B. Desain Rangkaian
Rangkaian minimum untuk menghidupkan 7-segmen melalui P0 di tunjukkan pada
Gambar 2.2.

C1 R1
VCC
U1
19 39
XTAL1 P0.0/AD0 360R
33p 38 R2
P0.1/AD1
X1 P0.2/AD2
37
CRYSTAL 18 36
C2 XTAL2 P0.3/AD3
35
360R
R3
P0.4/AD4
34
P0.5/AD5
33
P0.6/AD6 360R
33p 9 32 R4
RST P0.7/AD7

R9 C3 21
P2.0/A8 360R
22 R5
P2.1/A9
23
10k P2.2/A10
10uF 29 24
PSEN P2.3/A11 360R
30 25 R6
ALE P2.4/A12
31 26
EA P2.5/A13
27 360R
VCC P2.6/A14
P2.7/A15
28 R7
1 10 360R
P1.0 P3.0/RXD
2
P1.1 P3.1/TXD
11 R8
3 12
P1.2 P3.2/INT0
4 13 360R
P1.3 P3.3/INT1
5 14
P1.4 P3.4/T0
6 15
P1.5 P3.5/T1
7 16
P1.6 P3.6/WR
8 17
P1.7 P3.7/RD
AT89C51

Gambar 2.2 rangkaian Aplikasi 7-segmen melalui port parallel

Konfigurasi rangkaian 1 7-segmen adalah Common Catoda (CA), artinya untuk


menghidupkan 7-segmen pada P0 keluarannya harus berlogika nol, agar 7-segmen dapat
menyala.

Modul pratikum mikrokontroller (FI63107) | 18


C. Alat dan Bahan yang dipelukan
1. Mikrokontroller AT89S52
2. Resistor 330 ohm 8 buah
3. Resistor 10 Kohm 1 buah
4. 3 buah 7-segmen
5. Catu daya 5 volt
6. Kristal 11.592 MHz 1 buah
7. Kapasitor 33 pF 2 buah
8. Kapasitor 10 uF 1 buah
9. Downloadder
10. komputer
11. Pogram Proteus
12. Pogram Read51

D. Program
Sebelum membuat progam langkah yang harus kita pehatikan adalah hubungan pin 7-segmen
dengan port pada mikrokontroler. Hubungan pin 7-segmen dengan port 0 (P0) adalah sebagai
berikut :
Port 0 7-segmen
P0.0 Pin a
P0.1 Pin b
P0.2 Pin c
P0.3 Pin d
P0.4 Pin e
P0.5 Pin f
P0.6 Pin g
Dari hubungan pin dai P0 dengan pin 7-Segmen maka untuk menapilkan angka 0 maka pin
pada 7-Segmen active adalah pin a,b,c,d,e dan f. P0 yang active adalah p0.0, p0.1, p0.2, P0.3,
P0.4 dan P0.5 (11000000 = c0h). untuk lengkapnya pehatikan Tabel 2.1.

Tabel 2.1 Daftar heksa dari tampilan 7-Segmen


Tampilan P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 Heksa
angka g f e d c b a
0 1 1 0 0 0 0 0 0 C0

Modul pratikum mikrokontroller (FI63107) | 19


1 1 1 1 1 1 0 0 1 F9
2 1 0 1 0 0 1 0 0 A4
3 1 0 1 1 0 0 0 0 B0
4 1 0 0 1 1 0 0 1 99
5 1 0 0 1 0 0 1 0 92
6 1 0 0 0 0 0 1 0 82
7 1 1 1 1 1 0 0 0 f8
8 1 0 0 0 0 0 0 0 80
9 1 0 0 1 0 0 0 0 90
A 1 0 0 0 0 0 0 0 80
B 1 0 0 0 0 0 1 1 83
C 1 0 1 1 0 1 1 0 C6
D 1 0 1 0 0 0 0 1 A1
E 1 0 0 0 0 1 1 0 86
F 1 0 0 0 1 1 1 0 8e

D.1. Program aplikasi untuk membuat program 1 7-Segmen menampilkan angak 0 s/d angka 9
==============================================================
Org 0h
Mulai:
Mov P0, #0c0h ; keluarkan angka 0 lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #0f9h ; keluarkan angka 1 lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #0a4h ; keluarkan angka 2 lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #0b0h ; keluarkan angka 3 lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #099h ; keluarkan angka 4 lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #092h ; keluarkan angka 5 lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #082h ; keluarkan angka 6 lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #0f8h ; keluarkan angka 7 lewat p0

Modul pratikum mikrokontroller (FI63107) | 20


Acall delay ; memanggil sub rutinn delay
Mov P0, #080h ; keluarkan angka 8 lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #090h ; keluarkan angka 9 lewat p0
Acall delay ; memanggil sub rutinn delay
SJMP Mulai ; lompat ke subrutin Mulai

Delay: mov R0,#05h


Delay1: mov R1,#0ffh
Delay2: mov R2,#0
Djnz R2,$
Djnz R1,delay2
Djnz R0,delay1
RET
End.

D.2. Program aplikasi untuk membuat program menampilkan huruf A s/d F.


===============================================================
Org 0h
Mulai:
Mov P0, #088h ; keluarkan angka A lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #083h ; keluarkan angka B lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #0C6h ; keluarkan angka C lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #0A1h ; keluarkan angka D lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #086h ; keluarkan angka E lewat p0
Acall delay ; memanggil sub rutinn delay
Mov P0, #08Eh ; keluarkan angka F lewat p0

Modul pratikum mikrokontroller (FI63107) | 21


Acall delay ; memanggil sub rutinn delay
SJMP Mulai ; lompat ke subrutin Mulai

Delay: mov R0,#05h


Delay1: mov R1,#0ffh
Delay2: mov R2,#0
Djnz R2,$
Djnz R1,delay2
Djnz R0,delay1
RET
End.

D.3. Program aplikasi untuk membuat program 1 7-Segmen menampilkan angak 0 s/d angka 9
dengan aray
==============================================================

Org 0h
Mulai:
Mov R3, #10 ; Jumlah Angka numeric
Mov DPTR, #angka
Utama:
Clr A ; kosongkan akumulator
Movc A,@A+DPTR
Mov p0,A ; keluarkan isi akumulator ke P0
INC DPTR ; tambah 1 DPTR
Acall delay ; memanggil sub rutinn delay
Djnz R3, Utama ; Kurangi R3 dengan 1, kalau belum 0 lompat ke Utama
; jika sudah kerjakan perintah dibawahnya
SJMP Mulai

Delay: mov R0,#05h

Modul pratikum mikrokontroller (FI63107) | 22


Delay1: mov R1,#0ffh
Delay2: mov R2,#0
Djnz R2,$
Djnz R1,delay2
Djnz R0,delay1
RET
Angka:
Db 0c0h, 0f9h, 0a4h, 0b0h, 099h, 092h, 082h, 0f8h, 080h, 090h
End.

D.4. Program aplikasi untuk membuat program 3 7-Segmen menampilkan angak 0 s/d angka
99 dengan array

Buatlah rangkaian seperti pada Gambar 2.3

Modul pratikum mikrokontroller (FI63107) | 23


R1
360R
R2
360R
R3
360R
R4
360R
R5
360R
R6
C1 360R
U1 R7
19 39
XTAL1 P0.0/AD0 360R
33p 38 R8
P0.1/AD1
X1 P0.2/AD2
37
CRYSTAL 18 36
360R
C2 XTAL2 P0.3/AD3
35
P0.4/AD4
34
P0.5/AD5
33
P0.6/AD6
33p 9 32
RST P0.7/AD7

R9 C3 21
P2.0/A8
22
P2.1/A9
23
10k P2.2/A10
10uF 29 24
PSEN P2.3/A11
30 25
ALE P2.4/A12
31 26
EA P2.5/A13
27
VCC P2.6/A14
28
P2.7/A15
1 10
P1.0 P3.0/RXD
2 11
P1.1 P3.1/TXD
3 12
P1.2 P3.2/INT0
4 13
P1.3 P3.3/INT1
5 14
P1.4 P3.4/T0
6 15
P1.5 P3.5/T1
7
P1.6 P3.6/WR
16 R12 Q1 Q2 Q3
8 17 BC177 BC177 BC177
P1.7 P3.7/RD
1k
AT89C51 R14
1k R15
R11 22k
22k R13 R10
1k 22k

VCC

Gambar 2.3 Rangkaian 3 buah 7-Segmen

org 0h
ratusan equ 30h
puluhan equ 31h
satuan equ 32h
angka equ 33h

Modul pratikum mikrokontroller (FI63107) | 24


mulai:mov angka,#0
loop1 :mov r0,#90
loop2 :mov a,angka
mov b,#0ah
div ab
mov satuan,b
mov b,#0ah
div ab
mov puluhan,b
mov ratusan,a

mov dptr,#numerik
mov a,satuan
Movc A,@A+dptr
mov p0,a
mov p1,#7fh
acall delay

mov a,puluhan
movc a,@a+dptr
mov p0,a
mov p1,#bfh
acall delay

mov a,ratusan
movc a,@a+dptr
mov p0,a

Modul pratikum mikrokontroller (FI63107) | 25


mov p1,#dfh
acall delay
inc angka
djnz r0,loop2
sjmp loop1
;-------------------------------
; subrutin delay
;-------------------------------
Delay: mov R0,#0 ; isi register R0 dengan 0
Delay1: mov R1,#0 ; isi register R1 dengan 0
Delay2: djnz R1,delay2 ; kurangi R1 dengan 1, bila hasil belum
; sama dengan 0 maka lompat ke Delay2
Djnz R0,delay1 ; kurangi R0 dengan 1, bila hasil belum
; sama dengan 0 maka lompat ke Delay1
Ret ; kembali ke alamat setelah peintah
; ‘acall Delay’
End

D.5. Berikut ini diberikan gabungan dari gerakan LED menyala kanan-kiri dan kiri-kanan
sehingga nampak seperti ping pong.
Org 0H
Mov A, #111111110b ; simpan data 11111110b ke akumulator
Mulai :
Mov P1,A ; kirim data Port 3
Acall delay ; tunda sebentar
RL A ; putar isi akumulator ke kiri 1 bit
Cjne A,#7FH,mulai ; apakah A=01111111b ? tidak ulangi !
Mulai :
Mov P1,A ; kirim data ke Port 3
Acall delay ; tunda sebentar

Modul pratikum mikrokontroller (FI63107) | 26


RR A ; putar isi akumulator ke kanan 1 bit
Cjnz A,#0FE, Mulai1 ; apakah A=11111110b ? tidak ulangi !
Sjmp Mulai
;--------------------------------------------
; subrutin delay
;--------------------------------------------
Delay: mov R0,#0 ; isi register R0 dengan 0
Delay1: mov R1,#0 ; isi register R1 dengan 0
Delay2: djnz R1,delay2 ; kurangi R1 dengan 1, bila hasil belum
; sama dengan 0 maka lompat ke Delay2
Djnz R0,delay1 ; kurangi R0 dengan 1, bila hasil belum
; sama dengan 0 maka lompat ke Delay1
Ret ; kembali ke alamat setelah peintah
; ‘acall Delay’

numerik:
db 0c0h,f9h,a4h,b0h,99h,92h,82h,f8h,80h,90h

End

TUGAS :
1. Buatlah program yang menampilkan huruf A s/d F dengan array
2. Buatlah program dengan menggunakan 8 7-Segmen untuk menampilkan tulisan
FISICA UnUD

LAPORAN AKHIR :
Buatlah Laporan akhir yang berisi rangkaian berisi tujuan, dasar teori, bahan dan alat,
langkah-langkah percobaan, gambar rangkaian, program, hasil dan kesimpulan dai
pratikum yang dilakukan

Modul pratikum mikrokontroller (FI63107) | 27


2.3 PERCOBAAN III : APLIKASI PORT PARALEL UNTUK
MASUKAN/KELUARAN PENGGERAK LED
A. Tujuan
Setelah pratikum ini mahasiswa diharapkan dapat :
1. Membuat rangkaian push button yang di hubungkan dengan port yang
ada pada mikrokontroler AT89S52 di proteus.
4. Membuat rangkaian push buttom yang di hubungkan dengan port yang
ada pada mikrokontroler AT89S52.
5. Membuat Program untuk menghidupkan push buttom yang di
hubungkan dengan port yang ada pada mikrokontroler AT89S52 di read51.

B. Desain Rangkaian
Rangkaian minimum untuk menghidupkan 7-segmen melalui P0 di tunjukkan pada
Gambar 2.4.

C1
U1
19 39
XTAL1 P0.0/AD0
33p 38
P0.1/AD1
X1 P0.2/AD2
37
CRYSTAL 18 36
C2 XTAL2 P0.3/AD3
35
P0.4/AD4
34
P0.5/AD5
33
P0.6/AD6
33p 9 32
RST P0.7/AD7

R9 C3 21
P2.0/A8
22
P2.1/A9
23
10k P2.2/A10
10uF 29 24
PSEN P2.3/A11
30 25
ALE P2.4/A12
31 26
EA P2.5/A13
27
VCC P2.6/A14
28
P2.7/A15
D8 1 10
R8 2
P1.0 P3.0/RXD
11
P1.1 P3.1/TXD
3 12
D7 360R P1.2 P3.2/INT0
LED-BIGY R7 4
P1.3 P3.3/INT1
13
5 14
P1.4 P3.4/T0
6 15
D6 360R P1.5 P3.5/T1
LED-BIGY R6 7
P1.6 P3.6/WR
16
8 17
P1.7 P3.7/RD
D5 360R
LED-BIGY R5 AT89C51

D4 360R
LED-BIGY R4
D3 360R
LED-BIGY R3
D2 360R
LED-BIGY R2
D1 360R
LED-BIGY R1
360R
LED-BIGY
VCC

Modul pratikum mikrokontroller (FI63107) | 28


Gambar 2.4 rangkaian Aplikasi push buttom melalui port parallel

Rangkaian LED di hubungkan dengan P1, dan Push buttom di hubungkan pada P3.0 dan
P3.1.

C. Alat dan Bahan yang dipelukan


1. Mikrokontroller AT89S52
2. Resistor 330 ohm 8 buah
3. Resistor 10 Kohm 1 buah
4. 8 buah LED
5. 2 buah Push Bottum
6. Catu daya 5 volt
7. Kristal 11.592 MHz 1 buah
8. Kapasitor 33 pF 2 buah
9. Kapasitor 10 uF 1 buah
10. Downloadder
11. komputer
12. Pogram Proteus
13. Pogram Read51

D. Program
D.1. Program aplikasi untuk membuat program push buttom dimana tombol pada p3.0
dipergunakan untuk menghidup LED pada P0 dan P3.1 untuk mematikan LED pada P0
==============================================================
Org 0h
Mulai:
Mov a,P3 ; baca port 3 dan masukkan isinya ke akumulator
CJNE a,#0FEh,Mati ; bandingkan isi akumulator dengan 0FEh, jika tdk sama
; lompat ke label Mati, jika sama kerjakan pogram
; dibawahnya
Mov P1, #00h ; keluarkan logika 0 ke P1

Modul pratikum mikrokontroller (FI63107) | 29


SJMP Mulai
Mati :
CJNE a,#0FDh,Mulai ; bandingkan isi akumulator dengan 0FDh, jika tdk sama
; lompat ke label Mulai, jika sama kerjakan pogram
; dibawahnya
Mov P1, #0FFh ; keluarkan logika 1 ke P1
SJMP Mulai

End.

D.2. Program aplikasi untuk membuat program push buttom dimana tombol pada p3.0
dipergunakan untuk menghidup LED pada P0 sampai tombol pada P3.0 dilepas
==============================================================

Org 0h
Mulai:
Mov a,P3 ; baca port 3 dan masukkan isinya ke akumulator
CJNE a,#0FEh,Mati ; bandingkan isi akumulator dengan 0FEh, jika tdk sama
; lompat ke label Mati, jika sama kerjakan pogram
; dibawahnya
CJNE R0,#0, Terus
Mov R0,#0
Mov P1, #00h ; keluarkan logika 0 ke P1
Tunggu:
Mov a,P3 ; tunggu hingga tombol tekan di lepas
CJNE A,#0FFh,Tunggu
SJMP Mulai
Terus :
Mov R0,#0
Mov P3, #0FFh ; keluarkan logika 1 ke P3
SJMP tunggu

Modul pratikum mikrokontroller (FI63107) | 30


End.
D.3. Program aplikasi untuk membuat program penekanan pada p3.0 akan ditammpilkan pada
7-Segmen pada P0
==============================================================
7-Segmen dihubungkan pada PO dan push button dihubungkan pada P3 sepeti
terlihat dalam Gambar 2.5

VCC
R2
360R
R3
360R
R4
360R
R5
360R
R6
360R
C1 R7
U1
360R
19 39 R8
XTAL1 P0.0/AD0
33p 38
P0.1/AD1
X1 P0.2/AD2
37
360R
CRYSTAL 18 36
C2 XTAL2 P0.3/AD3
35
P0.4/AD4
34
P0.5/AD5
33
P0.6/AD6
33p 9 32
RST P0.7/AD7

R9 C3 21
P2.0/A8
22
P2.1/A9
10k 23
P2.2/A10
10uF 29 24
PSEN P2.3/A11
30 25
ALE P2.4/A12
31 26
EA P2.5/A13
27
VCC P2.6/A14
28
P2.7/A15
1 10
P1.0 P3.0/RXD
2 11
P1.1 P3.1/TXD
3 12
P1.2 P3.2/INT0
4 13
P1.3 P3.3/INT1
5 14
P1.4 P3.4/T0
6 15
P1.5 P3.5/T1
7 16
P1.6 P3.6/WR
8 17
P1.7 P3.7/RD
AT89C51

Gambar 2.4 Rangkaian aplikasi masukan/keluaan penggerak 7-Segmen

Sebelum membuat progam langkah yang harus kita pehatikan adalah hubungan pin 7-segmen
dengan port pada mikrokontroler. Hubungan pin 7-segmen dengan port 0 (P0) adalah sebagai
berikut :
Port 0 7-segmen
P0.0 Pin a
P0.1 Pin b

Modul pratikum mikrokontroller (FI63107) | 31


P0.2 Pin c
P0.3 Pin d
P0.4 Pin e
P0.5 Pin f
P0.6 Pin g
Dari hubungan pin dai P0 dengan pin 7-Segmen maka untuk menapilkan angka 0 maka pin
pada 7-Segmen active adalah pin a,b,c,d,e dan f. P0 yang active adalah p0.0, p0.1, p0.2, P0.3,
P0.4 dan P0.5 (11000000 = c0h). untuk lengkapnya pehatikan Tabel 2.1.

Tabel 2.2 Daftar heksa dari tampilan 7-Segmen


Tampilan P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 Heksa
angka g f e d c b a
0 1 1 0 0 0 0 0 0 C0
1 1 1 1 1 1 0 0 1 F9
2 1 0 1 0 0 1 0 0 A4
3 1 0 1 1 0 0 0 0 B0
4 1 0 0 1 1 0 0 1 99
5 1 0 0 1 0 0 1 0 92
6 1 0 0 0 0 0 1 0 82
7 1 1 1 1 1 0 0 0 f8
8 1 0 0 0 0 0 0 0 80
9 1 0 0 1 0 0 0 0 90
A 1 0 0 0 0 0 0 0 80
B 1 0 0 0 0 0 1 1 83
C 1 0 1 1 0 1 1 0 C6
D 1 0 1 0 0 0 0 1 A1
E 1 0 0 0 0 1 1 0 86
F 1 0 0 0 1 1 1 0 8e

Programnya adalah :
Org 0h
Mulai:
Mov a, p3
CJNE A,#FEH, Satu ;bandingkan Akumulator = FE ya keluarkan angka 1 ke P0
Mov P0, #0f9h ; keluarkan angka 1 lewat p0
SJMP Mulai
Satu:

Modul pratikum mikrokontroller (FI63107) | 32


CJNE A,#FdH, dua
Mov P0, #0a4h ; keluarkan angka 2 lewat p0
SJMP Mulai
Dua:
CJNE A,#FbH, tiga
Mov P0, #0b0h ; keluarkan angka 3 lewat p0
SJMP Mulai
tiga:
CJNE A,#F7H, empat
Mov P0, #099h ; keluarkan angka 4 lewat p0
SJMP Mulai
empat:
CJNE A,#EFH, lima
Mov P0, #092h ; keluarkan angka 5 lewat p0
SJMP Mulai
Lima:
CJNE A,#dFH, enam
Mov P0, #082h ; keluarkan angka 6 lewat p0
SJMP Mulai
enam:
CJNE A,#BFH, tujuh
Mov P0, #0f8h ; keluarkan angka 7 lewat p0
SJMP Mulai
tujuh:
CJNE A,#7FH, delapan
Mov P0, #080h ; keluarkan angka 8 lewat p0
SJMP Mulai ; lompat ke subrutin Mulai
Delapan :
Mov P0, #0c0h ; keluarkan angka 0 lewat p0
Sjmp mulai
End.

Modul pratikum mikrokontroller (FI63107) | 33


TUGAS :
2. Buatlah program untuk tombol pd P3.0 sebagai swit untuk menghentian atau
meneruskan lampu berjalan pada P1

LAPORAN AKHIR :
Buatlah Laporan akhir yang berisi rangkaian berisi tujuan, dasar teori, bahan dan alat,
langkah-langkah percobaan, gambar rangkaian, program, hasil dan kesimpulan dai
pratikum yang dilakukan

Modul pratikum mikrokontroller (FI63107) | 34


2.4 PERCOBAAN IV : APLIKASI PORT PARALEL UNTUK MASUKAN/KELUARAN
PENGGERAK
A. Tujuan
Setelah pratikum ini mahasiswa diharapkan dapat :
3. Membuat rangkaian push button yang di hubungkan dengan port yang
ada pada mikrokontroler AT89S52 di proteus.
6. Membuat rangkaian push buttom yang di hubungkan dengan port yang
ada pada mikrokontroler AT89S52.
7. Membuat Program untuk menghidupkan push buttom yang di
hubungkan dengan port yang ada pada mikrokontroler AT89S52 di read51.

B. Desain Rangkaian
Rangkaian minimum untuk menghidupkan 7-segmen melalui P0 di tunjukkan pada
Gambar 2.6.

Modul pratikum mikrokontroller (FI63107) | 35


VCC
R2
360R
R3
360R
R4
360R
R5
360R
R6
360R
C1 R7
U1
360R
19 39 R8
XTAL1 P0.0/AD0
33p 38
P0.1/AD1
X1 P0.2/AD2
37
360R
CRYSTAL 18 36
C2 XTAL2 P0.3/AD3
35
P0.4/AD4
34
P0.5/AD5
33
P0.6/AD6
33p 9 32
RST P0.7/AD7

R9 C3 21
P2.0/A8
22
P2.1/A9
10k 23
P2.2/A10
10uF 29 24
PSEN P2.3/A11
30 25
ALE P2.4/A12
31 26
EA P2.5/A13
27
VCC P2.6/A14
28
P2.7/A15

3
1 10
P1.0 P3.0/RXD
2
3
P1.1
P1.2
P3.1/TXD
P3.2/INT0
11
12
A 1 2 3
4 13
P1.3 P3.3/INT1
5 14
P1.4 P3.4/T0
6
7
P1.5
P1.6
P3.5/T1
P3.6/WR
15
16
B 4 5 6
8 17
P1.7 P3.7/RD
AT89C51
C 7 8 9
D 0 #

Gambar 2.6 rangkaian Aplikasi push buttom melalui port parallel

Rangkaian LED di hubungkan dengan P1, dan Push buttom di hubungkan pada P3.0 dan
P3.1.

C. Alat dan Bahan yang dipelukan


14. Mikrokontroller AT89S52
15. Resistor 330 ohm 8 buah
16. Resistor 10 Kohm 1 buah
17. 8 buah LED
18. 2 buah Push Bottum
19. Catu daya 5 volt
20. Kristal 11.592 MHz 1 buah

Modul pratikum mikrokontroller (FI63107) | 36


21. Kapasitor 33 pF 2 buah
22. Kapasitor 10 uF 1 buah
23. Downloadder
24. komputer
25. Pogram Proteus
26. Pogram Read51

D. Program
Sebelum membuat progam langkah yang harus kita pehatikan adalah hubungan pin 7-segmen
dengan port pada mikrokontroler. Hubungan pin 7-segmen dengan port 0 (P0) adalah sebagai
berikut :

D.1. Program aplikasi untuk membuat program push buttom dimana tombol pada p3.0
dipergunakan untuk menghidup LED pada P0 dan P3.1 untuk mematikan LED pada
==============================================================
Org 0h
Mulai:
Mov a,P3 ; baca port 3 dan masukkan isinya ke akumulator
CJNE a,#0FEh,Mati ; bandingkan isi akumulator dengan 0FEh, jika tdk sama
; lompat ke label Mati, jika sama kerjakan pogram
; dibawahnya
Mov P1, #00h ; keluarkan logika 0 ke P1
SJMP Mulai
Mati :
CJNE a,#0FDh,Mulai ; bandingkan isi akumulator dengan 0FDh, jika tdk sama
; lompat ke label Mulai, jika sama kerjakan pogram
; dibawahnya
Mov P1, #0FFh ; keluarkan logika 1 ke P1
SJMP Mulai

End.

Modul pratikum mikrokontroller (FI63107) | 37


D.2. Program aplikasi untuk membuat program push buttom dimana tombol pada p3.0
dipergunakan untuk menghidup LED pada P0 sampai tombol pada P3.0 dilepas
==============================================================

Org 0h
Mulai:
Mov a,P3 ; baca port 3 dan masukkan isinya ke akumulator
CJNE a,#0FEh,Mati ; bandingkan isi akumulator dengan 0FEh, jika tdk sama
; lompat ke label Mati, jika sama kerjakan pogram
; dibawahnya
CJNE R0,#0, Terus
Mov R0,#0
Mov P1, #00h ; keluarkan logika 0 ke P1
Tunggu:
Mov a,P3 ; tunggu hingga tombol tekan di lepas
CJNE A,#0FFh,Tunggu
SJMP Mulai
Terus :
Mov R0,#0
Mov P3, #0FFh ; keluarkan logika 1 ke P3
SJMP tunggu

End.

TUGAS :
4. Buatlah program yang menampilkan huruf A s/d F dengan array
5. Buatlah program dengan menggunakan 8 7-Segmen untuk menampilkan
tulisan FISICA UnUD

LAPORAN AKHIR :

Modul pratikum mikrokontroller (FI63107) | 38


Buatlah Laporan akhir yang berisi rangkaian berisi tujuan, dasar teori, bahan dan alat,
langkah-langkah percobaan, gambar rangkaian, program, hasil dan kesimpulan dai
pratikum yang dilakukan

Modul pratikum mikrokontroller (FI63107) | 39


PERCOBAAN 4
ANTAR MUKA LCD 16 x 2 BASED AT89S52

I. TUJUAN
a. Merancang dan membuat modul output berupa karakter yang ditampilkan pada
LCD (Liquid Crystal Display) sebagai peraga.
b. Mengkoneksi dan mengimplementasikan LCD dengan mikrokontroller board
AT89S51/52.
II. DASAR TEORI
LCD (Liquid Cristal Display) berfungsi untuk menampilkan karakter angka, huruf
ataupun simbol dengan lebih baik dan dengan konsumsi arus yang rendah. LCD (Liquid Cristal
Display) dot matrik M1632 merupakan modul LCD buatan hitachi. Modul LCD (Liquid Cristal
Display) dot matrik M1632 terdiri dari bagian penampil karakter (LCD) yang berfungsi
menampilkan karakter dan bagian sistem prosesor LCD dalam bentuk modul dengan
mikrokontroler yang diletakan dibagian belakan LCD tersebut yang berfungsi untuk mengatur
tampilan LCD serta mengatur komunikasi antara LCD dengan mikrokontroler yang
menggunakan modul LCD tersebut. LCD ini memiliki 16 kaki, sebagaimana ditunjukkan
dalam Tabel 2.1.

Tabel 2.1 Konfigurasi Pin LCD M1632


No Kaki Deskripsi
1 Vss 0V (GND)
2 Vcc +5V
3 VLC LCD Contrast Voltage
4 RS Register Select; H: Data Input; L: Instruction Input
5 RD H:Read; L: Write
6 EN Enable Signal
7 D0 Data Bus 0
8 D1 Data Bus 1
9 D2 Data Bus 2
10 D3 Data Bus 3
11 D4 Data Bus 4
12 D5 Data Bus 5
13 D6 Data Bus 6
14 D7 Data Bus 7
15 V+BL Positive Backlight Voltage
16 V-BL Negative Backlight Voltage

Modul pratikum mikrokontroller (FI63107) | 40


Display karakter pada LCD diatur oleh pin EN, RS dan RW:
Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang
mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus
dibuat logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur
yang lain telah siap, set EN dengan logika “1” dan tunggu untuk sejumlah waktu tertentu
( sesuai dengan datasheet dari LCD tersebut ) dan berikutnya set EN ke logika low “0” lagi.
Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan
dianggap sebagi sebua perintah atau instruksi khusus ( seperti clear screen, posisi kursor dll ).
Ketika RS berlogika high “1”, data yang dikirim adalah data text yang akan ditampilkan
pada display LCD.
Sebagai contoh, untuk menampilkan huruf “T” pada layar LCD maka RS
harus diset logika high “1”. Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika
low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika
high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada
aplikasi umum pin RW selalu diberi logika low ”0”. Pada akhirnya, bus data terdiri dari 4
atau 8 jalur ( bergantung pada mode operasi yang dipilih oleh user ). Pada kasus bus data 8
bit, jalur diacukan sebagai DB0 s/d DB7

Gambar 2.1 LCD 16 x 2

III. Gambar
ALAT DAN BAHAN2.1 Konfigurasi pin LCD 16 x 2

Modul pratikum mikrokontroller (FI63107) | 41


1. Power supply +5V DC
2. Sistem Minimum Mikrokontroller AT 89S51/52
3. LCD 16 x 2
4. USB ASP downloader

IV. RANGKAIAN PERCOBAAN


Adapun rangkaian percobaan dibawah ini guna kebutuhan simulasi dengan menggunakan
program Proteus

Gambar 4.1 Desain simulasi antar muka LCD 16 x 2 di Proteus


V. PROSEDUR PERCOBAAN
Alat dan bahan yang akan digunakan dipersiapkan terlebih dahulu. Komponen –
komponen elektronika dipasang sesuai dengan rangkaian pada gambar 4.1. Rangkaian yang
sudah terpasang tersebut kemudian dihubungkan ke catu daya DC +5V. Kemudian menanam
program yang telah disiapkan kedalam mikrokontroller dengan bantuan usb asp downloader.
Program untuk antarmuka LCD tersebut menggunakan high level language yang didebug
dari program Bascom. Adapun program yang digunakan dalam praktikum ini adalah sebagai
berikut:

$regfile = "8052.dat"
$crystal = 16000000
Dim I As Byte
Dim X As Byte
Dim A As String * 1

Modul pratikum mikrokontroller (FI63107) | 42


Config Lcdpin = Pin , Db4 = P2.4 , Db5 = P2.5 , Db6 = P2.6 , Db7 = P2.7 , E = P0.2 ,
Rs = P0.0
Config Lcd = 16 * 2
P1.1 = 0
Lcdinit
Deflcdchar 7 , 4 , 4 , 21 , 31 , 31 , 31 , 31 , 32
Deflcdchar 0 , 4 , 14 , 21 , 4 , 4 , 4 , 4 , 32

Cursor Off
Do
I = 40
Cls
Locate 1 , 16
Lcd "Mikrokontroller Fisika Udayana "
Locate 2 , 16
Lcd Chr(0)
Locate 2 , 40
Lcd Chr(0)
Do
Shiftlcd Left
Decr I
Waitms 995
Loop Until I = 0
Loop
End

VI. HASIL PERCOBAAN


Adapun hasil yang diperoleh dari percobaan seven segment ini adalah sebagai berikut:

Modul pratikum mikrokontroller (FI63107) | 43


Gambar 6.1 Hasil Percobaan antar muka LCD 12 x 2

VII. PEMBAHASAN
Pada percobaan kali ini metode pengalamatan data pada lcd menggunakan metode 4 bit.
Hal ini mengakibatkan penggunaan 4 pin data pada LCD. Pada mikrokontroller Port 0 (P0.4,
P0.5, P0.6, P0.7) masing masing digunakan untuk input data pada pin lcd yaitu ( Db.4, Db.5,
Db.6, Db7), dan Port 2 digunakan untuk kontrol dimana P2.0 digunakan untuk mengontrol pin
RS LCD serta P2.2 digunakan untuk mengontrol pin Enable pada LCD.

VIII. KESIMPULAN
Dari percobaan yang dilakukan, dapat ditarik beberapa kesimpulan sebagai berikut:
1. Dot Matrik dapat dioperasikan dengan menggunakan mikrokontroler AT
89S51/2.
2. Hasil percobaan yang diperoleh dapat menampilkan keluaran dari Dot Matrik.

LAPORAN AKHIR :

Modul pratikum mikrokontroller (FI63107) | 44


Buatlah Laporan akhir yang berisi rangkaian berisi tujuan, dasar teori, bahan dan alat,
langkah-langkah percobaan, gambar rangkaian, program, hasil dan kesimpulan dai
pratikum yang dilakukan

Modul pratikum mikrokontroller (FI63107) | 45


PERCOBAAN 5
ADC BASED AT89S52

IX. TUJUAN
c. Merancang dan membuat modul output berupa ADC yang ditampilkan pada
seven segment sebagai peraga.
d. Mengkoneksi dan mengimplementasikan ADC dengan mikrokontroller board
AT89S51/52.
X. DASAR TEORI
Analog To Digital Converter (ADC) adalah pengubah input analog menjadi kode – kode
digital. ADC banyak digunakan sebagai pengatur proses industri, komunikasi digital dan
rangkaian pengukuran/pengujian. Umumnya ADC digunakan sebagai perantara antara sensor
yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya, tekanan/berat,
aliran dan sebagainya kemudian diukur dengan menggunakan sistim digital (komputer)

ADC (Analog Digital Converter) merupakan fitur pada mikrokontroler yang berfungsi
untuk mengkonversi sinyal/data dari besaran analog menjadi besaran digital. Mengapa harus di
konversi, Karena sebagian besar data/sinyal yang ada di dunia ini merupakan besaran analog.
Pengkonversian data dari analog ke digital merupakan suatu cara untuk mengolah data
analog tersebut agar dapat di modifikasi, di manipulasi dan mengubah karakteristiknya. Contoh
besaran analog yang sering di temui dalam kehidupan sehari-hari yaitu suhu, cahaya,
kecepatan,tegangan, suara, dll. Fitur ADC ini sering digunakan dalam proses industri dan
komunikasi digital. ADC inilah yang menghubungkan antara sensor dengan sistem komputer
yang telah terintegrasi. ADC memiliki 2 faktor penting pada penggunaannya
yaitu Kecepatan Sampling dan Resolusi. Dimana kecepatan sampling ini berpengaruh terhadap
seberapa banyak sinyal analog yang di konversi ke sinyal digital dalam satuan waktu. Satuan
waktu yang digunakan yaitu SPS (Sample per Second). Sedangkan resolusi ADC berpengaruh
terhadap ketelitian hasil konversinya. Resolusi pada mikrokontroler AVR ada 2 yaitu resolusi
8 bit dan 10 bit

Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang
merupakan rasio perbandingan sinyal input dan tegangan referensi. Sebagai contoh, bila
tegangan referensi (Vref) 5 volt, tegangan input 3 volt, rasio input terhadap referensi adalah

Modul pratikum mikrokontroller (FI63107) | 46


60%. Jadi, jika menggunakan ADC 8 bit dengan skala maksimum 255, akan didapatkan sinyal
digital sebesar 60% x 255 = 153 (bentuk decimal) atau 10011001 (bentuk biner).

Gambar 2.1 Konfigurasi Pin ADC0804

XI. ALAT DAN BAHAN


5. Power supply +5V DC
6. Sistem Minimum Mikrokontroller AT 89S51/52
7. IC ADC0804
8. USB ASP downloader

XII. RANGKAIAN PERCOBAAN


Adapun rangkaian percobaan dibawah ini guna kebutuhan simulasi dengan menggunakan
program Proteus

Gambar 4.1 Desain simulasi antar muka LCD 16 x 2 di Proteus


XIII. PROSEDUR PERCOBAAN

Modul pratikum mikrokontroller (FI63107) | 47


Alat dan bahan yang akan digunakan dipersiapkan terlebih dahulu. Komponen –
komponen elektronika dipasang sesuai dengan rangkaian pada gambar 4.1. Rangkaian yang
sudah terpasang tersebut kemudian dihubungkan ke catu daya DC +5V. Kemudian menanam
program yang telah disiapkan kedalam mikrokontroller dengan bantuan usb asp downloader.
Program untuk antarmuka ADC tersebut menggunakan high level language yang didebug
dari program Bascom. Adapun program yang digunakan dalam praktikum ini adalah sebagai
berikut:
#include <sfr51.inc>
;rd equ P0.0 ;Read signal P1.0
;wr equ P0.1 ;Write signal P1.1
;cs equ P0.2 ;Chip Select P1.2
;intr equ P0.3 ;INTR signal P1.3

adc_port equ P2 ;ADC data pins P2


adc_val equ 30H ;ADC read value stored here

org 00H

start: ;Start of Program


acall conv ;Start ADC conversion
acall read ;Read converted value
mov a,adc_val ;Move the value to ACCUMULATOR (converting)
acall hextobcd
push acc
acall disp
pop acc
acall delays
sjmp start ;Do it again

conv: ;Start of Conversion


clr p0.2 ;Make CS low
clr P0.1 ;Make WR Low
nop
setb P0.1 ;Make WR High
setb p0.2 ;Make CS high
wait:
jb P0.3,wait ;Wait for INTR signal
ret ;Conversion done

read: ;Read ADC value


clr p0.2 ;Make CS Low
clr P0.0 ;Make RD Low
mov a,adc_port ;Read the converted value

Modul pratikum mikrokontroller (FI63107) | 48


mov adc_val,a ;Store it in local variable
setb P0.0 ;Make RD High
setb p0.2 ;Make CS High
ret ;Reading done
hextobcd:
mov 01h,#00h
mov 02h,#00h
cjne a,#00h,c1_hextobcd ;If number is not 0 then continue
ret

c1_hextobcd:
clr c
mov b,#100 ;First divide by 100
div ab
mov r0,a ;save MSB in R0
clr c
mov a,b
mov b,#10 ;Divide by 10
div ab
swap a
mov r1,a ;save the tens place in the Higher nibble of R1
mov a,b
orl a,r1
mov r1,a ;save the tens place in the Lower nibble of R1
ret

disp:
mov a,#11111110b
mov r0,#01h
disp1:
mov p3,a
mov p1,@r0
inc r0
rl a
acall delay
cjne a,#11111011b,disp1
sjmp disp
ret

delay:
PUSH B
PUSH 6
PUSH 7
MOV B,#2H
delay1 : MOV R6,#2H
delay2 : MOV R7,#0H

Modul pratikum mikrokontroller (FI63107) | 49


DJNZ R7,$
DJNZ R6,delay2
DJNZ B,delay1
POP 7
POP 6
POP B
RET

delays:
PUSH B
PUSH 6
PUSH 7
MOV B,#15H
delay11 : MOV R6,#15H
delay21 : MOV R7,#0H
DJNZ R7,$
DJNZ R6,delay21
DJNZ B,delay11
POP 7
POP 6
POP B
RET ;(MAIN)

END

XIV. HASIL PERCOBAAN


Adapun hasil yang diperoleh dari percobaan seven segment ini adalah sebagai berikut:

Modul pratikum mikrokontroller (FI63107) | 50


Gambar 6.1 Hasil Percobaan hasil output ADC pada seven segment
XV. PEMBAHASAN
Percobaan yang telah dilakukan ini adalah percobaan menggunakan ADC dengan
mikrokontroler. ADC (Analog Digital Converter) merupakan fitur pada mikrokontroler yang
berfungsi untuk mengkonversi sinyal/data dari besaran analog menjadi besaran digital.
Mengapa harus di konversi, Karena sebagian besar data/sinyal yang ada di dunia ini
merupakan besaran analog. Pengkonversian data dari analog ke digital merupakan suatu cara
untuk mengolah data analogtersebut agar dapat di modifikasi, di manipulasi dan mengubah
karakteristiknya. Contoh besaran analog yang sering di temui dalam kehidupan sehari-hari
yaitu suhu, cahaya, kecepatan,tegangan, suara, dll. Fitur ADC ini sering digunakan dalam
proses industri dan komunikasi digital. ADC inilah yang menghubungkan antara sensor dengan
sistem komputer yang telah terintegrasi.
XVI. KESIMPULAN
Dari percobaan yang dilakukan, dapat ditarik beberapa kesimpulan sebagai berikut:
3. Dot Matrik dapat dioperasikan dengan menggunakan mikrokontroler AT
89S51/2.
4. Hasil percobaan yang diperoleh dapat menampilkan keluaran dari Dot Matrik.

LAPORAN AKHIR :
Buatlah Laporan akhir yang berisi rangkaian berisi tujuan, dasar teori, bahan dan alat,
langkah-langkah percobaan, gambar rangkaian, program, hasil dan kesimpulan dai
pratikum yang dilakukan

Modul pratikum mikrokontroller (FI63107) | 51


Modul pratikum mikrokontroller (FI63107) | 52
Modul pratikum mikrokontroller (FI63107) | 53

Anda mungkin juga menyukai