qiang2751290
级别: 家园常客
精华主题: 0
发帖数量: 482 个
工控威望: 892 点
下载积分: 463 分
在线时间: 373(小时)
注册时间: 2012-06-03
最后登录: 2024-05-27
查看qiang2751290的 主题 / 回贴
楼主  发表于: 2014-06-02 14:45
51单片机如何长时间延时?

单片机延时一个小时???
supermax
级别: 工控侠客
精华主题: 0
发帖数量: 590 个
工控威望: 2540 点
下载积分: 3642 分
在线时间: 375(小时)
注册时间: 2011-03-20
最后登录: 2021-03-26
查看supermax的 主题 / 回贴
1楼  发表于: 2014-07-29 12:05
起一个变量,与响应时间对照
supermax
级别: 工控侠客
精华主题: 0
发帖数量: 590 个
工控威望: 2540 点
下载积分: 3642 分
在线时间: 375(小时)
注册时间: 2011-03-20
最后登录: 2021-03-26
查看supermax的 主题 / 回贴
2楼  发表于: 2014-07-29 12:07
#pragma interrupt_handler timer0_ovf_isr:10  //TIMER0 定时2ms中断.
void timer0_ovf_isr(void)
{
TCNT0 = 0xD9; //reload counter value
timer2ms++;
    if(timer2ms >= 5)
    {
     timer2ms = 0;
     timer10ms ++;
     systimer10ms ++;
      if(systimer10ms >= 22)  //内部1M晶振
       {
       systimer10ms = 0;
       timer1s ++;
}
}
网上找到的
supermax
级别: 工控侠客
精华主题: 0
发帖数量: 590 个
工控威望: 2540 点
下载积分: 3642 分
在线时间: 375(小时)
注册时间: 2011-03-20
最后登录: 2021-03-26
查看supermax的 主题 / 回贴
3楼  发表于: 2014-07-29 12:55
     if(timer2ms >= 5)和if(systimer10ms >= 22)   改大就应该能延长。