有没有大神帮我看一下这个8位抢答器汇编语言的错误原因??一堆的错误,头都麻了,万分感谢

2024-11-18 14:29:28
推荐回答(2个)
回答1:

ORG 0000H;
LJMP MAIN;
ORG 0030H;
MOV P1, #0FFH;P1端口初始化
MOV P3, #02H;
MAIN:
JNB P1.0 ,L0;查找哪一位按了抢答器
JNB P1.1 ,L1;
JNB P1.2 ,L2;
JNB P1.3 ,L3;
JNB P1.4 ,L4;
JNB P1.5 ,L5;
JNB P1.6 ,L6;
JNB P1.7 ,L7;

CLR A;A清零
MOV DPTR, #00H;DPTR清零
L0:
MOV A,#01H;
MOVC A,@A+DPTR;将01H单元中的内容赋给A
MOV P2,A ;把A送给P2.0端口,使数码管显示1,以下以此类推
LCALL DELAY;
L1:
MOV A,#02H;
MOVC A,@A+DPTR;
MOV P2, A;
LCALL DELAY;
L2:MOV A, #03H;
MOVC A, @A+DPTR;
MOV P2, A;
LCALL DELAY;
L3:MOV A, #04H;
MOVC A, @A+DPTR;
MOV P2, A;
LCALL DELAY;
L4:MOV A, #05H;
MOVC A, @A+DPTR;
MOV P2, A;
LCALL DELAY;
L5:MOV A, #06H ;
MOVC A, @A+DPTR;
MOV P2, A ;
LCALL DELAY;
L6:MOV A, #07H;
MOVC A, @A+DPTR ;
MOV P2, A ;
LCALL DELAY;
L7:MOV A, #08H ;
MOVC A, @A+DPTR;
MOV P2, A;
LCALL DELAY ;

MOV 01H, #06H ; 将共阴数码管1~8的十六进制存放在01H~08H的单元里面
MOV 02H, #5BH ;
MOV 03H, #4FH ;
MOV 04H, #66H ;
MOV 05H, #6DH ;
MOV 06H, #7DH ;
MOV 07H, #07H ;
MOV 08H, #7FH ;

DELAY:
MOV R3, #250; 延迟函数
D2:MOV R4, #250;
D1:NOP ;
DJNZ R4, D1;
DJNZ R5, D2 ;
RET
END

回答2:

ORG OO0OH
--“;零”、“欧”,都分不清楚。
打字水平太洼,编程,就太难了。