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 :

Tuesday, April 10, 2007

INTERFACE KEYBOARD DENGAN MIKROKONTROLER


;Listing program berikut merupakan interface keyboard dengan mikrokontroler

;dengan output pada layar LCD character, mikrokontroler akan mendeteksi data

;serial dari keyboard dan mengeluarkan pada layar LCD character pada address 80h

;

dispclr equ 00000001b
funcset equ 00111000b
entrmod equ 00000110b
dispon equ 00001100b
KbdData bit P3.3
KbdClock bit INT0;P3.2
DataKeyboard equ 30h
;
org 0h
nop
Acall init_LCD
;
Forever:
JB KbdClock,$
acall ambilKeyboard
jnc Forever
acall LCD_Out
clr C
sjmp Forever
;

;=========================================================

;Subrutine AmbilKeyboard

;Subrutine berikut berfungsi untuk mendeteksi apakah keyboard sedang ditekan atau

; dilepas. Bila tombol tidak dilepas maka akan menuju pada subrutine Kybd_tidakLepas

; dan memberi tanda pada bit C = 0 sehingga bila C = 0 maka data tidak akan dicetak

;Bila tombol keyboard dilepas maka data scan code diambil dan dikonversi ke dengan

; dengan menggunakan look up table serta menandai bit C = 1

;=========================================================
AmbilKeyboard:
acall ambil_scancode
cjne a,#0F0h,kybd_tidakLepas
JB KbdClock,$
acall ambil_Scancode
Setb C
Acall Konversi_Scancode
ret
;
Kybd_tidakLepas:
Clr C
ret
;

;===========================================================

;Subrutine Konversi_ScanCode

;Pada subrutine ini digunakan untuk menerjemahkan scan code ke bentuk karakter

; dengan menggunakan look up table.

;===========================================================
Konversi_ScanCode:
Mov DPTR,#TableKeyboard
movc A,@A+DPTR
mov DataKeyboard,A
ret
;
LCD_Out:
mov R7, #80h
acall write_inst
mov R7,DataKeyboard
acall write_data

ret
;

init_lcd:
mov R7,#dispclr
acall write_inst
mov R7,#funcset
acall write_inst
mov R7,#dispon
acall write_inst
mov R7,#entrmod
acall write_inst
ret
;
Ambil_scanCode:
clr A
Jnb KbdClock,$
mov R0,#08h
Ambil_ScanCode2:
Jb KbdClock,$
Mov C,KbdData
Rr A
mov acc.7,C
Jnb KbdClock,$
Djnz R0,Ambil_ScanCode2
Jb KbdClock,$
Jnb KbdClock,$
Jb KbdClock,$
Jnb KbdClock,$
ret
;
Write_inst:
Clr P3.6 ; RS = P1.0 = 0, mode tulis instruksi ke LCD
Mov P0,R7 ; D7 s/d D0 = P0 = R1
Setb P3.7 ; EN = 1 = P1.1
Acall delay ; panggil waktu tunda
Clr P3.7 ; EN = 0 = P1.1
ret
;
Write_data:
Setb P3.6 ; RS = P1.0 = 1, mode tulis data ke LCD
Mov P0,R7 ; D7 s/d D0 = P0 = R1
Setb P3.7 ; EN = 1 = P1.1
Acall delay ; panggil waktu tunda
Clr p3.7 ; EN = 0 = P1.1
ret
;
delay: mov R5,#0
delay1:mov R4,#02fh
djnz R4,$
djnz R5,delay1
ret
;
TableKeyboard:
DB 00
DB 0F9H
DB 00
DB 0F5H,0F3H,0F1H,0F2H,0FCH
DB 00H
DB 0FAH,0F8H,0F6H,0F4H
DB 0C0H
DB '~'
DB 00H
DB 00H
DB 0C1H
DB 0C2H
DB 00H
DB 0C3H
DB 'Q1'
DB 00H,00H,00H
DB 'ZSAW2'
DB 00H,00H
DB 'CXDE43'
DB 00H,00H
DB ' VFTR5'
DB 00H,00H
DB 'NBHGY6'
DB 00H,00H,00H
DB 'MJU78'
DB 00H,00H
DB ',KIO09'
DB 00H,00H
DB './L;P-'
DB 00H,00H,00H
DB 27H
DB 00H
DB '[='
DB 00H,00H
DB 0C5H
DB 0C6H
DB 0AH
DB ']'
DB 00H
DB '\'
DB 00H,00H,00H,00H,00H,00H,00H,00H
DB 08H
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 0DH
DB 00H
DB 0FBH
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB 0F7H
end

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!