显示8,是因为你程序跑飞了,加上延时,自然是延时后跑飞,所以显示8。静态显示不需特殊的延时。想要一直显示就写个死循环就程序停住就可以了,RET是子程序调用的返回,你这里不用加。
静态显示不需要延时,动态显示一定要有延时。
程序修改如下:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
CLR P2.1
MOV P0,#06H
SJMP $
END
程序结构错误,看看这个改过的仿真。
你的程序没有结束,程序会一直运行下去。应该加一条ajmp $。
那个延时程序是个子程序,应该用acall调用,直接进入子程序,ret不知道返回到哪里