新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機12M晶振的延時程序

51單片機12M晶振的延時程序

作者: 時間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
這是本人慢慢調(diào)出來的參數(shù),有誤差是必須的,除非用匯編才會精確,后續(xù)我會更新修改,盡量精確。

調(diào)試環(huán)境:Keil V4.02

本文引用地址:http://butianyuan.cn/article/201611/315933.htm

源代碼如下:

#include
#include

//--延時0.2*n(ms)函數(shù),若需延時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循環(huán)中的"--"位置前后都可以
}

//--延時t*2+5(us)函數(shù) --//
void DelayUSx2a5(unsigned char t)
{
while(--t);//while循環(huán)中要注意"--"的位置,放前面比放后面時間要短很多
}

//--大概延時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;
}



關(guān)鍵詞: 51單片機12M晶振延時程

評論


技術(shù)專區(qū)

關(guān)閉