void delay(unsigned int time) // time代表需要延時的毫秒數(shù)
{
unsigned int j=0;
for(;time>0;time--)
for(j=0;j<125;j++);
}
解析:
假設(shè)單片機的工作頻率為125kHz,那么每個循環(huán)的時間為1/125000秒,即0.000008秒。因此,為了實現(xiàn)1ms的延時效果,需要執(zhí)行125次循環(huán),即125 * 0.000008秒。將0.001秒轉(zhuǎn)換為毫秒,得到1ms,因此125 * 0.000008秒=0.001秒,即每個循環(huán)需要執(zhí)行0.000008秒,需要執(zhí)行125次循環(huán)才能實現(xiàn)1ms的延時效果。
?
下面講解如何使用isp自動生成延時程序
軟件 STC 官網(wǎng) >> 點擊跳轉(zhuǎn)
打開后選擇菜單上面的軟件延時計算器
可以生成C語言的,還可以生成匯編的
可以優(yōu)化成延時函數(shù)的:
#include <intrins.h>
void Delayms(unsigned int ms) //@11.0592MHz
{
unsigned char i, j;
while (ms--)
{
_nop_();
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
}
}
這樣可以調(diào)用了文章來源:http://www.zghlxwxcb.cn/news/detail-735742.html
挺方便的文章來源地址http://www.zghlxwxcb.cn/news/detail-735742.html
到了這里,關(guān)于單片機c51延時函數(shù)解析(isp自動生成)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!