mytutorialcafe.com
Discussion All About Microcontroller and Computer Interfacing
FAQ
Search
Memberlist
Usergroups
Register
Profile
Log in to check your private messages
Log in
mytutorialcafe.com Forum Index
->
Interfacing with Microcontroller
Post a reply
Username
Subject
Message body
Emoticons
View more Emoticons
Font colour:
Default
Dark Red
Red
Orange
Brown
Yellow
Green
Olive
Cyan
Blue
Dark Blue
Indigo
Violet
White
Black
Font size:
Tiny
Small
Normal
Large
Huge
Close Tags
[quote="cak kalim"]How to read 3 key sequence (example 4,5,6) from a keypad? If the sequence is correct then the led on. Have idea, pleasetell me.[/quote]
Options
HTML is
OFF
BBCode
is
ON
Smilies are
ON
Disable BBCode in this post
Disable Smilies in this post
All times are GMT
Jump to:
Select a forum
Basic Microcontroller
----------------
89s51 Programmer
Interfacing with Microcontroller
Timer/ Counter Microcontroller Application
Serial RS232 communication
Advance Microcontroller
----------------
Microcontroller Projects
Computer Interfacing
----------------
Serial RS232 Communication
Interfacing Bidirectional LPT
Robot Building
----------------
Building Robot with uC less
Building robot with Microcontroller
Topic review
Author
Message
myturf
Posted: Tue May 09, 2006 6:08 am
Post subject: Re: reading key squence from keypad
Here is the source code :
;PASSWORD Source code :
;Using keypad to catch data and drive LED when the password is correct
;For this example the password is 3 4 5
;In this lesson we'll scan keypad and get data out to LED-P0
row1 bit P2.4
row2 bit P2.5
row3 bit P2.6
row4 bit P2.7
col1 bit P2.0
col2 bit P2.1
col3 bit P2.2
col4 bit P2.3
;
keydata equ 70h
keybounc equ 71h
keyport equ P2
org 0h
pass3: call keypad4x4 ;calling subroutine keypad4x4
Mov A,keydata ;A = keydata
cjne A,#3,pass3 ;detects key 3
;
pass4: call keypad4x4
mov A,keydata
cjne A,#4,pass4 ;detects key 4
;
pass5: call keypad4x4
mov A,keydata
Cjne A,#5,pass5;detects key 5
;
send: CPL A ;A = NOT A
Mov P0,A ;P0 = A
Sjmp send ;LOOPING FOREVER PART 2
;
delay: mov R0,#0
delay1:mov R2,#50
djnz R2,$
djnz R0,delay1
ret
;
;====================================
; subroutine scan keypad 4x4
;====================================
Keypad4x4:
mov keybounc,#50 ;keybounc = 50
mov keyport,#0FFh ;keyport=P2= FF
clr col1 ;col1= P3.0 = 0
Detect:jb row1,key1 ;jump to key1 if row1=1
djnz keybounc,Detect
mov keydata,#00h ;Keydata =00h
ret
;
key1: jb row2,key2 ;jump to Key2 if row2=1
djnz keybounc,key1
mov keydata,#04h ;Keydata = 04h
ret
;
key2: jb row3,key3 ; idem
djnz keybounc,key2
mov keydata,#08h
ret
;
key3: jb row4,key4 ; idem
djnz keybounc,key3
mov keydata,#0Ch
ret
;
key4: setb col1
clr col2
jb row1,key5
djnz keybounc,key4
mov keydata,#01h
ret
;
key5: jb row2,key6
djnz keybounc,key5
mov keydata,#05h
ret
;
key6: jb row3,key7
djnz keybounc,key6
mov keydata,#09h
ret
;
key7: jb row4,key8
djnz keybounc,key7
mov keydata,#0Dh
ret
;
key8: setb col2
clr col3
jb row1,key9
djnz keybounc,key8
mov keydata,#02h
ret
;
key9: jb row2,keyA
djnz keybounc,key9
mov keydata,#06h
ret
;
keyA: jb row3,keyB
djnz keybounc,keyA
mov keydata,#0Ah
ret
;
keyB: jb row4,keyC
djnz keybounc,keyB
mov keydata,#0Eh
ret
;
keyC: setb col3
clr col4
jb row1,keyD
djnz keybounc,keyC
mov keydata,#03h
ret
;
keyD: jb row2,keyE
djnz keybounc,keyD
mov keydata,#07h
ret
;
keyE: jb row3,keyF
djnz keybounc,keyE
mov keydata,#0Bh
ret
;
keyF: jb row4,Nokey
djnz keybounc,keyF
mov keydata,#0Fh
ret
Nokey:mov keydata,#0FFh
ret
;================================
;The end of Keypad 4x4 subroutine
;================================
end
cak kalim
Posted: Tue May 09, 2006 2:23 am
Post subject: Reading key sequence from 4x4 keypad
How to read 3 key sequence (example 4,5,6) from a keypad?
If the sequence is correct then the led on.
Have idea, pleasetell me.
Powered by
phpBB
© 2001, 2005 phpBB Group