單片機延時函數(shù)delay的實現(xiàn)可以通過內(nèi)部定時器或外部時鐘來實現(xiàn),一般可以通過for循環(huán)或while循環(huán)的方式來實現(xiàn)。

成都創(chuàng)新互聯(lián)公司長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為琿春企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都做網(wǎng)站,琿春網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
需要延時的時候,在程序中帶參數(shù)調(diào)用DelayMs,參數(shù)傳遞給DelayMs的形式參數(shù)“unsigned char t”,t就有了數(shù)值。“while(t--);”執(zhí)行t個循環(huán)后退出,t個循環(huán)用了若干時間。
計算延時需要的機器周期。比如采用12M晶振,CPU采用通用8051,那么一個機器周期為1US,50毫秒為50*1000=50000US,需要的機器周期=50000/1=50000。
可以有很多辦法,一是調(diào)整參數(shù),使其延時5分鐘或6分鐘,循環(huán)24次或20次。二是將延時函數(shù)的形參改為長整型(32位)延時時間擴大65536倍。
)。普通延時法這個比較簡單,讓單片機做一些無關(guān)緊要的工作來打發(fā)時間,經(jīng)常用循環(huán)來實現(xiàn),不過要做的比較精準還是要下一番功夫。下面的代碼是在網(wǎng)上搜到的,經(jīng)測試延時比較精準。
c語言定義延時函數(shù)主要通過無意義指令的執(zhí)行來達到延時的目的。下面給出一個經(jīng)典的延時函數(shù)。
首先,在電腦中打開keil軟件,創(chuàng)建好工程,然后添加c文件,如下圖所示。然后添加c文件,接下來輸入代碼,先輸入一個頭文件命令。然后,進行宏定義,代碼如圖所示。然后聲明P1口,如下圖所示。
C程序中可使用不同類型的變量來進行延時設(shè)計。經(jīng)實驗測試,使用unsigned char類型具有比unsigned int更優(yōu)化的代碼,在使用時應(yīng)該使用unsigned char作為延時變量。
比如12M晶振for(j=0;j120;j++);大概延時1毫秒,10592M晶振那么for(j=0;j110;j++);延時1毫秒,你這里的for(j=0;j100;j++);延時1毫秒的話,晶振應(yīng)該是10M,不太常見喲,特別是在單片機方面。
可以有很多辦法,一是調(diào)整參數(shù),使其延時5分鐘或6分鐘,循環(huán)24次或20次。二是將延時函數(shù)的形參改為長整型(32位)延時時間擴大65536倍。
在單片機的C語言編程中,可以使用循環(huán)結(jié)構(gòu)來實現(xiàn)延時操作。具體而言,可以使用一個for循環(huán)來實現(xiàn)一段時間的延時。
delay函數(shù)是一般自己定義的一個延時函數(shù)。c語言定義延時函數(shù)主要通過無意義指令的執(zhí)行來達到延時的目的。下面給出一個經(jīng)典的延時函數(shù)。
比如12M晶振for(j=0;j120;j++);大概延時1毫秒,10592M晶振那么for(j=0;j110;j++);延時1毫秒,你這里的for(j=0;j100;j++);延時1毫秒的話,晶振應(yīng)該是10M,不太常見喲,特別是在單片機方面。
分享標題:單片機c語言中延時函數(shù) 單片機c語言延時程序
鏈接URL:http://chinadenli.net/article38/deecpsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、動態(tài)網(wǎng)站、網(wǎng)站改版、、建站公司、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)