Anda di halaman 1dari 12

PENGOLAHAN DATA SENSOR

LAPORAN PRAKTIKUM
SISTEM TELEMETRI

Disusun oleh

NAMA MAHASISWA
NIM MAHASISWA

PROGRAM STUDI
INSTRUMENTASI DAN OTOMASI INDUSTRI
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI LHOKSEUMAWE
TAHUN
HALAMAN PENGESAHAN

PENGOLAHAN DATA SENSOR

Praktikum ini sudah selesai dilaksanakan dan telah memperoleh data-data yang
diperlukan untuk memahami pokok bahasan yang dipelajari

Menyetujui,
Dosen Pengasuh Penyusun,

Aidi Finawan, SST, M.Eng Nama:


Nip. 197406192000121003 Nim.

Setelah laporan ini diperiksa, Praktikan mendapat nilai:

2
PRAKTIKUM
PENGOLAHAN DATA SENSOR

3.1 Tujuan Instruksional Khusus


 Memperkenalkan prinsip pengolahan data sensor untuk ditampilkan
 Memperkenalkan prinsip pengkodean data untuk ditransmisikan

3.2 Dasar Teori

Penampilan abjad dan angka pada LCD, kita harus mengirimkannya


dalam kode ASCII, untuk abjad A-Z, dan a-z, termasuk angka 0-9 pada ke-8-pin
tersebut dengan mengatur pin RS = 1. Ada pula beberapa kode perintah yang
digunakan untuk membuat LCD membersihkan layarnya atau memindahkan
kursor ke kiri, kanan , atau ke posisi home, atau membuat kursor yang berkedip.
Tabel 3.1 mendaftar beberapa kode "Intruction Command".
LCD yang dibahas pada praktikum ini adalah tipe LCD 2x16 digit
memiliki 14 pin ditambah 2 pin untuk backligth. Gambar 3.1 menunjukkan
konfigurasi pin LCD 2x16 digit. Fungsi setiap pin seperti ditunjukkan pada table
3.1.

a. Modul tampilan LCD

3
b. Konfigurasi pin LCD 2x16 digit

Gambar 4.1 LCD 2x16 digit


Tabel 3.1 Penjelasan Pin pada LCD
Pin Simbol I/O Keterangan
1 Vss -- Ground
2 Vcc -- Catu daya +5 Volts
3 Vee -- Pengatur Kontras Layar
4 RS I RS = 0 untuk reg. Command ; RS = 1 untuk reg. Data
R/W = 0 untuk Write
5 R/W I
R/W = 1 untuk Read
6 E I/O Enable (Strobe)
7 DB0 I/O Bus Data 8-bit
8 DB1 I/O Bus Data 8-bit
9 DB2 I/O Bus Data 8-bit
10 DB3 I/O Bus Data 8-bit
11 DB4 I/O Bus Data 8-bit
12 DB5 I/O Bus Data 8-bit
13 DB6 I/O Bus Data 8-bit
14 DB7 I/O Bus Data 8-bit

Vcc, Vss, dan Vee


Jika Vss dan Vss masing-masing berfungsi sebagai jalur arus catu daya
+5V dan Ground-nya. Vee digunakan untuk mengontrol kontras dari tampilan
LCD. Yakni dilakukan dengan menghubungkan pin ini dengan resistor 1 kohm
atau lebih rendah lagi, pada ground.

4
RS, register Select
Ada 2 buah register yang penting pad LCD. Pin RS inilah yang digunakan
untuk memilih register tersebut. Jika RS = 0, maka register kode "Instruction
Command" yang sedang kita pilih, yang dapat digunakan misalnya untuk
membersihkan display, memindahkan kursor, dll. Jika RS = 1 maka register
"Data" yang sedang kita pilih, yang akan membuat setiap data yang kita kirimkan
akan langsng ditampilkan pada LCD sesuai dengan daftar karakter yang
dipunyainya.

R/W, read/write
Input R/W membuat kita bisa menulis/mengirimkan data pada LCD atau
membaca data dari LCD. RW = 0 untuk menulis, dan R/W = 1 untuk membaca.
Dalam praktek sangat jarang data dari LCD dibaca, sehingga dalam beberapa
rancangan, pin R/W ini langsung dihubungkan pada ground, demi menghemat
port mikrokontroller.

E, enable
Fungsinya mirip dengan strobe. Setiap proses yang hendak kita lakukan
akan menjadi "sah" setelah ada pulsa Tinggi-ke-Rendah pada pin ini. Setiap data
yang dikirimkan melalui pin data, akan segera di latch di dalam LCD. Dan LCD
dapat mengerjakan tugasnya menurut data yang baru saja dia terima.

D0-D7
Pin data 8-bit, D0-D7 digunakan untuk mengirimkan inforamsi ke LCD ataupun
utuk membaca isi dari register internal dari LCD. Untuk menampilkan abjad dan
angka, kita harus mengirimkannya dalam kode ASCII, untuk abjad A-Z, dan a-z,
termasuk angka 0-9 pada ke-8-pin tersebut dengan mengatur pin RS = 1.
Ada pula beberapa kode perintah yang digunakan untuk membuat LCD
membersihkan layarnya atau memindahkan kursor ke kiri, kanan , atau ke posisi

5
home, atau membuat kursor yang berkedip. Tabel 2 menunjukkan beberapa kode
"Intruction Command".
Kita dapat membuat RS = 0 untuk memeriksa bit bendera busy, untuk
mengetahui apakah LCD sudah siap untuk menerima data selanjutnya. Bit
bendera busy menggunakan pin D7 dan bisa periksa saat R/W = 1 dan RS = 0.
Apabila R/W = 1 dan RS = 0, dan ternyata pin D7 = 1 maka berarti bendera busy
= 1. Artinya LCD masih sibuk dalam melaksanakan operasi internalnya. Segera
setelah busy = 0, maka kita dapat mengirimkan data berikutnya pada LCD.

Tabel 3.2 Kode-kode Command LCD


Hex Instruksi Keterangan
1 Clear Display Screen Bersihkan Layar dan kembali semula
2 Return Home Kursor kembali semula
4 Decrement cursor Geser kursor ke kiri
6 Increment cursor Geser kursor ke kanan
5 Shift Display right Geser Layar dan isi ke kanan
7 Shift Display left Geser Layar dan isi ke kiri
8 Display Off,Cursor Off --
A Display Off,Cursor On --
C Display On, Cursor Off --
E Display On,Cursor Blinking --
F Display On,Cursor Blinking --
10 Shift cursor left Geser kursor ke kiri
14 Shift cursor right Geser kursor ke kanan
18 Shift entire display rigth Geser Layar dan isi ke kanan 1 kali
1C Shift entire display Left Geser Layar dan isi ke kiri 1 kali
80 force cursor to beginning of 1st line pindahkan kursor ke kiri atas
C0 force cursor to beginning of 2nd line pindahkan kursor ke kiri bawah
38 Setup LCD 2lines, 5x7 matrix kode inisialisasi LCD

Terdapat 2 metode untuk penulisan LCD, antara lain:


a. memeriksa busy flag, untuk kemudian mengirimkan data berikutnya.
b. membuat tundaan waktu.
Sedapat mungkin waktu tunda adalah cukup untuk waktu yang dibutuhkan
oleh LCD dalam mengerjakan setiap instruksinya. Cara yang ke 2 ini adalah cara
yang paling sederhana, namun mampu memberikan hasil yang sama bahkan lebih

6
baik.

3.3 Daftar alat dan bahan


1. Software Proteus 7
PC /Laptop
3. Software Mide51

3.4 Keselamatan Kerja


1. Menggunakan pakaian praktikum dengan baik dan rapi
Sambungkan komponen-komponen sistem sesuai dengan gambar kerja

3.5 Gambar Kerja


RV2 +5V
RV1 R7
+5v
R3 75%

75k U5
93%

430R
100k 1 20
CS VCC
+88.8 1k 2 18
-12V P3.7 RD DB0(LSB)
Volts 3 17
1 U? -12V U4 P3.6
4
WR DB1
16
CLK IN DB2
13 3 5 15
X0 X +5V P3.2 INTR DB3
14 8 14
X1 A GND DB4
82.0 U2 15
X2
10
D GND DB5
13
U3 12 9 12
4
1
5

X3 VREF/2 DB6
R4 1 19 11
4
1
5

X4 CLK R DB7(MSB)
2 2 R6 5
VOUT X5
100R
6 2 2
X6 R21 6
VIN+
3
100k
6 4
X7 360R 7
VIN- RO7 RO6 RO5 RO4 RO3 R02 RO1 RO0
3 220 220 220 220 220 220 220 220
3 LM35 R1 R2 +12V P2.3
11
A
ADC0804
7

150k 150k 10
741 +12V P2.4 B RV3
7

9
741 P2.5 C
6
INH
R20
4051 10k DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
32%

LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
+88.8 +88.8 +88.8
C? Volts Volts Volts
1uF 1k
+88.8
Volts
C5
150p
GND

+5V
CM1 CM2
22pF 22pF
X1 UM1
CM3 19 39
XTAL1 P0.0/AD0
38
P0.1/AD1
1uF 12MHz 37
GND

P0.2/AD2
1k 18 36
GND XTAL2 P0.3/AD3
RM1 P0.4/AD4
35
34
P0.5/AD5
33
P0.6/AD6
RVM1 LM016L 9
RST P0.7/AD7
32

+5V 21
LCD1

P2.0/A8
22
P2.1/A9
23
AT89C52

P2.2/A10
29 24
PSEN P2.3/A11 P2.3
30 25
ALE P2.4/A12 P2.4
VDD
VSS

VEE

31 26
RW
RS

D0
D1
D2
D3
D4
D5
D6
D7

10k EA P2.5/A13 P2.5


E

27
P2.6/A14
28
P2.7/A15
1
2
3

4
5
6

7
8
9
10
11
12
13
14

1 10
P1.0/T2 P3.0/RXD
2 11
P1.1/T2EX P3.1/TXD
3 12
P1.2 P3.2/INT0 P3.2
4 13
P1.3 P3.3/INT1
+5V 5 14
P1.4 P3.4/T0
6 15
P1.5 P3.5/T1
7 16
P1.6 P3.6/WR P3.6
8 17
P1.7 P3.7/RD P3.7

3.6 Program

org 0h
DATAADC EQU 60H

call init_lcd
CALL PRE_DISP
CALL PRE_DISP2

START: CALL CHANNEL


CALL BACA_ADC
CALL DISPLAY
LJMP START

CHANNEL: CLR P3

7
CLR P4
CLR P5
RET

BACA_ADC: SETB P3.6 ;WR=1


SETB P3.7 ;RD=1
CALL DELAY
CLR P3.6
CALL DELAY
SETB P3.6
JB P3.2,$
CALL DELAY
CLR P3.7
ACALL DELAY
MOV A,P0 ; AMBIL DATA DARI ADC
MOV DATAADC,A ; SIMPAN DATA KE MEMORI 60H
ACALL DELAY
RET

DISPLAY: Mov DPTR,#ratusan


Mov A,DataADC
Movc A,@A+DPTR
MOV 32H,A ;32H --->RATUSAN

mov DPTR,#puluhan
mov A,DataADC
movc A,@A+DPTR
MOV 31H,A ;31H --->puluhan

mov DPTR,#satuan
mov A,dataADC
movc A,@A+DPTR
MOV 30H,A ;30H --->SATUAN

MOV R1,#0CCH ;PESAN TEMPAT DI KOLOM 12 BARIS 2


ACALL Write_inst
MOV A,30H
ADD A,#30H ;ASCII DARI SATUAN
MOV R1,A
ACALL Write_data

MOV R1,#0CBH ;PESAN TEMPAT DI KOLOM 11 BARIS 2


ACALL Write_inst
MOV A,31H
ADD A,#30H ;ASCII DARI PULUHAN
MOV R1,A
ACALL Write_data

MOV R1,#0CAH ;PESAN TEMPAT DI KOLOM 10 BARIS 2


ACALL Write_inst
MOV A,32H
ADD A,#30H ;ASCII DARI RATUSAN
MOV R1,A
ACALL Write_data
RET

8
PRE_DISP: MOV DPTR,#BARIS_1
MOV R6,#0Eh
ULANG1: CLR A
MOVC A,@A+DPTR
INC DPTR
MOV R1,A
call write_data
DJNZ R6,ULANG1
RET

PRE_DISP2: MOV R1,#0C0H ; Lokasi Display RAM, Row=1 Col=1


call write_inst
MOV DPTR,#BARIS_2
MOV R6,#0Fh
ULANG2: CLR A
MOVC A,@A+DPTR
INC DPTR
MOV R1,A
call write_data
DJNZ R6,ULANG2
RET

Init_lcd: mov r1,#00000001b ;Display clear


call write_inst
mov r1,#00111000b ;Function set, Data 8 bit,2 line font 5x7
call write_inst
mov r1,#00001100b ;Display on, cursor off,cursor blink off
call write_inst
mov r1,#00000110b ;Entry mode, Set increment
call write_inst
ret

Write_inst: clr P0 ; = RS =0
CLR P1
mov P1,R1 ; P0 = D7 s/d D0 = R1
setb P2 ; =EN = 1
call delay ; call delay time
clr P2 ; =EN = 0
ret

Write_data: setb P0 ; = RS =1
clr P1 ; R/W = 0
mov P1,R1 ; P0 = D7 s/d D0 = R1
setb P2 ; =EN = 1
call delay ; call delay time
clr p2 ; =EN = 0
ret

delay: mov R0,#50


delay1:mov R7,#0fFh
djnz R7,$
djnz R0,delay1
ret

BARIS_1: DB "TELEMETRI SUHU "


BARIS_2: DB "DATA ADC= ",0DFH,"C"

9
satuan:
db 0,0,0,1,1,2,2,2,3,3,3,4,4,5,5,5,6,6,7,7,7,8,8,9,9,9,0,0,1,1,1,2,2,2,3,3,4,4
db 4,5,5,6,6,6,7,7,8,8,8,9,9,0,0,0,1,1,2,2,2,3,3,3,4,4,5,5,5,6,6,7,7,7,8,8,9,9
db 9,0,0,1,1,1,2,2,2,3,3,4,4,4,5,5,6,6,6,7,7,8,8,8,9,9,0,0,0,1,1,2,2,2,3,3,3,4
db 4,5,5,5,6,6,7,7,7,8,8,9,9,9,0,0,1,1,1,2,2,2,3,3,4,4,4,5,5,6,6,6,7,7,8,8,8,9
db 9,0,0,0,1,1,2,2,2,3,3,3,4,4,5,5,5,6,6,7,7,7,8,8,9,9,9,0,0,1,1,1,2,2,2,3,3,4
db 4,4,5,5,6,6,6,7,7,8,8,8,9,9,0,0,0,1,1,2,2,2,3,3,3,4,4,5,5,5,6,6,7,7,7,8,8,9
db 9,0,0,0,1,1,2,2,2,3,3,3,4,4,5,5,5,6,6,7,7,7,8,8,9,9,9,0
;
puluhan:
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1
db 1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
db 2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4
db 4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
db 5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7
db 7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
db 8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0
;
ratusan:
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1

end

3.7 Langkah Percobaan

A. Perhatikan petunjuk dan keterangan dari Asisten.


B. Tanyakan hal teknis yang belum dimengerti.
C. Rakitlah semua komponen sesuai dengan gambar kerja
D. Buat Program pada MIDE51 dan lakukan kompilasi hingga tidak ada error
E. Download program ke mikrokontoler dan jalankan simulasi pada proteus 7
F. Lakukan perubahan pengukuran suhu pada sensor sesuai dengan tabel 1

10
D. Catat nilai suhu yang ditunjukkan pada LCD ke dalam tabel 3.1
E. Laporkan data hasil pengukuran.
L. Lakukan analisis data dan buatlah kesimpulan-kesimpulan yang diperoleh

8 Data
Tabel. 1 Hasil Pengujian Pengolahan data untuk Tampilan LCD
Data memori
Suhu Tampilan LCD Keluaran ADC
yang diambil
(oC)
R P S D7 D6 D5 D4 D3 D2 D1 D0 DESIMAL R P S
0
5 0 0 5 0 0 0 0 1 1 0 1 13
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100

9 Pertanyaan

1. Lakukan konversi keluaran ADC dalam bentuk bilangan biner menjadi


bilangan desimal, dan isikan pada tabel 1
2. Perhatikan pada program, berapa data pada memori untuk satuan,
puluhan dan ratusan untuk setiap penunjukkan pada LCD dan catat pada
tabel 1
3. Lakukan analisis terhadap penunjukan parameter suhu pada LCD terhadap

11
program yang digunakan.

12

Anda mungkin juga menyukai