abdullahkhan5
Newbie level 5
We are trying to interface a 4x3 keypad with PC using ATMEL 8051 and objective is that we send a password through keypad and it is checked in PC and if correct certain LED is turned on. We have written code for it and in assembly and if someone can check and please tell if there are any errors or suggestions because all our pins work the way we want them to, only our data does not get transmitted to when we press certain key and look for corresponding data in hyperterminal on PC. please help! below is the code
the clock we are using is 11.0592MHz
MOV TMOD,#20H
MOV SCON,#50H
MOV TH1,#0E8H
start:
SETB P1.1
SETB P1.2
CLR P1.3;column 1
SETB P1.4
CLR P1.5;column 2
CLR P1.6;column 3
SETB P1.7
JNB P1.7,L1
JNB P1.1,L2
JNB P1.2,L3
JNB P1.4,L4
ljmp start
L1:
CLR P1.1
CLR P1.2
SETB P1.3;column 1
CLR P1.4
SETB P1.5;column 2
SETB P1.6;column 3
CLR P1.7
MOV A,#1
JNB P1.3,ONE
MOV A,#2
JNB P1.5,ONE
MOV A,#3
JNB P1.6,ONE
jmp L1
L2:
CLR P1.1
CLR P1.2
SETB P1.3;column 1
CLR P1.4
SETB P1.5;column 2
SETB P1.6;column 3
CLR P1.7
MOV A,#4
JNB P1.3,ONE
MOV A,#5
JNB P1.5,ONE
MOV A,#6
JNB P1.6,ONE
jmp L2
L3:
CLR P1.1
CLR P1.2
SETB P1.3;column 1
CLR P1.4
SETB P1.5;column 2
SETB P1.6;column 3
CLR P1.7
MOV A,#7
JNB P1.3,ONE
MOV A,#8
JNB P1.5,ONE
MOV A,#9
JNB P1.6,ONE
jmp L3
L4:
CLR P1.1
CLR P1.2
SETB P1.3;column 1
CLR P1.4
SETB P1.5;column 2
SETB P1.6;column 3
CLR P1.7
MOV A,#'*'
JNB P1.3,ONE
MOV A,0
JNB P1.5,ONE
MOV A,#'#'
JNB P1.6,ONE
jmp L4
ONE:
MOV sbuf,A
SETB TI
CLR TI
HERE: JNB P1.3,HERE
JNB P1.5,HERE
JNB P1.6,HERE
ljmp start
END
the clock we are using is 11.0592MHz
MOV TMOD,#20H
MOV SCON,#50H
MOV TH1,#0E8H
start:
SETB P1.1
SETB P1.2
CLR P1.3;column 1
SETB P1.4
CLR P1.5;column 2
CLR P1.6;column 3
SETB P1.7
JNB P1.7,L1
JNB P1.1,L2
JNB P1.2,L3
JNB P1.4,L4
ljmp start
L1:
CLR P1.1
CLR P1.2
SETB P1.3;column 1
CLR P1.4
SETB P1.5;column 2
SETB P1.6;column 3
CLR P1.7
MOV A,#1
JNB P1.3,ONE
MOV A,#2
JNB P1.5,ONE
MOV A,#3
JNB P1.6,ONE
jmp L1
L2:
CLR P1.1
CLR P1.2
SETB P1.3;column 1
CLR P1.4
SETB P1.5;column 2
SETB P1.6;column 3
CLR P1.7
MOV A,#4
JNB P1.3,ONE
MOV A,#5
JNB P1.5,ONE
MOV A,#6
JNB P1.6,ONE
jmp L2
L3:
CLR P1.1
CLR P1.2
SETB P1.3;column 1
CLR P1.4
SETB P1.5;column 2
SETB P1.6;column 3
CLR P1.7
MOV A,#7
JNB P1.3,ONE
MOV A,#8
JNB P1.5,ONE
MOV A,#9
JNB P1.6,ONE
jmp L3
L4:
CLR P1.1
CLR P1.2
SETB P1.3;column 1
CLR P1.4
SETB P1.5;column 2
SETB P1.6;column 3
CLR P1.7
MOV A,#'*'
JNB P1.3,ONE
MOV A,0
JNB P1.5,ONE
MOV A,#'#'
JNB P1.6,ONE
jmp L4
ONE:
MOV sbuf,A
SETB TI
CLR TI
HERE: JNB P1.3,HERE
JNB P1.5,HERE
JNB P1.6,HERE
ljmp start
END