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