算法是這樣的:這個用編譯軟件,如keil,編譯通過之后,進入軟件調試功能,就可以測出來是延時多少秒。具體我?guī)湍阏{試過了,如果單片機接12mhz晶振的話,這個是延時0.2秒的子程序。你調用一次delay();就延時0.2秒。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供圍場網(wǎng)站建設、圍場做網(wǎng)站、圍場網(wǎng)站設計、圍場網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、圍場企業(yè)網(wǎng)站模板建站服務,十余年圍場做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
比如前面那個箭頭指到你的調用函數(shù)delay(200);假設執(zhí)行到此部用時1110。
這得看你的CPU運行一條指令得多久,像單片機89C51一般一條1us。C語言是一門通用計算機編程語言,應用廣泛。
這個跟的系統(tǒng)頻率有關系。看看你的晶振是多少。另外還跟指令集有關系。精確的時間你可以反匯編一下看看有多少條指令,根據(jù)指令周期算算延時時間。
t = tc + k t0,tc是任何一次調用都具有的調用開銷。t0時k=1時去掉調用開銷tc的循環(huán)體執(zhí)行時間。給兩個不同的k得到兩個不同的t,就可以確定這兩個參數(shù) tc和t0。從而就可以根據(jù)謠言吃的時間和容易的計算出k的值。
就是用晶振頻率算cpu指令周期,再算Delay循環(huán)中有幾條代碼,需要多少個指令周期。除一下可以算個大概。具體你可以結合硬件資料來算。
這個是和你機器的運算速度有關的 你要計算出這個函數(shù)用了多少時間就要用時間函數(shù),我很久沒用了。
.比如前面那個箭頭指到你的調用函數(shù)delay(200);假設執(zhí)行到此部用時1110。
說明:延時msec*4毫秒所以,delay的延遲時間是和你的cpu時鐘周期相關的。
//end=time(null);在程序結束的時候再給另一個變量賦值,值等于當前的系統(tǒng)時間。
就是用晶振頻率算cpu指令周期,再算Delay循環(huán)中有幾條代碼,需要多少個指令周期。除一下可以算個大概。具體你可以結合硬件資料來算。
這個跟的系統(tǒng)頻率有關系。看看你的晶振是多少。另外還跟指令集有關系。精確的時間你可以反匯編一下看看有多少條指令,根據(jù)指令周期算算延時時間。
.比如前面那個箭頭指到你的調用函數(shù)delay(200);假設執(zhí)行到此部用時1110。
你可以通過keil仿真,多試幾次找出這個值。仿真可以看時間。還可以把程序下到板子上,比如運行1分鐘。通過多次試驗,也能找出這個值。
當前題目:c語言的延時函數(shù)怎么算的 c語言的延時函數(shù)怎么算的出來
網(wǎng)頁路徑:http://chinadenli.net/article38/dehdpsp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、網(wǎng)站營銷、網(wǎng)站維護、做網(wǎng)站、定制開發(fā)、品牌網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)