在用單片機IO口模擬總線(xiàn)時(shí)序時(shí)老是碰到問(wèn)題,自己總結了一下大多數是因為我們的延時(shí)不準確造成的,所以自己調了兩個(gè)延時(shí)函數,我板子上用的是AT Mega128的單片機和16MHz的晶振,用示波器看了這兩個(gè)函數產(chǎn)生的波形還挺準確的,希望大家能用得上 ^_^
本文引用地址:http://dyxdggzs.com/article/201611/321603.htm//16MHz晶振時(shí)間范圍: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晶振時(shí)間范圍:1-65535ms
void Delay_Ms(unsigned int t)
{
for(;t>0;t--)
Delay_us(1100);
}
評論