这个单片机程序能用吗?

来源:百度知道 编辑:UC知道 时间:2024/06/01 10:57:33
KS:MOV A, #FEH; JLD:MOV P1, A; ACALL YS; RL A; SJMP JLD; YS:MOV R0,#30H; LOOP1:MOV R1,#64H; LOOP2:MOV R2,#64H; LOOP3:DJNZ R2,LOOP3; DJNZ R1,LOOP2; DJNZ R0,LOOP1; RET END P1口驱动流水灯,不知可不可用。

??这个程序编译能通过吗??
1. 你的头文件呢?请在文件头加上$MOD51
2. 开头在加上ORG 00H
3. MOV A, #FEH;写法不对。应该写成MOV A,#0FEH.十六进制数凡是以A,B,C,D,E,F开头的话,前面一定要加“0”。否则编译器会报错的。如果要注释后面要加上分号";"注意一定要在英文格式下加,不能用中文输入的“;”“,”也是如此。
其他没有什么了,你先试试,看看硬件接得对不对,要是对的话应该能工作的。不行再说。
照下面的程序试试:(这个程序我在assemble上编译通过了)。
$MOD51
ORG 00H
AJMP KS
ORG 30H
KS:
MOV SP,#50H;初始化堆栈
MOV A,#0FEH
JLD:
MOV P1,A;
ACALL YS;
RL A;
SJMP JLD;
YS:
MOV R0,#30H;
LOOP1:
MOV R1,#64H;
LOOP2:
MOV R2,#64H;
LOOP3:
DJNZ R2,LOOP3;
DJNZ R1,LOOP2;
DJNZ R0,LOOP1;
RET
END

整理一下格式,如下所示:
KS: