延時函數(shù)delay怎么算 請問在單片機C語言編程中,用delay延遲的話,1秒程序是什么?單片機晶振為12MHZ?
請問在單片機C語言編程中,用delay延遲的話,1秒程序是什么?單片機晶振為12MHZ?在keil simulation中,在配置中將晶體振蕩器設(shè)置為12Mhz,然后在調(diào)用延遲函數(shù)的地方設(shè)置斷點,開始
請問在單片機C語言編程中,用delay延遲的話,1秒程序是什么?單片機晶振為12MHZ?
在keil simulation中,在配置中將晶體振蕩器設(shè)置為12Mhz,然后在調(diào)用延遲函數(shù)的地方設(shè)置斷點,開始調(diào)試程序,并運行到斷點。注意程序左側(cè)有一個窗口記錄當前寄存器和一些狀態(tài),其中有一個變量記錄當前運行時間,記錄當前時間T1,然后按F10(不進入子函數(shù))調(diào)試,再記錄當前時間T2,則延時=T2-T1。
再試試a,大約1秒。
我通常這樣做。
如果您想了解原理并自行計算,只需查看延遲的匯編代碼段并自行計算即可。
誰能幫我編一個單片機的延時程序,C語言的,大約一秒鐘的?
你的晶體振蕩器是什么?
如果延遲時間為4S,則a=0x04為1秒。
void delay(void)
{
unsigned char a,b,c
for(a=0x04 a> 0 a--)
{
for(b=0xef b> 0 b--)
for(c=0xef c> 0 c--)
}}
例如,端口P1的四個燈的定義為intled1=P1^0intled2=P1^1intled3=P1^2intled4=P1^3led1=0開啟延遲(1秒)延時函數(shù)LED1=1關(guān)斷延時(1秒)延時函數(shù)LED2=0關(guān)斷延時(0.5秒)延時函數(shù)LED2=1關(guān)斷延時(0.5秒)延時函數(shù)LED3=0關(guān)斷延時(0.2秒)延時函數(shù)LED3=1關(guān)斷延時(0.2秒)延時函數(shù)您還可以使用P1=0xFE;delay()delay()延時函數(shù)時間函數(shù)P1=0 XFF等