引用: 原帖由 tong7127 于 2009-5-5 15:06 发表
好像连定时器都没开吧
Loop1:jbc tf0,loop2;测试TF0是否为1,如果为1的则把它清0,并跳转到LOOP2.如果为0则顺序执行
Ljmp loop1;跳转LOOP1
Loop2:djnz r3,again,让R3减1,然后测试它是否为0,如果不为0则继续进行定时操作.
这个程序是使用软件查询定时溢出标志位.所以它不需要打开中断允许位.
这种使用方法有一个缺点就是:软件得一直在测试溢出标志位,浪费了CPU资源,因为在这个等待的过程中CPU无法去做其它的运算或者操作.如果使用中断方式的话,可以一边做其它的事,一在等待中断的到来.这样CPU的使用效率就会高一些.