1、算法是這樣的:這個(gè)用編譯軟件,如keil,編譯通過之后,進(jìn)入軟件調(diào)試功能,就可以測(cè)出來是延時(shí)多少秒。具體我?guī)湍阏{(diào)試過了,如果單片機(jī)接12mhz晶振的話,這個(gè)是延時(shí)0.2秒的子程序。你調(diào)用一次delay();就延時(shí)0.2秒。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)象山免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
2、這個(gè)跟的系統(tǒng)頻率有關(guān)系。看看你的晶振是多少。另外還跟指令集有關(guān)系。精確的時(shí)間你可以反匯編一下看看有多少條指令,根據(jù)指令周期算算延時(shí)時(shí)間。
3、.比如前面那個(gè)箭頭指到你的調(diào)用函數(shù)delay(200);假設(shè)執(zhí)行到此部用時(shí)1110。
就是用晶振頻率算cpu指令周期,再算Delay循環(huán)中有幾條代碼,需要多少個(gè)指令周期。除一下可以算個(gè)大概。具體你可以結(jié)合硬件資料來算。
這個(gè)是和你機(jī)器的運(yùn)算速度有關(guān)的 你要計(jì)算出這個(gè)函數(shù)用了多少時(shí)間就要用時(shí)間函數(shù),我很久沒用了。
delay函數(shù)是一般自己定義的一個(gè)延時(shí)函數(shù)。C語言定義延時(shí)函數(shù)主要通過無意義指令的執(zhí)行來達(dá)到延時(shí)的目的。下面給出一個(gè)經(jīng)典的延時(shí)函數(shù)。
1、c語言定義延時(shí)函數(shù)主要通過無意義指令的執(zhí)行來達(dá)到延時(shí)的目的。下面給出一個(gè)經(jīng)典的延時(shí)函數(shù)。
2、比如12M晶振for(j=0;j120;j++);大概延時(shí)1毫秒,10592M晶振那么for(j=0;j110;j++);延時(shí)1毫秒,你這里的for(j=0;j100;j++);延時(shí)1毫秒的話,晶振應(yīng)該是10M,不太常見喲,特別是在單片機(jī)方面。
3、可以有很多辦法,一是調(diào)整參數(shù),使其延時(shí)5分鐘或6分鐘,循環(huán)24次或20次。二是將延時(shí)函數(shù)的形參改為長(zhǎng)整型(32位)延時(shí)時(shí)間擴(kuò)大65536倍。
4、關(guān)于大小的值:如果是在C語言中,該值不僅與水晶振動(dòng)、單片機(jī)本身的速度,但也與C的編譯器,所以,雖然這個(gè)值可以精確計(jì)算,但大多數(shù)情況下,程序員是經(jīng)驗(yàn)值。