平,然后根据单片机接受到的值判断出该按键的位置,从而得到该按 键的值,然后显示出来。 八、原理图:(见下图) AbCde F 164显示模块 九、程序流程图: 开始) N 有键闭合吗 软件延时10MS 有键闭合吗?
26 平,然后根据单片机接受到的值判断出该按键的位置,从而得到该按 键的值,然后显示出来。 八、原理图:(见下图) 1 0 K 1 0 K 1 0 K 1 0 K + 5 V E A / V P 3 1 X 1 1 9 X 2 1 8 R E S E T 9 R D 1 7 W R 1 6 I N T0 1 2 I N T1 1 3 T0 1 4 T1 1 5 P 1 0 1 P 1 1 2 P 1 2 3 P 1 3 4 P 1 4 5 P 1 5 6 P 1 6 7 P 1 7 8 P 0 0 3 9 P 0 1 3 8 P 0 2 3 7 P 0 3 3 6 P 0 4 3 5 P 0 5 3 4 P 0 6 3 3 P 0 7 3 2 P 2 0 2 1 P 2 1 2 2 P 2 2 2 3 P 2 3 2 4 P 2 4 2 5 P 2 5 2 6 P 2 6 2 7 P 2 7 2 8 P S E N 2 9 A L E/ P 3 0 T X D 1 1 R X D 1 0 875 1 11.0592M H Z C 2 30p F C 1 30p F + 5 V + 5 V 10u F 1 0 K A B C D E F164 显示模块 ¼üÅÌɨÃè·¨Ô-ÀíÍ ¼ + 5 V 九、程序流程图: 开始 N 有键闭合吗? Y 软件延时10MS N 有键闭合吗? Y
确定按键位置 闭合键释放 按键值 返回 键值显示 结束 十、参考程序: ORG OOOOHI MOV SP #70H ASK: MOV P1. #OFH MoV A Pl CJNE A, #OFH, TEST-KEY SJMP ASK Z TEST-KEY
27 按键值 返回 确定按键位置 N 闭合键释放 Y 十、参考程序: ORG 0000H MOV SP,#70H ASK: MOV P1,#0FH MOV A,P1 CJNE A,#0FH,TEST-KEY SJMP ASK ;///////////////////////////////// TEST-KEY: 键值显示 结束
LCALL DELAY50 MoV PI, #OFH MoV A Pl CJNE A, #OFH, CHECK-KEY SJMP ASK ;/ CHECK-KEY MoV R3, #8FH: LINEl LCALL FINGING JB 20H.O, LINE2 SJMP ASK LINE2 MOV R3. #4FH LCALL FINGING JB 20H. O, LINE3 SJMP ASK lInE3: MOV R3. #4FH LCALL FINGING JB 20H.O, LINE4 SJMP ASK
28 LCALL DELAY50 MOV P1,#0FH MOV A,P1 CJNE A,#0FH,CHECK-KEY SJMP ASK ;////////////////////////////// CHECK-KEY: MOV R3,#8FH;LINE1 LCALL FINGING JB 20H.0,LINE2 SJMP ASK LINE2:MOV R3,#4FH LCALL FINGING JB 20H.0,LINE3 SJMP ASK LINE3:MOV R3,#4FH LCALL FINGING JB 20H.0,LINE4 SJMP ASK
LINEA: MOV R3. #4FH LCALL FINGING SJMP ASK FINDING: CLr 20H. 0 MoV PI, R3 MoV A Pl aNL A, #OFH CJNE A,#0FH,FⅠNDF SEtB 20H. 0 RET FINDF. MOV DPTR #TABLE-1 MoV R4.#OFFH MOV R2. A Mov A #OFOH anl A, R3 oRL A R2 MOV R2. A FIND
29 LINE4:MOV R3,#4FH LCALL FINGING SJMP ASK ;///////////////////////////////////// FINDING: CLR 20H.0 MOV P1,R3 MOV A,P1 ANL A,#0FH CJNE A,#0FH,FINDF SETB 20H.0 RET FINDF: MOV DPTR,#TABLE-1 MOV R4,#0FFH MOV R2,A MOV A,#0F0H ANL A,R3 ORL A,R2 MOV R2,A FIND:
INC DPTR INC R4 Mov A #0 MOVC A CA+DPTR CJNE A, #OFFH, IN mov 30H #OFFH RET IN CJNE A, 02H, FIND MoV 30H R4 RET TBALE DB 7EH, OBEH, ODEH, OEEH DB 7DH OBDH. ODDH. OEDH dB 7BH. OBBH. ODBH. OEBH DB 77H. OB7H. OD7H. OE7H ;/y DELAY50: MOV TMOD #OlH MOV THO. #4CH MOV TLO. #0 CLR TFO
30 INC DPTR INC R4 MOV A,#0 MOVC A,@A+DPTR CJNE A,#0FFH,IN MOV 30H,#0FFH RET IN: CJNE A,02H,FIND MOV 30H,R4 RET ;/////////////////////////////////// TBALE: DB 7EH,0BEH,0DEH,0EEH DB 7DH,0BDH,0DDH,0EDH DB 7BH,0BBH,0DBH,0EBH DB 77H,0B7H,0D7H,0E7H ;////////////////////////////////// DELAY50: MOV TMOD,#01H MOV TH0,#4CH MOV TL0,#0 CLR TF0