正在加载图片...
KEY1: LCALL KS1 MOV A, R2 LK7: LCALL DL6ms;延6ms JNZ LKl JNB ACC. 7, LK8 LCALL KS1;键释放? LJMP LK8 RL A JNZ LK7;未释放,等 LK1: LCALL dLms MOV R2.A LCALL DL6ms;消颤 LCALL DLGmS INC R3 LCALL DLGmS LCALL KSI SJMP LK3 POP ACC;键值→A JNZ LK2 LK4: moV A. R3 I RND: RET LJMP LK8 add A. R3 LK2: moV R3, #OOH MOV R5. A lk&: mov a, #OFFH MoV R2. #OFEH add A. R5 ;无键闭合标志→A LK3: MOV DPTR #0101H MOV R5. A RET Mov A, R2 Mov A. R4 MOVX,@DPTR,ALK5:RRCA;取列值的最低位到Cy INC DPTR JNC LK6;Cy=0就找到了,即R5 INC DPTR INCR5;否则行值增1,即同 MOVX A, @DPTR 行中的下一个键值 ANL A,#OFH SJMP LK5;再转LK5判C键值 Mov R4, A LK6:PUSH05H;将找到的键值压栈 CJNE A, #OFH, LK4 保存起来。KEY1:LCALL KS1 JNZ LK1 LJMP LK8 LK1:LCALL DL6ms LCALL DL6ms LCALL KS1 JNZ LK2 LJMP LK8 LK2:MOV R3,#00H MOV R2,#0FEH LK3:MOV DPTR #0101H MOV A, R2 MOVX,@DPTR,A INC DPTR INC DPTR MOVX A,@DPTR ANL A,#0FH MOV R4,A CJNE A,#0FH,LK4 MOV A,R2 JNB ACC.7,LK8 RL A MOV R2,A INC R3 SJMP LK3 LK4:MOV A, R3 ADD A, R3 MOV R5, A ADD A, R5 MOV R5, A MOV A, R4 LK5: RRC A ;取列值的最低位到Cy JNC LK6 ;Cy=0就找到了,即R5 INC R5 ;否则行值增1,即同 行中的下一个键值 SJMP LK5 ;再转LK5判C键值 LK6: PUSH 05H ;将找到的键值压栈 保存起来。 LK7:LCALL DL6ms;延6ms LCALL KS1;键释放? JNZ LK7;未释放,等 LCALL DL6ms ;消颤 LCALL DL6ms POP ACC ;键值→A RND:RET LK8:MOV A,#0FFH ;无键闭合标志→A RET
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有