|
请大虾们帮我 看一下,这段小程序错在哪里,怎么该啊,拜托啦
[复制链接]
编译的时候说: 行:43, 错误353: 符号未定义: KEYSTAT 行:18, 错误353: 符号未定义:R0
下面是编译的程序: ORG 0 STRT: SJMP MAIN ORG 0BH LJMP PTF0 ORG 40H MAIN: FLAG EQU 20H ;主程序 KD BIT 0 KIN BIT 1 KP BIT 2 KBUF EQU 37H DIRBUF EQU 31H DIRBFP EQU 30H TF0CNT EQU 38H MOV SP,#0FEH MOV R0,#DIRBUF CLR A MLP0: MOV @R0,A INC RO CJNE R0,#33H,MLP0 MOV TH0,#0FCH MOV TL0,#018H MOV TMOD,#1 MOV DIRBFP,#DIRBUF MOV TF0CNT,#0 LCALL INI8155 SETB TR0 SETB ET0 SETB EA HERE: SJMP HERE PTF0: MOV TH0,#0FCH ;T0中断程序 MOV TL0,#18H PUSH PSW PUSH ACC PUSH DPH PUSH DPL MOV C,P2.0 MOV F0,C SETB RS0 INC TF0CNT MOV A,TF0CNT CJNE A,#10,PTF0_3 MOV TF0CNT,#0 LCALL KEYSTAT JC PTF0_2 JB KD,PTF0_1 SETB KD SJMP PTF0_3 PTF0_1: JB KIN,PTF0_3 LCALL KEYI JC PTF0_2 MOV KBUF,A SETB KIN SJMP PTF0_3 PTF0_2: MOV FLAG,#0 PTF0_3: LCALL DIRBIT MOV C,F0 MOV P2.0,C POP DPL POP DPH POP ACC POP PSW RETI INI8155: SETB P2.0 MOV R0,#4 MOV A,#16H MOVX @R0,A INC R0 MOV A,#40H MOVX @R0,A MOV R0,#0 MOV A,#0C3H MOVX @R0,A RET KEYSTRT: SETB P2.0 ;键盘状态判别子程序 MOV R1,#1 CLR A MOVX @R1,A MOV R1,#3 MOVX A,@R1 ANL A,#0FH CJNE A,#0FH,KEYS_Y SETB C RET KEYS_Y: CLR C RET KEYI: SETB P2.0 ;读闭合键键号子程序 MOV R2,#0FEH MOV R4,#0 KEYI_0: MOV R1,#1 MOV A,R2 MOVX @R1,A MOV R1,#3 MOVX A,@R1 JB ACC.0,KEYI_1 MOV A,#0 SJMP KEYI_P KEYI_1: JB ACC.1,KEYI_2 MOV A,#4 SJMP KEYI_P KEYI_2: JB ACC.2,KEYI_3 MOV A,#8 SJMP KEYI_P KEYI_3: JB ACC.3,KEYI_NEXT MOV A,#12 KEYI_P: ADD A,R4 CLR C RET KEYI_NEXT: CJNE R4,#3,KEYI_GOON SETB C RET KEYI_GOON: INC R4 MOV A,R2 RL A MOV R2,A SJMP KEYI_0 DIRBIT: SETB P2.0 ;1位显示程序 MOV R0,DIRBFP MOV R1,#1 MOV A,R0 CLR C SUBB A,#DIRBUF MOV DPTR,#BITTAB MOVC A,@A+DPTR MOVX @R1,A INC R1 MOV A,@R0 MOV DPTR,#DSE MOVC A,@A+DPTR MOVX @R1,A MOV A,DIRBFP INC DIRBFP CJNE A, #DIRBUF+1, DIRBIT_1 DIRBIT_1: JC DIRBIT_R MOV DIRBFP,#DIRBUF DIRBIT_R: RET BITTAB: DB 1,2 DSE: DB 3FH,06H,5BH,4FH,66H DSEG1: DB 6DH,7DH,07H,7FH,6FH
|
|