【022】定时器和软计数器查询方式实现1个LED隔1s闪一次2007-05-02 11:15:00
【评论】
【打印】
【字体:大 中 小】
本文链接:http://blog.pfan.cn/wentao/25457.html
org 0000h
ajmp start
start: clr p1.0
mov 30h,#0x00
mov tmod,#00000001b
mov th0,#0x3c
mov tl0,#0xb0
setb ea
setb et0
setb tr0
check: jnb tf0, $
inc 30h
mov a,30h
cjne a,#10,next
cpl p1.0
mov 30h,#0
next: mov th0,#0x3c
mov tl0,#0xb0
clr tf0
jmp check
end
用jbc指令则不需软件清零
org 0000h
ajmp start
start: clr p1.0
mov 30h,#0x00
mov tmod,#00000001b
mov th0,#0x3c
mov tl0,#0xb0
setb ea
setb et0
setb tr0
check: jbc tf0, goon
ajmp check
goon: inc 30h
mov a,30h
cjne a,#10,next
cpl p1.0
mov 30h,#0
next: mov th0,#0x3c
mov tl0,#0xb0
jmp check
end
#include <reg51.h>
unsigned char count = 0;
sbit P10 = P1^0;
main()
{
P10 = 0;
TMOD = 0x01;
EA = 1;
ET0 = 1;
TR0 = 1;
while(1)
{
TH0 = 0x3c;
TL0 = 0xb0;
while(!TF0);
count++;
if(count == 10)
{
P10 = !P10;
count = 0;
}
TF0 = 0;
}
}
阅读(3678) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论