laporan adc 7 segment dan lcd

16
   No. Percobaan : 1 & 2  Judul Percobaan : konversi adc dengan display seven segment Dan LCD  Nama Praktikan : ebri !i"ki Pratama  No #p : 12$1$%$22 'elas : ((( C )C !eguler  'elompok : 1$ Partner : *rie+ 'urnia ,artin Pembimbing : 1. )ra ,adona-,sc  2. ,. (rmansya-/0. -,0 Jurusan )lektro Program /tudi 0eknik )lektronika Politeknik Negeri Padang 2$1% LAPORAN PRATIKUM LABOR MICROKONTROLER  SEMESTER V )C

Upload: febri-rizky-pratama

Post on 09-Oct-2015

169 views

Category:

Documents


5 download

DESCRIPTION

lor

TRANSCRIPT

No. Percobaan

: 1 & 2 Judul Percobaan : konversi adc dengan display seven segment Dan LCDNama Praktikan

: Febri Rizki PratamaNo Bp

: 1201043022Kelas

: III C EC Reguler

Kelompok

: 10Partner

: Arief Kurnia MartinPembimbing

: 1. Era Madona,Msc

2. M. Irmansyah,ST.,MT

Jurusan Elektro

Program Studi Teknik Elektronika

Politeknik Negeri Padang

2014LEMBAR PENGESAHAN

No / Judul Percobaan: 1&2 / konversi adc dengan display seven segment Dan LCD

Praktikan

: Febri Rizki Pratama

No. BP

: 1201043022

Kelompok

: 10

Kelas

: IIIC EC

Partner

: Arief Kurnia Martin

Pembimbing

: 1. Era Madona,Msc

2. M. Irmansyah,ST.,MT Praktek tanggal : 15 September 2014 Diserahkan tanggal : 29 September 2014

Nilai

:

Keterangan :

BAB IPENDAHULUAN

1.1 Tujuan

Setelah melakukan pratikum konversi ADC dengan output SEVEN SEGMENT dan LCD ini, mahasiswa dapat:

Memahami cara pengoperasian sistem mikrokontroler AT89S51.

Mengoperasikan sistem mikrokontroler AT89S51

Menampilkan output program konversi ADC pada SEVEN SEGMENT Dan LCD dengan menggunakan seiystem mikrokontroler AT 89S51

1.2 .Landasan Teori

Salah satu tipe mikrokontroler arsitektur MCS-51 yang banyak digunakan saat ini adalah tipe Atmel 89S51. Tipe ini banyak digunakan karena memiliki fasilitas on-chip flash memory dan In System Programming.

Multipleser analog 4051

IC ini digunakan untuk memasukkan input analog ke ADC secara bergantian dengan mengatur sinyal control A,B dan C. IC akan bekerja sesuai dengan table kebenaran beriku:

INHCBAX

1XXX-

0000X0

0001X1

0010X2

0011X3

0100X4

0101X5

0110X6

0111X7

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 ia ambil datanya dengan memberikan WR = 1, RD = 0

WR = 1, RD = 1

Input analog (0-7) dipilih melalui multipleser analog yang dikontrol melalui P1.0 , P1.1 dan P1.2. Input 0 dan 7 di hubungkan kesumber tegangan analog yang di berikan oleh potensiometer. Output multipleser analog di hubungkan ke ADC. ADC di control 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 di tampilkan kederetan LED melalui port 2.

1.3. Langkah Kerja

1. membuat dan mengkompile program

1. Klik start dari tampilan menu pilih run. Ditampilan tun, ketik command (pada windows XP cmd) dan selanjutnya tekan OK.

2. Dari layar DOS prompt yang muncul tukar folder C:document and setting ke folder compiler untuk AT89S51 yaitu D:\mcs51 dengan langkah seperti pada gambar.

3. Ketik proram pada DOS prompt ini dengan menggunakan DOS teks editor seperti yang tampak pada gambar. Editor ini dapat ditampilkan dengan mengetikan : D:\mcs51\edit

Ketikan ptogram pada DOS teks editor dan disimpan dakam bentuk nama file.asm

4. Setelah program sekesai, keluarlah ke DOS prompt dengan memilih menu exit pada menu file.

5. Compilelah program yang tekah selesai dengan mengetikkan :

D:\mcs51\x8051 namafile.asm

Langkah diatas akan menghasilkan file baru dengan extension obj dengan nama file yang sama dengan nama file yang diberikan.6. Compile program sekali lagi untuk menghasilkan file yang sama tapi dengan extendion hex dengan cara ketikan :

D:\mcs51\L8051

Sehingga tampil:

Input file:

Isilah nama file yang akan decompile dengan nama file yang sama pada langkah 5 pada input dan tekan:

Input file : namafile.asm

7. Tekanlah enter sehingga akan tampil tampilan berikut :

2. mendownload program ke modul

1 Cek jumper pada modul untuk penggunaan led.

2 Ketik aec_isp, enter

3 tampil jendela berikut:

Kemudian pilihlah load hex file (A), dan ketikan nama file

4 Pilih program dan tinggu hingga 100%

Pilih reset dan lihat output pada led.

BAB II

PROSES PRAKTIKUM

2.1 Data tampilan

Langkah kerja untuk proses pratikum yang berjudul konversi ADC dengan output LED dan dengan output LCD ini adalah sebagai berikut:1. Buatlah program pada DOS editor dengan mengaktifkan DOS prompt dan bukalah folder compiler untuk mcs51.

2. Ketiklah program pada DOS teks editor dan simpanlah dalam bentuk namafile.asm. Compile program dengan menggunakan instruksi: x8051 namafile.asm (.

3. Setelah dihasilkan file dengan ekstension obj, lanjutkanlah meng-compile program dengan instruksi L8051 ( dan inputkan nama file yang akan decompile sehingga diperoleh:

Output format: Intel Hex

4. Cek jumper pada sistem mikrokontroler yang akan digunakan dengan menempatkan jumper seven segment dengan menghubungkan pin tengah 0 pada terminal jumper.

5. Pada DOS prompt, ketik:

C:\mcs51\aec_isp (6. Dari tampilan peogram AEC_ASP, pilih option

A. Load HEX File to flash buffer (7. Ketikkan nama file dengan extension hex pada Input file name: yang tampil pada DOS prompt dan selanjutnya akan tampil

Hex file loaded, press any key to continue (Pilih E. Program ( dan tunggu sampai program terloading 100%.

8. Pilih I. Reset sehingga bernilai Low dan lihat output yang dihasilkan pada seven segment.

2.2 Tugas Praktikum

Tampilkan data input analog dari 0-5 volt pada seven segment Dan pada LCD dan isikan pada table data tampilan?BAB IIIHASIL PRAKTIKUM

3.1 Data Tampilan Data Tampilan Konversi ADC dengan tampilan Seven SegmentIN0

(VOLT)Digit 3Digit 2Digit 1Digit 0Pengukuran Real

0.02-0011

0.5-02725

1.0-05150

1.5-07575

2.0-100100

2.5-127125

3.0-150150

3.5-177175

4.0-203200

4.5-256225

5.0-252255

Data Tampilan Konversi ADC dengan tampilan LCDV IN (V)PengukuranPerhitungan

0,0211

0,52625

1,05851

1,58276

2,0111102

2,5136128

3,0168153

3,5196178

4,0219204

4,5249229

5,0255255

3.2 Program

Program ADC ke seven segment org 00h

sjmp main

dataadc equ 60h

;--------------

; main program

;--------------

main:

acall channel_0

acall read_adc

acall disp

sjmp 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

;----------------------

;pengambilan 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

disp: mov a,dataadc

mov b,#100

div ab

mov 32h,a

mov a,b

mov b,#10

div ab

mov 31h,a

mov 30h,b

orl a,#11110000b

mov p2,a

acall delay

mov a,32h

orl a,#10110000b

mov p2,a

acall delay

mov a,31h

orl a,#11010000b

mov p2,a

acall delay

mov a,30h

orl a,#11100000b

mov p2,a

acall delay

ret

; delay 1 ms

delay:

mov r1,#200

loop1:

nop

nop

nop

nop

nop

nop

nop

nop

nop

djnz r1,loop1

ret Program ADC Ke LCDorg 00h

sjmp start

;--------------

;lcd constanta

;--------------

dispclrequ00000001b

funcsetequ00111000b

entrmodequ00000110b

dispon

equ00001100b

dataadc equ 60h

start:

acallinit_lcd

movdptr,#baris1

acallprintstring1

movdptr,#baris2

acallprintstring2

;-------------------------

;main program

;-------------------------

main:acall channel_0

acall read_adc

acall disp

sjmp 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

;-------------------------

;pengambilan 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

disp:

mov a,dataadc

mov b,#100

div ab

mov 32h,a ; ratusan

mov a,b

mov b,#10

div ab

mov 31h,a ; puluhan

mov 30h,b ; satuan

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

;-------------------------

;prosedur pemesanan tempat

;-------------------------

controlout:

clrp3.5

acalldelay

clrp3.4

acalldelay

setbp3.4

acall delay

movp2,a

clrp3.4

acalldelay

ret

;------------------------

;prosedur penempatan data

;------------------------

dataout:

setbp3.5

acalldelay

clrp3.4

acalldelay

setbp3.4

acalldelay

movp2,a

clrp3.4

acall delay

ret

;----------------------

;prosedur delay lcd

;----------------------

delay.init.lcd:

movr6,#20h

dly.lcd.lp:

mov r7,#10h

djnzr7,$

djnzr6,dly.lcd.lp

ret

init_lcd:

mova,#00111000b

acallcontrolout

acalldelay.init.lcd

mova,#00001100b

acallcontrolout

acalldelay.init.lcd

mova,#00000001b

acallcontrolout

acalldelay.init.lcd

mova,#00000110b

acallcontrolout

acalldelay.init.lcd

ret;----------------------------

;prosedur lcd baris kolom lcd

;----------------------------

posisi2.1:

mova,#1

posisi2:

adda,#11000000b

dec a

acallcontrolout

acalldelay.init.lcd

ret

posisi1.1:

mova,#1

posisi1:

adda,#10000000b

dec a

acallcontrolout

acalldelay.init.lcd

ret

printstring2:

acallposisi2.1

clra

movca,@a+dptr

jnz printstringloop

printstringloop:

acalldataout

acalldelay.init.lcd

incdptr

clra

movca,@a+dptr

jnzprintstringloop

ret

printstring1:

acallposisi1.1

clra

movca,@a+dptr

jnz printstringloop2

printstringloop2:

acalldataout

acalldelay.init.lcd

incdptr

clra

movca,@a+dptr

jnzprintstringloop2

ret

;-----------------

;prosedur delay

;-----------------

delay:

mov r5,#0

u1:movr6,#0

u2:movr7,#0

u3:incr7

cjne r7,#5,u3

incr6

cjner6,#5,u2

incr5

cjner5,#5,u1

ret

baris1:

db 'data dari adc ',0

baris2:

db 'data adc: ',0

3.3 Analisa Analisa konversi ADC ke Seven SegmentDari hasil pratikum didapat analisa bahwa penggunaan instruksi:

Program utama dari program diatas adalah

acallchannel_0

acallread_adc

mova,dataadc

movp2,a

sjmpmain

channel_0:

clr p0.5

clr p0.6

clr p0.7

retchannel_7:

setb p0.5

setb p0.6

setb p0.7

ret

Multiplexer bekerja pada kanal 0,kemudian data di ambil dari ADC dan disimpan di variable DATAADC dan selanjutnya dikeluarkan di seven segment. Pada modul yang digunakan letak dari display adalah berada pada port 2 sedangkan rangkkaian ADC berada pada port 3.Dari program utama inilah sehingga bisa terjadi konversi ADC (Analog Digital Converter).

Untuk mengontrol ADC dengan mikrkontroler melalui:

WR: P3.6

RD:P3.7

Output data digital hasil konversi dihubungkan ke port 0 dan di tampilkan kederetan Seven Segment melalui port 2.

Analisa Konversi ADC ke LCD

Dari hasil pratikum didapat analisa bahwa penggunaan instruksi:

Program utama dari program diatas adalah

acallchannel_0

acallread_adc

mova,dataadc

movp2,a

sjmpmainMultiplexer bekerja pada kanal 0,kemudian data di ambil dari ADC dan disimpan di variable DATAADC dan selanjutnya dikeluarkan di LED

Dari program utama inilah sehingga bisa terjadi konversi ADC (Analog Digital Converter).

Pada penampilan dengan LCD prip kerjanya sama dengan 7 segmen, dimana bilangan yang ditampilkan adalah bilangan desimal, dsini kita juga harus pesan temapt untuk bilangan yang ditampilkan, misalnya ratusan akan ditampilkan pada kolom berapa dan baris, berapa. Pada program ini data akan kita tampilkan pada kolom 15 untuk satuan, kolom 14 untuk puluhan dan kolom 13 untuk ratusan dan semuanya ditampilkan pada baris ke 2, adapun contohnya adalah sebagai berikut:mov a,b

mov b,#10

div ab

mov 31h,a ; puluhan

UNtuk mengontrol ADC dengan mikrkontroler melalui:

WR: P3.6

RD:P3.7

BAB IV

PENUTUP4.1 Kesimpulan

Dari hasil latihan dapat kami simpulkan bahwa:

IC Multipleser analog 4051ini digunakan untuk memasukkan input analog ke ADC secara bergantian dengan mengatur sinyal control A,B dan C.

IC ADC0804 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 ia ambil datanya dengan memberikan WR = 1, RD = 0

WR = 1, RD = 1

Input analog (0-7) dipilih melalui multipleser analog yang dikontrol melalui P1.0 , P1.1 dan P1.2. Input 0 dan 7 di hubungkan kesumber tegangan analog yang di berikan oleh potensiometer. Output multipleser analog di hubungkan ke ADC. ADC di control oleh mikrokontroler melalui:WR: P3.6 RD:P3.7 Output data digital hasil konversi dihubungkan ke port 0 dan di tampilkan kederetan seven segment melalui port 2.4.2 Saran

Diharapkan kepada setiap praktikum agar membaca dan memahami intruksi intruksinya terlebih dahulu sebelum melakukan praktek.

EC

LAPORAN PRATIKUM

LABOR MICROKONTROLER

SEMESTER V