• Tidak ada hasil yang ditemukan

BAB19 - MCS51 - Aplikasi ADC - LCD

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB19 - MCS51 - Aplikasi ADC - LCD"

Copied!
9
0
0

Teks penuh

(1)

19.Aplikasi multiplekser analog dan ADC dengan tampilan

19.Aplikasi multiplekser analog dan ADC dengan tampilan

LCD

LCD

gambar 12. Multiplekser, ADC

gambar 12. Multiplekser, ADC

Perhatikan gambar 12 di atas.

Perhatikan gambar 12 di atas.

Multiplekser analog 4051

Multiplekser analog 4051

IC ini digunakan untuk memasukkan input analog ke ADC secara

IC ini digunakan untuk memasukkan input analog ke ADC secara

 bergantian

 bergantian dengan

dengan mengatur

mengatur sinyal

sinyal kontrol

kontrol A,

A, B

B dan

dan C.

C. IC

IC ini

ini akan

akan bekerja

bekerja

sesuai dengan tabel kebenaran berikut:

sesuai dengan tabel kebenaran berikut:

INH

INH

C

C

B

B

A

A

X

X

1

1

X

X

X

X

X

X

--0

0

0

0

0

0

0

0

X0

X0

0

0

0

0

0

0

1

1

X1

X1

0

0

0

0

1

1

0

0

X2

X2

0

0

0

0

1

1

1

1

X3

X3

0

0

1

1

0

0

0

0

X4

X4

0

0

1

1

0

0

1

1

X5

X5

0

0

1

1

1

1

0

0

X6

X6

0

0

1

1

1

1

1

1

X7

X7

(2)

ADC0804

ADC0804

IC ini berfungsi untuk mengubah besaran analog menjadi digital 8

IC ini berfungsi untuk mengubah besaran analog menjadi digital 8

 bit. Mode kerja IC ini ad

 bit. Mode kerja IC ini ada beberapa macam diantaranya adalah mode WR-RD,

a beberapa macam diantaranya adalah mode WR-RD,

yaitu :

yaitu :

WR = 1, RD = 1

WR = 1, RD = 1

WR = 0, RD = 1

WR = 0, RD = 1

WR = 1, RD = 1

WR = 1, RD = 1

Apakah INT = 0, jika tidak tunggu dan jika ya ambil datanya

Apakah INT = 0, jika tidak tunggu dan jika ya ambil datanya

dengan

dengan memberi WR

memberi WR = 1, R

= 1, RD =

D = 0

0

WR = 1, RD = 1

WR = 1, RD = 1

Input analog ( 0 - 7 ) dipilih melalui multiplekser analog yang dikontrol

Input analog ( 0 - 7 ) dipilih melalui multiplekser analog yang dikontrol

melalui P1.0, P1.1 dan P1.2. Input 0 dan 7 dihubungkan ke sumber tegangan

melalui P1.0, P1.1 dan P1.2. Input 0 dan 7 dihubungkan ke sumber tegangan

analog yang diberikan oleh potensiometer. Output multiplekser analog

analog yang diberikan oleh potensiometer. Output multiplekser analog

dihubungkan ke ADC. A

dihubungkan ke ADC. ADC dikontrol oleh mikrokontroler melalui :

DC dikontrol oleh mikrokontroler melalui :

WR

WR

:

: P3.6

P3.6

RD

RD

:

: P3.7

P3.7

dan sinyal interupsi dipilih melalui INT0 atau INT1.

dan sinyal interupsi dipilih melalui INT0 atau INT1.

Output data digital hasil konversi dihubungkan ke port 0 dan ditampilkan ke

Output data digital hasil konversi dihubungkan ke port 0 dan ditampilkan ke

LCD melalui P2

LCD melalui P2

Program utama

Program utama

;---;

;

MAIN

MAIN PROGRAM

PROGRAM

;---MAIN:

MAIN:

 ACALL

 ACALL CHANNEL_

CHANNEL_0

0

 ACALL

 ACALL READ_ADC

READ_ADC

 ACALL

 ACALL DISP

DISP

SJMP

MAIN

SJMP

MAIN

(3)

Prosedur pengambilan data dari ADC

Prosedur pengambilan data dari ADC

;---;

; PENGAMBILAN

PENGAMBILAN DATA

DATA DARI

DARI ADC

ADC

;

; P0.5

P0.5

:

: A

A

;

; P0.6

P0.6

:

: B

B

;

; P0.7

P0.7

:

: C

C

;

; P3.6

P3.6

:

: WR

WR

;

; P3.7

P3.7

:

: RD

RD

;---READ_ADC:

READ_ADC:

SETB

SETB

P3.6

P3.6

;

; WR

WR =

= 1

1

SETB

SETB

P3.7

P3.7

;

; RD

RD =

= 1

1

 ACALL

 ACALL DELAY

DELAY

CLR

CLR

P3.6

P3.6

;

; WR

WR =

= 0

0

 ACALL

 ACALL DELAY

DELAY

SETB

SETB

P3.6

P3.6

;

; WR

WR =

= 1

1

JB

P3.2,$

JB

P3.2,$

 ACALL

 ACALL DELAY

DELAY

CLR

CLR

P3.7

P3.7

;

; RD

RD =

= 0

0

MOV

A,P1

MOV

A,P1

MOV

DATAADC,A

MOV

DATAADC,A

SETB

SETB

P3.7

P3.7

;

; RD

RD =

= 1

1

RET

RET

Prosedur menampilkan data ADC ke LCD

Prosedur menampilkan data ADC ke LCD

;---;

; MENAMPILKAN

MENAMPILKAN DATA

DATA KE

KE LCD

LCD

;---DISP:

DISP:

MOV

A,DATAADC

MOV

A,DATAADC

MOV

B,#100

MOV

B,#100

DIV

AB

DIV

AB

MOV

MOV

32H,A

32H,A

;

; 32H

32H :

: RATUSAN

RATUSAN

MOV

A,B

MOV

A,B

MOV

B,#10

MOV

B,#10

DIV

AB

DIV

AB

MOV

MOV

31H,A

31H,A

;

; 31H

31H :

: PULUHAN

PULUHAN

MOV

MOV

30H,B

30H,B

;

; 30H

30H :

: SATUAN

SATUAN

MOV

MOV

A,#0CFH

A,#0CFH

;

; PESAN

PESAN TEMPAT

TEMPAT DI

DI KOLOM

KOLOM 15

15 BARIS

BARIS 2

2

 ACALL

 ACALL CONTROLOU

CONTROLOUT

T

MOV

A,30H

MOV

A,30H

 ADD

 ADD

A,#30H

A,#30H

; ASCII DARI SATUAN

; ASCII DARI SATUAN

 ACALL

(4)

 ACALL

 ACALL CONTROLOU

CONTROLOUT

T

MOV

A,31H

MOV

A,31H

 ADD

 ADD

A,#30H

A,#30H

; ASCII DARI PULU

; ASCII DARI PULUHAN

HAN

 ACALL

 ACALL DATAOUT

DATAOUT

MOV

MOV

A,#0CDH

A,#0CDH

;

; PESAN

PESAN TEMPAT

TEMPAT DI

DI KOLOM

KOLOM 13

13 BARIS

BARIS 2

2

 ACALL

 ACALL CONTROLOU

CONTROLOUT

T

MOV

A,32H

MOV

A,32H

 ADD

 ADD

A,#30H

A,#30H

; ASCII DARI RATUSAN

; ASCII DARI RATUSAN

 ACALL

 ACALL DATAOUT

DATAOUT

RET

RET

Untuk melakukan percobaan ini, lakukan langkah-langkah sebagai berikut:

Untuk melakukan percobaan ini, lakukan langkah-langkah sebagai berikut:

1. Hubungkan modul MICROTRAINER dengan memasang kabel DB25

1. Hubungkan modul MICROTRAINER dengan memasang kabel DB25

dengan LPT1 pada PC. Mode printer adalah SPP atau

dengan LPT1 pada PC. Mode printer adalah SPP atau output only

output only..

2.

2. Ketikkan di

Ketikkan di sembarang

sembarang editor yang

editor yang anda miliki

anda miliki listing 

listing  program berikut:

 program berikut:

; PROG12.ASM DIGUNAKAN UNTUK MENGAMBIL DATA DARI ADC

; PROG12.ASM DIGUNAKAN UNTUK MENGAMBIL DATA DARI ADC ; DAN DITAMPILKAN KE LCD

; DAN DITAMPILKAN KE LCD ;

; JUMPER JUMPER OUTPUT OUTPUT : : LCD LCD POSISI POSISI '0''0' ORG 00H ORG 00H SJMP START SJMP START ;---; ; LCD LCD CONSTANTACONSTANTA ;---DISPCLR

DISPCLR EQU EQU 00000001B00000001B FUNCSET

FUNCSET EQU EQU 00111000B00111000B ENTRMOD

ENTRMOD EQU EQU 00000110B00000110B DISPON

DISPON EQU EQU 00001100B00001100B DATAADC

DATAADC EQU EQU 60H60H START:

START:

 ACALL

 ACALL INIT_LCINIT_LCDD MOV DPTR,#BARIS1 MOV DPTR,#BARIS1  ACALL

 ACALL PRINTSTRINPRINTSTRING1G1 MOV DPTR,#BARIS2 MOV DPTR,#BARIS2  ACALL

 ACALL PRINTSTRINPRINTSTRING2G2

;---;

; MAIN MAIN PROGRAMPROGRAM ;---MAIN:

MAIN:

 ACALL

 ACALL CHANNEL_0CHANNEL_0  ACALL

 ACALL READ_ADCREAD_ADC  ACALL

(5)

CHANNEL_0: CHANNEL_0: CLR P0.5 CLR P0.5 CLR P0.6 CLR P0.6 CLR P0.7 CLR P0.7 RET RET CHANNEL_7: CHANNEL_7: SETB P0.5 SETB P0.5 SETB P0.6 SETB P0.6 SETB P0.7 SETB P0.7 RET RET ;---;

; PENAMBILAN PENAMBILAN DATA DATA DARI DARI ADCADC ; ; P0.5 P0.5 : A: A ; ; P0.6 P0.6 : B: B ; ; P0.7 P0.7 : C: C ; ; P3.6 P3.6 : WR: WR ; ; P3.7 P3.7 : RD: RD ;---READ_ADC: READ_ADC: SETB SETB P3.6 P3.6 ; ; WR WR = = 11 SETB SETB P3.7 P3.7 ; ; RD RD = = 11  ACALL

 ACALL DELAYDELAY CLR

CLR P3.6 P3.6 ; ; WR WR = = 00  ACALL

 ACALL DELAYDELAY SETB

SETB P3.6 P3.6 ; ; WR WR = = 11 JB P3.2,$

JB P3.2,$  ACALL

 ACALL DELAYDELAY CLR CLR P3.7 P3.7 ; ; RD RD = = 00 MOV A,P1 MOV A,P1 MOV DATAADC,A MOV DATAADC,A SETB SETB P3.7 P3.7 ; ; RD RD = = 11 RET RET ;---;

; MENAMPILKAN MENAMPILKAN DATA DATA KE KE LCDLCD ;---DISP: DISP: MOV A,DATAADC MOV A,DATAADC MOV B,#100 MOV B,#100 DIV AB DIV AB MOV

MOV 32H,A 32H,A ; ; 32H 32H : : RATUSANRATUSAN MOV A,B MOV A,B MOV B,#10 MOV B,#10 DIV AB DIV AB MOV

MOV 31H,A 31H,A ; ; 31H 31H : : PULUHANPULUHAN MOV

MOV 30H,B 30H,B ; ; 30H 30H : : SATUANSATUAN MOV

MOV A,#0CFH A,#0CFH ; ; PESAN PESAN TEMPAT TEMPAT DI DI KOLOM KOLOM 15 15 BARIS BARIS 22  ACALL

 ACALL CONTROLOUCONTROLOUTT MOV A,30H

MOV A,30H  ADD

 ADD A,#30H A,#30H ; ASCII ; ASCII DARI SATUANDARI SATUAN  ACALL

(6)

 ACALL

 ACALL CONTROLOUCONTROLOUTT MOV A,31H

MOV A,31H  ADD

 ADD A,#30H A,#30H ; ASCII ; ASCII DARI PULUDARI PULUHANHAN  ACALL

 ACALL DATAOUTDATAOUT MOV

MOV A,#0CDH A,#0CDH ; ; PESAN PESAN TEMPAT TEMPAT DI DI KOLOM KOLOM 13 13 BARIS BARIS 22  ACALL

 ACALL CONTROLOUCONTROLOUTT MOV A,32H

MOV A,32H  ADD

 ADD A,#30H A,#30H ; ASCII ; ASCII DARI RATUSADARI RATUSANN  ACALL

 ACALL DATAOUTDATAOUT RET

RET

;---;

; PROSEDUR PROSEDUR PEMESANAN PEMESANAN TEMPATTEMPAT ;---; ; RS RS : : 0 0 : : P3.5P3.5 ; ; E E : : 0 0 - - 1 1 - - 0 0 : : P3.4P3.4 ; ; DATA DATA : : P2P2 CONTROLOUT: CONTROLOUT: CLR CLR P3.5 P3.5 ; ; RS RS = = 00  ACALL

 ACALL DELAYDELAY CLR P3.4 CLR P3.4  ACALL

 ACALL DELAYDELAY SETB P3.4 SETB P3.4  ACALL

 ACALL DELAYDELAY MOV P2,A MOV P2,A CLR P3.4 CLR P3.4  ACALL

 ACALL DELAYDELAY RET

RET

;---;

; PROSEDUR PROSEDUR PENEMPATAN PENEMPATAN DATADATA ;---; ; RS RS : : 0 0 : : P3.5P3.5 ; ; E E : : 0 0 - - 1 1 - - 0 0 : : P3.4P3.4 DATAOUT: DATAOUT: SETB SETB P3.5 P3.5 ; ; RS RS = = 11  ACALL

 ACALL DELAYDELAY CLR

CLR P3.4 P3.4 ; ; E E = = 00  ACALL

 ACALL DELAYDELAY SETB

SETB P3.4 P3.4 ; ; E E = = 11  ACALL

 ACALL DELAYDELAY MOV P2,A MOV P2,A CLR

CLR P3.4 P3.4 ; ; E E = = 00  ACALL

 ACALL DELAYDELAY RET

RET

;---;

; PROSEDUR PROSEDUR DELAY DELAY LCDLCD ;---DELAY.INIT.LCD: DELAY.INIT.LCD: MOV R6,#20H MOV R6,#20H DLY.LCD.LP: DLY.LCD.LP: MOV R7,#10H MOV R7,#10H DJNZ R7,$ DJNZ R7,$ DJNZ R6,DLY.LCD.LP DJNZ R6,DLY.LCD.LP

(7)

INIT_LCD: INIT_LCD:

MOV A,#FUNCSET MOV A,#FUNCSET  ACALL

 ACALL CONTROLOUCONTROLOUTT  ACALL

 ACALL DELAY.INDELAY.INIT.LCDIT.LCD MOV A,#DISPON MOV A,#DISPON  ACALL

 ACALL CONTROLOUCONTROLOUTT  ACALL

 ACALL DELAY.INDELAY.INIT.LCDIT.LCD MOV A,#DISPCLR MOV A,#DISPCLR  ACALL

 ACALL CONTROLOUCONTROLOUTT  ACALL

 ACALL DELAY.INDELAY.INIT.LCDIT.LCD MOV A,#ENTRMOD MOV A,#ENTRMOD  ACALL

 ACALL CONTROLOUCONTROLOUTT  ACALL

 ACALL DELAY.INDELAY.INIT.LCDIT.LCD RET

RET

;---; PROCEDURE LCD BARIS KOLOM LCD ; PROCEDURE LCD BARIS KOLOM LCD ;---POSISI2.1: POSISI2.1: MOV A,#1 MOV A,#1 POSISI2: POSISI2:  ADD

 ADD A,#110000A,#11000000B 00B ; BARIS KED; BARIS KEDUAUA DEC A

DEC A  ACALL

 ACALL CONTROLOUCONTROLOUTT  ACALL

 ACALL DELAY.INDELAY.INIT.LCDIT.LCD RET RET POSISI1.1: POSISI1.1: MOV A,#1 MOV A,#1 POSISI1: POSISI1:  ADD

 ADD A,#100000A,#10000000B 00B ; BARIS PER; BARIS PERTAMATAMA DEC A

DEC A  ACALL

 ACALL CONTROLOUCONTROLOUTT  ACALL

 ACALL DELAY.INDELAY.INIT.LCDIT.LCD RET

RET PRINTSTRING2: PRINTSTRING2:

 ACALL

 ACALL POSISI2POSISI2.1.1 CLR A CLR A MOVC A,@A+DPTR MOVC A,@A+DPTR JNZ PRINTSTRINGLOOP JNZ PRINTSTRINGLOOP PRINTSTRINGLOOP: PRINTSTRINGLOOP:  ACALL

 ACALL DATAOUTDATAOUT  ACALL

 ACALL DELAY.INDELAY.INIT.LCDIT.LCD INC DPTR INC DPTR CLR A CLR A MOVC A,@A+DPTR MOVC A,@A+DPTR JNZ PRINTSTRINGLOOP JNZ PRINTSTRINGLOOP RET RET PRINTSTRING1: PRINTSTRING1:  ACALL

(8)

MOVC A,@A+DPTR MOVC A,@A+DPTR JNZ PRINTSTRINGLOOP2 JNZ PRINTSTRINGLOOP2 PRINTSTRINGLOOP2: PRINTSTRINGLOOP2: LCALL DATAOUT LCALL DATAOUT  ACALL

 ACALL DELAY.INDELAY.INIT.LCDIT.LCD INC DPTR INC DPTR CLR A CLR A MOVC A,@A+DPTR MOVC A,@A+DPTR JNZ PRINTSTRINGLOOP2 JNZ PRINTSTRINGLOOP2 RET RET ;---;

; PROCEDURE PROCEDURE DELAYDELAY ;---DELAY: DELAY: MOV R5,#0 MOV R5,#0 U1:

U1: MOV MOV R6,#0R6,#0 U2:

U2: MOV MOV R7,#0R7,#0

U3: INC R7 U3: INC R7 CJNE R7,#10,U3 CJNE R7,#10,U3 INC R6 INC R6 CJNE R6,#10,U2 CJNE R6,#10,U2 INC R5 INC R5 CJNE R5,#10,U1 CJNE R5,#10,U1 RET RET BARIS1: BARIS1: DB '

DB ' DATA DARI DATA DARI ADC ADC ',0',0 BARIS2:

BARIS2:

DB

DB 'DATA 'DATA ADC ADC : : ',0',0

3. Simpanlah program yang anda ketik dan beri nama prog12.asm

3. Simpanlah program yang anda ketik dan beri nama prog12.asm

4. Kemudian keluarlah ke DOS prompt dan ketikkan

4. Kemudian keluarlah ke DOS prompt dan ketikkan

A PROG12 <ENTER>

A PROG12 <ENTER>

Jika tidak ada kesalahan, tekan <ENTER>

Jika tidak ada kesalahan, tekan <ENTER>

5. Anda akan langsung masuk ke program AEC_ISP, kem

5. Anda akan langsung masuk ke program AEC_ISP, kemudian pilihlah option

udian pilihlah option

A. Load HEX File to

A. Load HEX File to flash buffer,

flash buffer,

kemudian

kemudian ketik PRO

ketik PROG12.HEX

G12.HEX <ENTER> dan

<ENTER> dan tekan

tekan

sebarang tombol

sebarang tombol

6.

6. Pilih

Pilih E.Program <ENTER> dan

E.Program <ENTER> dan tunggu

tunggu sebentar sampai

sebentar sampai ada indikator 100

ada indikator 100

% dan tekan sebarang tombol

(9)

7. Pilih I. Reset dan Jelaskan apa yang terjadi pada LCD jika potensiometer

7. Pilih I. Reset dan Jelaskan apa yang terjadi pada LCD jika potensiometer

input 0 diputar-putar! Isilah tabel di bawah (Tegangan di REF = 2.55)

input 0 diputar-putar! Isilah tabel di bawah (Tegangan di REF = 2.55)

IN0

IN0

(VOLT)

(VOLT)

LCD

LCD

0.02

0.02

0.5

0.5

1.0

1.0

1.5

1.5

2.0

2.0

2.5

2.5

3.0

3.0

3.5

3.5

4.0

4.0

4.5

4.5

5.0

5.0

8.

8. Kesimpulan

Kesimpulan apa yang

apa yang bisa anda tarik

bisa anda tarik ??

...

...

...

...

...

...

...

....

...

...

...

...

...

...

...

...

...

...

Gambar

gambar 12. Multiplekser, ADCgambar 12. Multiplekser, ADC

Referensi

Dokumen terkait

Manajemen Laba terjadi ketika manajer menggunakan judgment (pertimbangannya) dalam pelaporan keuangan dan dalam menyusun transaksi untuk mengubah laporan keuangan yang

Dari banyaknya pelanggaran terhadap hak asasi manusia khususnya kepada kaum perempuan yang terjadi secara menyeluruh di seluruh negeri, maka Majelis Umum Perserikatan

Adapun metode analisis data menggunakan analisis deskriptif kualitatif, untuk memaparkan tentang bagaimana strategi komunikasi yang dilakukan Hijabers Semarang dalam

Program yang dilaksanakan pada saat PPL adalah program yang direncanakan setelah melaksanakan observasi di Bidang Pendidikan Menengah (DIKMEN) serta atas wawancara

Minuman kopi sangat digemari oleh masyarakat luas, namun memiliki efek samping untuk kesehatan jika diminum secara berlebihan. Salah satu upaya untuk menghasilkan

•Sebaran cahaya yang dipantulkan akan memiliki pola pantulan sesuai dengan halus kasarnya permukaan bidang pantul (surface orientation)..

 Peralatan yang berhubungan dengan produk tidak boleh berkarat.  Timbangan

• Rekayasa Perangkat Lunak adalah disiplin Rekayasa Perangkat Lunak adalah disiplin ilmu yang membahas semua aspek.. ilmu yang membahas