两个按键。按键1,8个灯正方向闪,一次亮一颗,每个灯之间0.5秒延迟。按键2,反方向闪,0.5秒延迟。利用中端完成。要求是一按按键不管哪个灯亮立刻反方向亮。谢谢大神!
是利用中断实现,外部中断也好,定时器计数器中断也好,只要中断就可以
大神,你这个程序有很多都是我现在上课没讲到的,所以谢谢你的解答,但是还不是我需要的,我需要的是很简单的语句组成的。就是很初级很初级的
追答用汇编吧:
ORG 0000H
LJMP MAIN
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB EA
SETB TR0
SETB ET0
MOV 30H,#0FEH
MOV 31H,#0
MOV 32H,#0
SJMP $
T0ISR:
CLR TR0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
INC 31H
MOV A,31H
CJNE A,#10,T0END
MOV 31H,#0
MOV P1,30H
JB KEY1,T0I1
MOV A,30H
RL A
MOV 30H,A
RETI
T0I1:
JB KEY2,T0END
MOV A,30H
RR A
MOV 30H,A
T0END:
RETI
END
大神,真是让你辛苦了,我们真的只学很基本的51单片机的C语言就不学了,汇编根本没碰过,一窍不通啊。真的让你辛苦了,看你打这么多字,还要费脑子,我还没分给你,心里特过意不去
追答那没办法了,C的程序那么简单,读起来应该很容易懂的。
本回答被提问者和网友采纳