大众信息网

c51单片机1.asm(2): error A45: UNDEFINED SYMBOL (PASS-2) 错误

关注:240  答案:3  手机版
解决时间 2021-02-25 22:19
ORG 00H LJMP MAIN ORG 0BH LJMP TIMER ORG 30H MIAN: MOV TMOD,#01H MOV TH,#3CH MOV TL,#0B0H MOV R0,#04

assembling 1.asm...
1.asm(2): error A45: UNDEFINED SYMBOL (PASS-2)
1.asm(7): error A45: UNDEFINED SYMBOL (PASS-2)
1.asm(8): error A45: UNDEFINED SYMBOL (PASS-2)
1.asm(16): error A45: UNDEFINED SYMBOL (PASS-2)
1.asm(17): error A45: UNDEFINED SYMBOL (PASS-2)
1.asm - 5 Error(s), 0 Warning(s).

ORG 00H
LJMP MAIN
ORG 0BH
LJMP TIMER
ORG 30H
MIAN: MOV TMOD,#01H
MOV TH,#3CH
MOV TL,#0B0H
MOV R0,#04H
SETB P1.7
SETB EA
SETB ET0
SETB TR0
SJMP $

TIMER:MOV TH,#3CH
MOV TL,#0B0H
DJNZ R0,RE
MOV R0,#04H
CPL P1.7
RE: RETI
END
最佳答案
必须指定是用的T0还是T1,即TH0(1)TL0(1),另外检查一下你的0有没有敲错键盘敲成O的!
全部回答
end 放最后, 4行 因为 timer 在end后面,所以程序认不到 9行 mov tl0,#b0h ;立即数第一个是字母的要加0 #0b0h 11行也是一样 加0 #0feh 你后面的timer里也是一样都要改过来。 还在程序里要有一个死循环,不是写个end就不执行了的。 end是不编译,不是不执行。 setb ea setb et0 setb tr0 loop: ajmp loop ;不想程序走了,就死循环在原地
LJMP MAIN --记住,这里是:MAIN ORG 0BH LJMP TIMER ORG 30H MIAN: --这里是? MOV TMOD,#01H MOV TH,#3CH --是TH0 MOV TL,#0B0H --和TL0,后面还有两处。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!