您的位置 首页 方案

51单片机12M晶振的延时程序

这是本人慢慢调出来的参数,有误差是必须的,除非用汇编才会精确,后续我会更新修改,尽量精确。调试环境:KeilV4.02源代码如下:#includ…

这是自己渐渐调出来的参数,有差错是有必要的,除非用汇编才会准确,后续我会更新修正,尽量准确。

调试环境:Keil V4.02

源代码如下:

#include
#include

//–延时0.2*n(ms)函数,若需延时1ms,则*5。合适延时50ms以下或左右的–//
void DelayMSx02(unsigned char n)
{
unsigned char x, y;
for(x=n; x>0; x–)
for(y=96; y>0; y–); //for循环中的”–“方位前后都可以
}

//–延时t*2+5(us)函数 –//
void DelayUSx2a5(unsigned char t)
{
while(–t);//while循环中要注意”–“的方位,放前面比放后边时刻要短许多
}

//–大约延时1mS–//
void DelayMS(unsigned char t)
{
while(t–)
{
DelayUSx2a5(234);
DelayUSx2a5(256);
}
}

int main()
{
DelayMS(1); //延时1ms
DelayMSx02(5*1); //延时1ms
DelayUSx2a5(1); //延时7us
_nop_(); //延时1us

return 0;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/266990.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部