1、首先,在電腦中打開keil軟件,創(chuàng)建好工程,然后添加c文件,如下圖所示。然后添加c文件,接下來輸入代碼,先輸入一個頭文件命令。然后,進行宏定義,代碼如圖所示。然后聲明P1口,如下圖所示。

主要從事網(wǎng)頁設計、PC網(wǎng)站建設(電腦版網(wǎng)站建設)、wap網(wǎng)站建設(手機版網(wǎng)站建設)、成都響應式網(wǎng)站建設公司、程序開發(fā)、微網(wǎng)站、重慶小程序開發(fā)公司等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)積累了豐富的網(wǎng)站制作、做網(wǎng)站、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設計、營銷、管理等多方位專業(yè)化運作于一體,具備承接不同規(guī)模與類型的建設項目的能力。
2、比如12M晶振for(j=0;j120;j++);大概延時1毫秒,10592M晶振那么for(j=0;j110;j++);延時1毫秒,你這里的for(j=0;j100;j++);延時1毫秒的話,晶振應該是10M,不太常見喲,特別是在單片機方面。
3、C程序中可使用不同類型的變量來進行延時設計。經(jīng)實驗測試,使用unsigned char類型具有比unsigned int更優(yōu)化的代碼,在使用時應該使用unsigned char作為延時變量。
微秒延時函數(shù) void Delayus(unsigned int US){ unsigned i;US=US*5/4;//5/4是在8MHz晶振下,通過軟件仿真反復實驗得到的數(shù)值 for(i=0;iUS;i++);} // 以上函數(shù)式根據(jù)AVR單片機在8MHZ時鐘頻率下得出的結果。
可以用_nop_( )函數(shù)來實現(xiàn)微秒級的延時。_nop_(); // 直接當成一條語句使用,產(chǎn)生一條NOP指令NOP指令為單周期指令,可由晶振頻率算出延時時間,對于12M晶振,延時1uS。
在linux里用select可以達到延遲效果,阻塞和非阻塞都可以選擇,也可以創(chuàng)建一個線程用ulseep做延遲,時間到了就向目標線程發(fā)送信號或者使用變量來通知。
我們一直用的是usleep()函數(shù),這個函數(shù)用來延時再好不過了,usleep(10000) 就是延時10ms,在用戶層程序中非常實用的。
1、方式二:VC中使用sleep()函數(shù)實現(xiàn)延時,它的單位是ms,如延時2秒,用sleep(2000)。
2、C語言的延遲函數(shù)一般是利用無意義程序運行來控制時間從而達到延時的目的 舉個例子:for(i=0;ix;i++)for(j=0;j120;j++);這是延時x毫秒的for循環(huán)語句。值得注意的是記得最后的;一定得記得寫。
3、這個跟的系統(tǒng)頻率有關系。看看你的晶振是多少。另外還跟指令集有關系。精確的時間你可以反匯編一下看看有多少條指令,根據(jù)指令周期算算延時時間。
4、所以,雖然這個值可以精確計算,但大多數(shù)情況下,程序員是經(jīng)驗值。當然,如果你在匯編中編程,情況就不同了,因為每條指令使用一定數(shù)量的機器周期,你當然可以根據(jù)所有指令使用的總時間來計算特定延遲的總時間。
網(wǎng)頁題目:c語言簡單延時函數(shù) c語言簡單延時函數(shù)怎么寫
文章源于:http://chinadenli.net/article19/desddgh.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、網(wǎng)站制作、外貿(mào)網(wǎng)站建設、網(wǎng)站設計、域名注冊、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)