打印

请教一下高手们关于延时程序的算法

[复制链接]
1837|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
善解人意|  楼主 | 2009-7-27 09:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是该程序:
#include <reg52.h>
sbit k1=P2^3;
sbit L1=P1^0;
void delay (unsigned int ms) //延时函数
{
 unsigned char k;
  while(ms--)
  {
    for(k=247;k>0;k--);
  }
}       
void main (void) //主函数
 {
  while (1)
   { 
   if ( k1==0 )
      {
      L1=0;
      delay(8000);
      }
      else
      {
      L1=1;
      }
    }
 }
我只是刚学一个月,望高手们指教.

相关帖子

沙发
s46410864| | 2009-7-27 09:28 | 只看该作者

这个延时不是MS级的

如果用12M晶振,延时大约2秒...

使用特权

评论回复
板凳
5880527| | 2009-7-27 09:30 | 只看该作者

一开始就不要学这样延时

这种延时会害死人的

使用特权

评论回复
地板
善解人意|  楼主 | 2009-7-27 09:45 | 只看该作者

请教一下高手们关于延时程序的算法

是不是这种延时方法占用CPU资源太大,有没有其它延时方法

使用特权

评论回复
5
s46410864| | 2009-7-27 09:49 | 只看该作者

是地..

这个延时方法占用CPU来延时,另一种方法就是用定时计数器来做,这个延时很环保哦

使用特权

评论回复
6
善解人意|  楼主 | 2009-7-27 10:20 | 只看该作者

请教一下高手们关于延时程序的算法

谢谢楼上的,我要好好看一下

使用特权

评论回复
7
scan| | 2009-7-27 11:55 | 只看该作者

5楼说得漂亮

节能环保,这个词很专业。

使用特权

评论回复
8
程序匠人| | 2009-7-27 12:12 | 只看该作者

在定时中断中传递标志位

在后台程序中判断标志位。完事后别忘了清除标志位。

就这么简单。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

324

帖子

0

粉丝