新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)微秒級和毫秒級延時函數(shù)

AVR單片機(jī)微秒級和毫秒級延時函數(shù)

作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
在用單片機(jī)IO口模擬總線時序時老是碰到問題,自己總結(jié)了一下大多數(shù)是因?yàn)槲覀兊难訒r不準(zhǔn)確造成的,所以自己調(diào)了兩個延時函數(shù),我板子上用的是AT Mega128的單片機(jī)和16MHz的晶振,用示波器看了這兩個函數(shù)產(chǎn)生的波形還挺準(zhǔn)確的,希望大家能用得上 ^_^

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

//16MHz晶振時間范圍:1-65535us

void Delay_us(unsigned int us)
{
unsigned int i;
i = us/2;
i--;
asm("nop"); asm("nop");
for(;i!=0;i--)
{
asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");
asm("nop");asm("nop");asm("nop");
}

}

//16MHz晶振時間范圍:1-65535ms

void Delay_Ms(unsigned int t)
{
for(;t>0;t--)
Delay_us(1100);
}



評論


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

關(guān)閉