注册 登录
编程论坛 汇编论坛

[求助]这两个延时程序是怎样写的?

argus1982 发布于 2007-06-14 09:18, 1845 次点击
star:
setb p1.7
acall delay
clr p1.7
acall delay
ljmp star
delay:
mov r1,#50
del0:
mov r2,#50
del1:
mov r3,#20
djnz r3,$
djnz r2,del1
djnz r1,del0
ret
end


我这个程序是控制一个灯亮和灭的,但是我的这个灯亮的时间和灭的时间一样,我不想让它一样,那就要用两个延时程序来控制,请问这两个延时程序是怎样写的!
10 回复
#2
I喜欢c2007-06-15 23:11
改下参数值不就行了吗?
#3
argus19822007-06-21 10:38
去改参数值不是全部改了吗?,灯亮和灯灭还不是一个时间!
#4
菜鸟上路2007-06-21 11:14
可以用定时器来做
#5
菜鸟上路2007-06-21 11:16
或者可以
star:
setb p1.7
acall delay
clr p1.7
acall delay1
ljmp star
delay:
mov r1,#50
del0:
mov r2,#50
del1:
mov r3,#20
djnz r3,$
djnz r2,del1
djnz r1,del0
ret

delay1:
mov r1,#100
del01:
mov r2,#50
del11:
mov r3,#20
djnz r3,$
djnz r2,del1
djnz r1,del0
ret

end
#6
manson19812007-06-22 11:37
[分享]回复:(argus1982)[求助]这两个延时程序是怎样写的?...
star:
setb p1.7
mov r1,#50
acall delay
clr p1.7
mov r1,#25
acall delay
ljmp star
delay:
; mov r1,#50
del0:
mov r2,#50
del1:
mov r3,#20
djnz r3,$
djnz r2,del1
djnz r1,del0
ret
end
#7
herbert_19872007-06-23 14:20
可以直接用多次循环实现呀,如:
mov cx, 2000
rep1:
loop rep1;


mov cx, 3000
rep2:
loop rep2;
#8
emyhello2007-06-25 10:14
分别写两个延时子程序就OK了.
#9
argus19822007-06-26 17:49
哦,谢谢你们
#10
argus19822007-10-29 20:30

我要是同时P1.6;P1.7同时输出高电平或低电平怎么写?

#11
菜鸟上路2007-10-29 22:45
看到原来发的帖子又想起了点
SETB P1.6
SETB P1.7
1