×
单片机 > 单片机程序设计 > 详情

C51 延时程序两种方案

发布时间:2020-06-04 发布时间:
|

在keil2中修改晶振为22.1184,然后可以测试得到如下两种毫秒延时和秒延时。


方法一:


/*实现功能:在22.1184MHZ下的毫秒延时*/


void dmsec (u16 count)

{

unsigned int i;

while (count)

{

     i =230;

while (i>0) i--;

count--;

    }

}


方法二:


/*实现功能:在22.1184MHZ下的大约1秒延时*/


 for(i=0;i<1000;i++)

{

    for(j=0;j<230;j++)

    {

    ;


   }


}


方法三:


/*实现功能:在22.1184MHZ下的大约1秒延时,stc12c5a60s2 1T 延时大约1ms*/


void delay_1ms(u16 count)

{

    u16 i,j;

for(i=0;i<8*count;i++)

{

   for(j=0;j<225;j++){;}           

}

}


总结:在写代码时,可以在方法二的for循环下写,可以方便的调整在多少时间(修改i和j的值)里面没有接收到数据的话,就退出。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机的抗干扰措施有哪些