来这逛的我想没有几个没有玩过流水灯的。。其实了,流水灯也有很多种玩法。。。
哈哈。。 说说今天,我怎么玩流水灯的。。。!!
功能要求:1令P2的8个LED每隔一秒左移一次 2 令定时器1在方式1下工作,每隔10000us中断一次,中断一百次也就是一秒 了。。 对。。我们用,定时中断法玩流水灯!!
初学者可不要小看 了他。。(呵呵,我也是调试了好久才弄出来的!) 通过这个弄让大家更加明白中断的工作过。
下面我贴出我写的汇编程序。
ORG 0000H
SJMP START
ORG 000BH
LJMP DS0
ORG 0030H
START:
SETB EA ;初始化IE,TMOD,SP,TCON
SETB ET0
MOV TMOD,#01H
MOV TH0,#0D8H
MOV TL0,#0F0H
CLR TF0
MOV SP,#30H
MOV R0,#100
SETB TR0
MOV A,#0FEH
MOV P2,A ;传输到P2口 ①
SJMP $ ;等待中断
DS0:
PUSH ACC ;这里是重点。
MOV TH0,#0D8H ;因为是以方式一所以要重新装载TH0,TL0
MOV TL0,#0F0H
DJNZ R0,LOOP ;看下面注释1
MOV A,P2 ;看下面注释2
RL A MOV P2,A ;②
MOV R0,#100
LOOP:
POP ACC
RETI
END
完整版:javascript:;