循环点亮枣敬LED灯唯卜,也就是流水灯效果的控制,可以用定时器来控制,这样做相对代码量较少而时指岩穗间比较精确,外部中断0接以按键,可以控制动态效果的启停。程序如下:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP EXT0 ;外部中断0,控制流水灯启停
ORG 000BH
LJMP T0ISR ;定时0控制流水灯循环点亮
ORG 0030H
MAIN:
MOV TMOD,#01H ;设置定时器0工作模式
MOV TH0,#HIGH(65536-60000) ;60毫秒定时
MOV TL0,#LOW(65536-60000)
SETB ET0
SETB EA
MOV A,#0FEH ;LED等初始化
MOV P0,A
SJMP $
EXT0:
CPL TR0
RETI
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-60000)
MOV TL0,#LOW(65536-60000)
SETB ET0
RL A
MOV P0,A ;循环点亮LED灯
RETI
END
你的程序太乱了,根本看不下去,给你说一下思路,你将中断设置为电平触发方式,当有中断的时候将当前A里边的IO口显示放到中断程序里边输出到LED显示上,当按键松开时候就继续走流水灯了,你这宴租个应用不太符合我们常规的中断应用,我们中断是晌顷兆处理一件事情,你的中断乎空需要多次响应中断。
这个只要给P1口送入FE或者01看你外部电宽贺宴路的LED接法
然后只要用左移或者右移命令就可以循环
中断的时候把那个数据送慎银个寄存器R
重新开始的时候只要调用寄存器的值就ok
具体实拍早现自己去做吧
我们用C语言的