:victory: 谢谢各位了,问题解决了
原因出在没正确理解DJNZ这条指令
INT: DJNZ R7,L1
MOV R7,#8
L1: MOV A,R7
当R7=1,执行DJNZ时,它就顺序执行下一条了,即重新赋值8
然后查表,表的首地址加8后超出了原来表的范围,而表中的第1个数据项却没有得到输出,
所以出现二极管全亮现象
解决方案:将表的第一项数据加到表最后,总共表中有9个数据,而有效的只有后8项,因为第一项永远都不会被取出执行。
tmpdate: DB 01H,02H,04H,08H,10H,20H,40H,80H,01H
问题解决了,好高兴啊:D