LABOR MIKROKONTROLER
No
12
Judul
Nama/No Bp
Kelas/Kelompok
2A EC Mandiri/I
Partner
1. Lindri/0901043002
Pembimbing
TEKNIK ELEKTRO
PROGRAM STUDI ELEKTRONIKA
POLITEKNIK NEGERI PADANG
2011
LEMBAR PENGESAHAN
No percobaan
: 12
Judul
Pratikum
: Amelia Geofani R
No BP
: 0901043001
Kelas / kelompok
: 2 A EC Mandiri / 1
Partner
: Lindri ( 0901043002)
Tgl pratikum
: 20 Juni 2011
Tgl penyerahan
: 27 Juni 2011
Pembimbing
Keterangan
Nilai
DAFTAR ISI
Lembar Pengesahan
Daftar isi
BAB I PENDAHULUAN
I.1 Tujuan Percobaan
I.2 Landasan Teori
BAB II PEMBAHASAN
II.1 Langkah Kerja
II.2 Hasil Tampilan Pada mikrocontrainer
II.3 Analisa Percobaan
BAB I
PENDAHULUAN
INH
1
0
0
0
0
0
0
0
0
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
ADC0804
IC ini berfungsi 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
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) dipilh melalui multiplexer analog yang di kontrol melalui P1.0,
P1.1, P1.2. Input 0 sampai 7 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 display Seven
Segment melalui port2.
Multiplexer bekerja pada kanal 0, kemudian data di ambil dari ADC dan disimpan
di variabel DATAADC dan selanjutnya dikeluarkan ke display tampilan Seven
Segment.
BAB II
PEMBAHASAN
Buatlah program pada DOS editor dengan mengaktifkan DOS prompt dan bukalah
(enter)
ketikklah nama dengan extension hex pada input file : yang tampilan pada DOS
Pilih I. Reset sehingga bernilai Low dan lihat output yang dihasilkan pada LCD.
ORG 00H
MAIN
DISPCLR
FUNCSET
ENTRMOD
DISPON
EQU
EQU
EQU
EQU
00000001B
00111000B
00000110B
00001100B
DATAADC
EQU
60H
START:
ACALL
MOV
ACALL
INIT_LCD
DPTR,#BARIS1
PRINTSTRING1
MOV
ACALL
MAIN:
ACALL
ACALL
ACALL
SJMP
DPTR,#BARIS2
PRINTSTRING2
CHANNEL_0
READ_ADC
DISP
MAIN
CHANNEL_0:
CLR
P0.5
CLR
P0.6
CLR
P0.7
RET
CHANNEL_7:
SETB
P0.5
SETB
P0.6
SETB
P0.7
RET
READ_ADC:
SETB
P3.6
SETB
P3.7
ACALL DELAY
CLR
P3.6
ACALL DELAY
SETB
P3.6
JB
P3.2,$
ACALL DELAY
CLR
P3.7
MOV
A,P1
MOV
DATAADC,A
SETB
P3.7
RET
DISP:
MOV
MOV
DIV
MOV
MOV
MOV
DIV
MOV
MOV
A,DATAADC
B,#100
AB
32H,A
A,B
B,#10
AB
31H,A
30H,B
MOV
A,#0CFH
ACALL CONTROLOUT
MOV
A,30H
ADD
A,#30H
ACALL
DATAOUT
MOV
A,#0CEH
ACALL CONTROLOUT
MOV
A,31H
ADD
A,#30H
ACALL DATAOUT
MOV
A,#0CDH
ACALL CONTROLOUT
MOV
A,32H
ADD
A,#30H
ACALL DATAOUT
RET
CONTROLOUT:
CLR
P3.5
ACALL DELAY
CLR
P3.4
ACALL DELAY
SETB
P3.4
ACALL DELAY
MOV
P2,A
CLR
P3.4
ACALL DELAY
RET
DATAOUT:
SETB
ACALL
CLR
ACALL
SETB
ACALL
MOV
CLR
ACALL
RET
P3.5
DELAY
P3.4
DELAY
P3.4
DELAY
P2,A
P3.4
DELAY
DELAY.INIT.LCD:
MOV R6,#20H
DLY.LCD.LP:
MOV R7,#10H
DJNZ R7,$
DJNZ R6,DLY.LCD.LP
RET
INIT_LCD:
MOV
A,#FUNCSET
ACALL CONTROLOUT
ACALL DELAY.INIT.LCD
MOV
A,#DISPON
ACALL CONTROLOUT
ACALL DELAY.INIT.LCD
MOV
A,#DISPCLR
ACALL CONTROLOUT
ACALL DELAY.INIT.LCD
MOV
A,#ENTRMOD
ACALL CONTROLOUT
ACALL DELAY.INIT.LCD
RET
POSISI2.1:
MOV
A,#1
POSISI2:
ADD
A,#11000000B
DEC
A
ACALL CONTROLOUT
ACALL DELAY.INIT.LCD
RET
POSISI1.1:
MOV
A,#1
POSISI1:
ADD
A,#10000000B
DEC
A
ACALL CONTROLOUT
ACALL DELAY.INIT.LCD
RET
PRINTSTRING2:
ACALL
POSISI2.1
CLR
A
MOVC
A,@A+DPTR
JNZ PRINTSTRINGLOOP
PRINTSTRINGLOOP:
ACALL DATAOUT
ACALL DELAY.INIT.LCD
INC
DPTR
CLR
A
MOVC
A,@A+DPTR
JNZ PRINTSTRINGLOOP
RET
PRINTSTRING1:
ACALL
POSISI1.1
CLR
A
MOVC
A,@A+DPTR
JNZ PRINTSTRINGLOOP2
PRINTSTRINGLOOP2:
ACALL DATAOUT
ACALL DELAY.INIT.LCD
INC
DPTR
CLR
A
MOVC
A,@A+DPTR
JNZ PRINTSTRINGLOOP2
RET
DELAY:
U1:
U2:
U3:
MOV
MOV
MOV
INC
CJNE
INC
CJNE
INC
CJNE
RET
R5,#0
R6,#0
R7,#0
R7
R7,#10,U3
R6
R6,#10,U2
R5
R5,#10,U1
BARIS1:
DB ' DATA DARI ADC ',0
BARIS2:
DB 'DATA ADC: ',0
Data Tampilan 1
Untuk mengisi tabel dibawah, tegangan referensi di titik REF harus = 2.55
volt, jika belum sama aturlah multiturn tegak yang berwarna biru.
Vin (V)
0.02
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5
Tampilan LCD
001
027
052
075
103
127
152
174
200
224
253
b. Pada tampilan percobaan kali ini, dengan tampilan ke LCD, dimana kita akan
memberikan tegangan pada input 0 potensiometer. Misalnya kita memberikan
tegangan sebesar 5 volt maka tampilan pada layar LCD adalah angka 249.Contoh
program pengambilan datanya dan program utamanya adalah :
Program utamanya :
MAIN :
ACALL
CHANEEL-0
ACALL
READ_ADC
ACALL
DISP
SJMP MAIN
Prosedur penampilan data dari ADC ke LCD
DISP:
MOV A,DATAADC
MOV B,#100
DIV AB
MOV 32H,A
MOV
MOV
DIV
MOV
MOV
A,B
B,#10
AB
31H,A
30H,B
MOV A,#0CFH
ACALL CONTROLOUT
MOV A,30H
ADD A,#30H
ACALL DATAOUT
MOV A,#0CEH
ACALL CONTROLOUT
MOV A,31H
ADD A,#30H
ACALL DATAOUT
MOV A,#0CFH
ACALL CONTROLOUT
MOV A,32H
ADD A,#30H
ACALL DATAOUT
RET
c. Proses pengambilan datanya yaitu : untuk 5 volt = 255 untuk data yang 1 volt maka
255 di bagi 5 dan di kali 1 = 51 (merupakan 1 bit ). Bila data nya 2 volt maka 51 x 2 =
102, begitu seterusnya.
d. Pada hasil tabel yang di peroleh ada beberapa tampilan pada layar LCD nya, hasil
yang di dapat tidak sesuai dengan hasil yang di peroleh dengan cara perhitungan. hal
ini tidak apa-apa karena toleransi dari data yang di dapat adalah 1 bit.
e. Pada tampilan datanya kita peroleh untuk tegangan 5 volt adalah 249, hasil ini tidak
sama dengan yang kita dapatkan sesuai dengan peritungan. Hal ini tidak apa-apa
karena toleransi untuk perhitungan adalah sebesar 1 bit.
f. Pada saat kita akan melakukan pengukuran terhadap tegangannya, terlebih dahulu kita
harus melepaskan port paralelnya.
BAB III
PENUTUP
Kesimpulan :
Berdasarkan dari pratikum ADC dengan tampilan LCD ini dapat kita simpulkan bahwa:
Pada percobaan ini kita menggunakan multiplexer analog 4051, dimana IC ini
dahulu.
Pada ADC dengan tampilan LCD ini outputnya berupa tampilan angka sesuai
dengan tegangan yang diberikan. Dimana tampilan ini bisa keluar / di tampilkan
Saran :