單片機(jī)的C語言關(guān)于延時函數(shù)主要有兩種
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:申請域名、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、樂平網(wǎng)站維護(hù)、網(wǎng)站推廣。
一種是用for循環(huán),通過單片機(jī)執(zhí)行空指令達(dá)到延時的目的
如:
for(i=0;i100;i++)
{
;
}
這個簡單的語句會執(zhí)行100次空指令
每一次指令的時間可以大概確定
因此這個是最簡單的延時函數(shù)
第二種是通過定時器的方式來實(shí)現(xiàn)
定時器是通過對單片機(jī)的晶振進(jìn)行計數(shù)
然后在定時器中斷服務(wù)函數(shù)里面實(shí)現(xiàn)定時時間的計算及設(shè)置
51單片機(jī)的定時器0中斷服務(wù)函數(shù)為
void
time0()
interrupt
1
{
...
}
1、delay函數(shù)是一般自己定義的一個延時函數(shù)。
2、C語言定義延時函數(shù)主要通過無意義指令的執(zhí)行來達(dá)到延時的目的。下面給出一個經(jīng)典的延時函數(shù)。
//?定義一個延時xms毫秒的延時函數(shù)
void?delay(unsigned?int?xms)??//?xms代表需要延時的毫秒數(shù)
{
unsigned?int?x,y;
for(x=xms;x0;x--)
for(y=110;y0;y--);
}
delay函數(shù)是一般自己定義的一個延時函數(shù)。
c語言定義延時函數(shù)主要通過無意義指令的執(zhí)行來達(dá)到延時的目的。下面給出一個經(jīng)典的延時函數(shù)。
// 定義一個延時xms毫秒的延時函數(shù)
void delay(unsigned int xms) // xms代表需要延時的毫秒數(shù)
{
unsigned int x,y;
for(x=xms;x0;x--)
for(y=110;y0;y--);
}