设单片机fosc=12MHz,利用T0方式1产生10ms定时,在P1.0引脚上输出周期为2ms的方波。

帮我看看这个能否实现上面的功能。谢谢!!
ORG 0000H
MOV TH0,#63H
MOV TL0,#18H
SETB TR0
SETB C
S0: MOV P1.0,C
ACALL DELAY1
CPL C
SJMP S0
DELAY1: MOV R1,#500
DJNZ R1,DELAY1
RET
S1: JBC TF0,S2
SJMP S1
S2: MOV TH0,#63H
MOV TL0,#18H
DJNZ R2,S1
RET
END

1、你的思路和程序都有问题
2、如果你想在P1.0引脚上输出周期为2ms的方波,T0定时中断应该定在1ms,然后再中断程序中对P1.0取反,每个1ms对P1.0取反一次,就得出周期为2ms的方波。
3、如果是定时10ms,计数器初值应该是D8F0H,而不是6318H
MOV TH0,#D8H
MOV TL0,#F0H

4、MOV R1,#500指令是非法的,R1是8位寄存器,最大赋值为255。
温馨提示:答案为网友推荐,仅供参考