Searching

Belum menemukan yang Anda cari, mungkin kata kunci Anda kurang tepat atau masih salah. Coba masukkan lagi kata kunci Anda yang baru pada fasilitas searching di Blog ini untuk lebih lengkap, search in database this blog :

Perhatian

Untuk tampilan gambar yang lebih jelas, Anda dapat klik langsung pada gambar yang ada. Selamat menjelajah !
More Read :

Saturday, February 24, 2007

Interface ADC dan LCD ke mikrokontroler



Gambar 3.14. Rangkaian interface ADC dan LCD ke mikrokontroler


Anda perhatikan koneksi pin /WR dan pin /INT, sungguh merupakan koneksi yang luar biasa. Karena anda tidak perlu repot-repot untuk mengendalikan ADC untuk mulai konversi, tetapi ADC akan berkerja dengan sendirinya. Pada saat awal power ON, maka WR mendapat logika 0, yang menyebabkan ADC bekerja untuk mengkonversikan dari Analog ke Digital, bila konversi telah selesai maka ADC akan mengeluarkan logika 0 pada pin INT. Karena pin INT terkoneksi ke WR maka ADC akan start konversi lagi, dst. Sungguh koneksi yang luar biasa yang dalam bahasa Jawanya dikenal dengan istilah " STAND ALONE ".

;Percobaan 3.5.1.

;Menuliskan data tegangan ADC ke LCD character dalam format desimal

;Pada percobaan ini kata tegangan dituliskan pada baris 2 mulai kolom pertama

;data desimal akan dituliskan pada kolom 10, 11, dan 12 pada baris 2, data desimal

;ini akan berubah sesuai dengan nilai tegangan yang masuk ke ADC

;Pada listing program tampak sebuah subrutine untuk menerjemahkan dari

;bilangan HEXA ke Desimal melalui subrutine Konversi


T e g a n g a n : 2 3 3


dispclr equ 00000001b
funcset equ 00111000b
entrmod equ 00000110b
dispon equ 00001100b

Org 0h

Mulai: acall init_lcd

acall tulis

Again: acall adc

acall konversi

acall printoutchar

sjmp again

;

ADC: mov A,P2

ret

;

konversi:
mov B,#100d ; B= 100d
div AB ; A = A/ B, B = Sisa pembagian
mov Ratusan,A ; [Ratusan] = A
mov A,B ; A = B
mov B,#10d ; B = 10d
div AB ; A = A/ B, B = Sisa pembagian
mov Puluhan,a ; [Puluhan] = A
mov Satuan,b ; [ Satuan] = B

ret

;

Printoutchar:
mov R1,#0CAh ; R1 = CAh, pemilihan baris ke 2 kolom ke 10
acall write_inst
mov A,Ratusan ; A = [ Ratusan ]
Add A,#30h ; A = A + 30h, konversi data byte ke ascii
mov R1,A ; R1 = A
acall write_data

;
mov R1,#0CBh ; R1 = CAh, pemilihan baris ke 2 kolom ke 11
acall write_inst
mov A,puluhan ; A = [ Puluhan ]
add A,#30h ; A = A + 30h, konversi data byte ke ascii
mov R1,A ; R1 = A
acall write_data

;
mov R1,#0CCh ; R1 = CCh, pemilihan baris ke 2 kolom 12
acall write_inst
mov A,satuan ; A = [ Satuan ]
add A,#30h ; A = A + 30h, konversi data byte ke ascii
mov R1,A ; R1 = A
acall write_data
ret

;

Tulis: mov dptr,#tulisan1

mov r3,#9

mov r1,#0C0h

acall write_inst

Tulis1: clr a

movc a,@a+dptr

mov r1,A

inc dptr

acall write_data

djnz r3,tulis1

ret

;

Write_inst:
Clr P1.0 ; RS = P1.0 = 0, mode tulis instruksi ke LCD
Mov P0,R1 ; D7 s/d D0 = P0 = R1
Setb P1.1 ; EN = 1 = P1.1
Acall delay ; panggil waktu tunda
Clr P1.1 ; EN = 0 = P1.1
ret
;
Write_data:
Setb P1.0 ; RS = P1.0 = 1, mode tulis data ke LCD
Mov P0,R1 ; D7 s/d D0 = P0 = R1
Setb P1.1 ; EN = 1 = P1.1
Acall delay ; panggil waktu tunda
Clr p1.1 ; EN = 0 = P1.1
ret
;

init_lcd:
mov r1,#dispclr
acall write_inst
mov r1,#funcset
acall write_inst
mov r1,#dispon
acall write_inst
mov r1,#entrmod
acall write_inst
ret

;

Tulisan1: DB 'TEGANGAN:'

end


Koneksi yang cantik !


Gambar 3.15. Rangkaian interface ADC dan LCD ke mikrokontroler

Pada gambar 3.15 tersebut tampak koneksi yang sangat anggun sekali, untuk menampilan data ADC ke 7 segmen, karena dari segi cost tentulah sangat murah sekali apabila dibandingkan dengan percobaan display dengan menggunakan LCD karakter, dan dengan mudahnya anda dapat membuat rangkaian tersebut untuk berbagai macam keperluan.

;Percobaan 3.5.2.

;Display output ADC0804 ke Seven Segmen

;Ratusan-> 7S.5, Puluhan->7S.6, Satuan-> 7S.5

;Pada percobaan ini data dari ADC akan dikonversikan terlebih dahulu menjadi

;data Ratusan-Puluhan-Satuan dengan menggunakan subrutine KOnversi

;seperti halnya pada LCD karakter maka data-data ini akan dioutputkan ke

;7 segmen satu persatu dan dilakukan scanning data. Pada proses scan data ini

;sebenarnya akan terlihat data angka yang berkedip, karena frekuensi scan

;cukup cepat maka tidak akan terlihat kedipan dari data yang didisplaykan

Org 0h

Start: Acall ADC ; Memanggil subrutine ADC

Acall Konversi ; Memanggil subrutine Konversi

Acall Display7Segmen ; Memanggil subrutine Display7 Segmen

sjmp Start ; Looping forever terjadi disini, dan program akan

; terjebak selama-lamanya dan tidak ada sesuatu

; yang dapat kita perbuat dengan hal ini.

;

ADC: mov A,P2 ; A = P2

ret

;

Konversi:
mov b,#100d ; Idem dengan percobaan sebelumnya
div ab
mov Ratusan,a
mov a,b
mov b,#10d
div ab
mov Puluhan,a
mov Satuan,b

ret

;

Display7segmen:

Mov P1,#11111111b ; P1 = 11111111b
mov A, Ratusan ; A = [Ratusan ]
mov DPTR,#Data7segmen ; DPTR =[Data7segmen]
movc A,@A+DPTR ; A = [A+DPTR]
mov P0,A ; P0 = A, menuliskan karakter ratusan
clr P1.5 ; P1.5 = 0, hidupkan segmen ke 5
Acall delay
;
mov A,Puluhan ; A = [ Puluhan ]
mov DPTR,#Data7segmen ; DPTR = [ Data7Segmen ]
movc A,@A+DPTR ; A = [A+DPTR]
setb P1.5 ; P1.5 = 1
mov P0,A ; P0 = A, menulis karakter puluhan
clr P1.6 ; P1.6 = 0, hidupkan segmen ke 6
Acall delay
;
mov A,Satuan ; A = [ Satuan ]
mov DPTR,#Data7segmen ; DPTR = [ Data7segmen ]
movc A,@A+DPTR ; A = [A+DPTR]
setb P1.6 ; P1.6 = 1
mov P0,A ; P0 = A, menulis karakter satuan
clr P1.7 ; P1.7 = 0, hidupkan segmen ke 7
Acall delay
;
ret

Data7segmen:
db11000000b,11111001b,10100100b,10110000b,10011001b,

db10010010b,10000010b,11111000b,10000000b,10010000b

No comments:

Disclaimer


Blog ini tidak bertanggung jawab atas kesalahan atas program yang Anda download ataupun sesuatu hal yang berhubungan dengan materi-materi yang ada. Terima kasih atas saran dan kritik yang membangun. Non profit blog. Untuk lebih lanjut hub Webmaster di : agencs@yahoo.com


"All Links In This Blog Is Temporary Link"

NO SPAM AND VIOLATED CONTENT

Generated®


Banner IP Browser

Lihat gambar di bawah ini, ingin punya yang seperti ini juga. Anda bisa pasang banner ini di blog Anda atau posting Anda. Bisa deteksi IP Adress, Browser.

Tulis code ini di footer blog kamu atau posting kamu. Copy (CTRL+C) Paste (CTRL+V) at this script.
Coba Deh, Kuueereeen lho ....
 


Creative Commons License
Powered by Blogger | Created and Maintained by Generated
Blogger Beta Template by GeckoandFly and Blogcrowds | Design by Andreas Viklund
This workis licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Malaysia License.
Best viewed in Firefox 1.5+ at 1024x768 or higher resolution
Copyright 2007 Content by BIZON network
Hosting Reseller Reviews cydots.com - Free Domains!