注册 登录
编程论坛 单片机编程

流水灯,采用定时器延时的

牛牛超人 发布于 2010-11-16 11:08, 2314 次点击
           ORG 0000H
       LJMP MAIN
       ORG 000BH
       LJMP DVT0
       ORG 0100H
MAIN:      MOV TMOD,#01H
           MOV TH0,#3CH
       MOV TL0,#0B0H
       MOV R0,#20H      

       MOV A,#0FEH
       MOV P1,A
       SETB ET0
       SETB EA
       SETB TR0
       SJMP $
DVT0:      RL A
           MOV P1,A

       RETI
       END
看看这程序都吗?
7 回复
#2
bianlin2010-12-03 00:23
不是很懂汇编的,不过我会C语言的
#3
roar2010-12-04 18:13
汇编语言不懂,写C的上来,
#4
huaziforever2010-12-25 13:03
延时时间由你的中断定时器timer决定,如果你的流水灯是低电平驱动的话, 效果应该是:p1.0上的Led On+ delay + p1.1Led On (P1.0不灭)+。。。。。。。。。
#5
谨信2011-01-01 09:33
在你进中断后没有进行现场保护,也没有进行赋初值,单片机定时器只能达到最大65536US延时,是见不到流水灯效果的,要增加延时到0.1MS以上才能达到.
#6
晴娣2011-01-03 18:15
看不懂汇编 还是喜欢玩C  
#7
C帅2011-01-08 00:15
还是C的方便的说
#8
chuanzexiu2011-04-07 16:36
8个流水灯:P1(输出),T0定时1s(100ms,10次),A(数据处理)
ORG 0000H
SJMP START
ORG 000BH
SJMP T0ZD     ;转T0中断子程序
START: CLR A
MOV R0,#0AH
SETB EA
SETB ET0
MOV TMOD,#01H
MOV TL0,#0B0H
MOV TH0,#3CH
SETB TR0
XS:MOV P1,A
SJMP XS
T0ZD:CLR TR0
CLR ET0
MOV TL0,#0B0H
MOV TH0,#3CH
DJNZ R0,NEXT
INC A
MOV R0,#0AH
NEXT:SETB TR0
RET
END

[ 本帖最后由 chuanzexiu 于 2011-4-7 16:57 编辑 ]
1