Anda di halaman 1dari 5

17.

Aplikasi multiplekser analog dan ADC dengan tampilan


deret LED

gambar 17. Multiplekser, ADC

Perhatikan gambar 10 di atas.


Multiplekser analog 4051
IC ini digunakan untuk memasukkan input analog ke ADC secara
bergantian dengan mengatur sinyal kontrol A, B dan C. IC ini akan bekerja
sesuai dengan tabel kebenaran berikut:
INH
1
0
0
0
0
0
0
0
0

MikrokontrolerMCS51

C
X
0
0
0
0
1
1
1
1

B
X
0
0
1
1
0
0
1
1

A
X
0
1
0
1
0
1
0
1

X
X0
X1
X2
X3
X4
X5
X6
X7

132

ADC0804
IC ini berfungsi untuk mengubah besaran analog menjadi digital 8
bit. Mode kerja IC ini ada beberapa macam diantaranya adalah mode WR-RD,
yaitu :
WR = 1, RD = 1
WR = 0, RD = 1
WR = 1, RD = 1
Apakah INT = 0, jika tidak tunggu dan jika ya ambil datanya
dengan memberi WR = 1, RD = 0
WR = 1, RD = 1

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
analog yang diberikan oleh potensiometer. Output multiplekser analog
dihubungkan ke ADC. ADC dikontrol oleh mikrokontroler melalui :
WR

: P3.6

RD

: P3.7

dan sinyal interupsi dipilih melalui INT0 atau INT1.


Output data digital hasil konversi dihubungkan ke port 0 dan ditampilkan ke
deretan LED melalui port 2.

Prosedur pengambilan data ADC adalah sbb:


;--------------------------------------------------;
P0.5
:A
;
P0.6
:B
;
P0.7
:C
;
P3.6
: WR
;
P3.7
: RD
;--------------------------------------------------MikrokontrolerMCS51

133

READ_ADC:
SETB
SETB
ACALL
CLR
ACALL
SETB
JB
ACALL
CLR
MOV
MOV
SETB
RET

P3.6
; WR = 1
P3.7
; RD = 1
DELAY
P3.6
; WR = 0
DELAY
P3.6
; WR = 1
P3.2,$
DELAY
P3.7
; RD = 0
A,P1
DATAADC,A
P3.7
; RD = 1

Sedangkan program utamanya adalah sbb :


MAIN:
ACALL
ACALL
MOV
MOV
SJMP

CHANNEL_0
READ_ADC
A,DATAADC
P2,A
MAIN

Multiplekser bekerja pada kanal 0, kemudian data diambil dari ADC dan
disimpan di variabel DATAADC dan selanjutnya dikeluarkan ke LED
Untuk melakukan percobaan ini, lakukan langkah-langkah sebagai berikut:
1. Hubungkan modul MICROTRAINER dengan memasang kabel DB25
dengan LPT1 pada PC. Mode printer adalah SPP atau output only.
2. Ketikkan di sembarang editor yang anda miliki listing program berikut:
; PROG10.ASM DIGUNAKAN UNTUK MENGAMBIL DATA DARI ADC
; DAN DITAMPILKAN KE DERETAN LED
; JUMPER OUTPUT : DI LED POSISI '0'
ORG 00H
SJMP MAIN
DATAADC EQU

60H

;------------------------------------;
MAIN PROGRAM
;------------------------------------MAIN:
ACALL
CHANNEL_0
ACALL
READ_ADC

MikrokontrolerMCS51

134

MOV
MOV
SJMP

A,DATAADC
P2,A
MAIN

CHANNEL_0:
CLR
CLR
CLR
RET

P0.5
P0.6
P0.7

CHANNEL_7:
SETB
SETB
SETB
RET

P0.5
P0.6
P0.7

;-------------------------------------------------; PENAMBILAN DATA DARI ADC


; P0.5
:A
; P0.6
:B
; P0.7
:C
; P3.6
: WR
; P3.7
: RD
;--------------------------------------------------READ_ADC:
SETB
P3.6
; WR = 1
SETB
P3.7
; RD = 1
ACALL
DELAY
CLR
P3.6
; WR = 0
ACALL
DELAY
SETB
P3.6
; WR = 1
JB
P3.2,$
ACALL
DELAY
CLR
P3.7
; RD = 0
MOV
A,P1
MOV
DATAADC,A
SETB
P3.7
; RD = 1
RET

; DELAY 1 mS
DELAY:
MOV
LOOP1:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ
RET

R1,#100

R1,LOOP1

MikrokontrolerMCS51

135

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


4. Kemudian keluarlah ke DOS prompt dan ketikkan
A PROG10 <ENTER>
Jika tidak ada kesalahan, tekan <ENTER>
5. Anda akan langsung masuk ke program AEC_ISP, kemudian pilihlah option
A. Load HEX File to flash buffer,
kemudian ketik PROG10.HEX <ENTER> dan tekan
sebarang tombol
6. Pilih E.Program <ENTER> dan tunggu sebentar sampai ada indikator 100
% dan tekan sebarang tombol
7. Pilih I. Reset dan Jelaskan apa yang terjadi pada deretan LED jika
potensiometer input 0 diputar-putar! Isilah tabel di bawah
Untuk mengisi tabel di bawah , tegangan referensi di titik REF harus =
2.55 volt, jika belum sama aturlah multiturn tegak yang berwarna biru

IN0 (VOLT)
0.02
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0

D7

D6

D5

D4

D3

D2

D1

D0

Buatlah tabel yang lain untuk tegangan referensi selain 2.55 volt.
8. Kesimpulan apa yang bisa anda tarik ?

MikrokontrolerMCS51

136