在單片機(jī)的C語(yǔ)言編程中,可以使用循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)延時(shí)操作。具體而言,可以使用一個(gè)for循環(huán)來(lái)實(shí)現(xiàn)一段時(shí)間的延時(shí)。
創(chuàng)新互聯(lián)2013年開(kāi)創(chuàng)至今,先為光澤等服務(wù)建站,光澤等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為光澤企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
delay函數(shù)是一般自己定義的一個(gè)延時(shí)函數(shù)。c語(yǔ)言定義延時(shí)函數(shù)主要通過(guò)無(wú)意義指令的執(zhí)行來(lái)達(dá)到延時(shí)的目的。下面給出一個(gè)經(jīng)典的延時(shí)函數(shù)。
比如12M晶振for(j=0;j120;j++);大概延時(shí)1毫秒,10592M晶振那么for(j=0;j110;j++);延時(shí)1毫秒,你這里的for(j=0;j100;j++);延時(shí)1毫秒的話(huà),晶振應(yīng)該是10M,不太常見(jiàn)喲,特別是在單片機(jī)方面。
1、在C51中進(jìn)行精確的延時(shí)子程序設(shè)計(jì)時(shí),盡量不要或少在延時(shí)子程序中定義局部變量,所有的延時(shí)子程序中變量通過(guò)有參函數(shù)傳遞。在延時(shí)子程序設(shè)計(jì)時(shí),采用do…while,結(jié)構(gòu)做循環(huán)體要比f(wàn)or結(jié)構(gòu)做循環(huán)體好。
2、必須確認(rèn)所定義的形參與調(diào)用函數(shù)的實(shí)際參數(shù)類(lèi)型一致,同時(shí)還要保證在調(diào)用時(shí)形參與實(shí)參的個(gè)數(shù)出現(xiàn)的次序也要一一對(duì)應(yīng)。如果不一致,將產(chǎn)生意料不到的結(jié)果。
3、首先delay函數(shù)用for循環(huán)控制空操作:for(j=0;j255;j==);再加上外層循環(huán)for(k=0;k=1;k++)來(lái)實(shí)現(xiàn)延時(shí)。其中void delay(unsignde shar i) i 為形參。而在主函數(shù)delay(10) 10為實(shí)參,遵循值的單向傳遞性。
4、想要理解宏定義先理解宏替換。宏替換就是宏名字在編譯的時(shí)候被定義的部分替換的過(guò)程。這樣你就可以在一個(gè)地方定義,多處都可以使用了,但是和變量不同,宏只是被替換。延遲函數(shù) sleep(毫秒數(shù)) 需要包含 Windows.h。
5、for里面是空語(yǔ)句自動(dòng)會(huì)跳出,因?yàn)榧词箞?zhí)行了也不會(huì)用時(shí)間。要當(dāng)它延時(shí)函數(shù)用,必須在循環(huán)體里干點(diǎn)事,比如隨便做個(gè)加法減法什么的。
6、直到y(tǒng)=400的時(shí)候跳出循環(huán)。這個(gè)函數(shù) 要在被調(diào)用的時(shí)候才會(huì)起作用 但是這個(gè)函數(shù)根本就沒(méi)有申明作用就是在這里做兩條for循環(huán)語(yǔ)句,但是可以稍起延時(shí)作用但是這點(diǎn)時(shí)間對(duì)于計(jì)算機(jī)來(lái)說(shuō)是微不足道的。
1、C語(yǔ)言中的for語(yǔ)句一般的表達(dá)形式如下圖所示:執(zhí)行流程如下圖所示:說(shuō)明:表達(dá)式1為初值表達(dá)式,表達(dá)式2為循環(huán)條件表達(dá)式,表達(dá)式3為循環(huán)變量控制表達(dá)式。
2、我只記得在C語(yǔ)言里,有一個(gè)計(jì)時(shí)功能,大體思路如下: 在執(zhí)行For循環(huán)之前,調(diào)用GetSystemTime一個(gè)類(lèi)似的函數(shù)獲取當(dāng)前系統(tǒng)時(shí)間,在執(zhí)行For語(yǔ)句后,再次得到,利用兩個(gè)時(shí)間差計(jì)算for的執(zhí)行時(shí)間。
3、C語(yǔ)言的延遲函數(shù)一般是利用無(wú)意義程序運(yùn)行來(lái)控制時(shí)間從而達(dá)到延時(shí)的目的 舉個(gè)例子:for(i=0;ix;i++)for(j=0;j120;j++);這是延時(shí)x毫秒的for循環(huán)語(yǔ)句。值得注意的是記得最后的;一定得記得寫(xiě)。
4、這個(gè)延時(shí)函數(shù)是個(gè)指令延時(shí),指令多了,延時(shí)時(shí)間就長(zhǎng)。for(x=0;x120;x++) 這個(gè)循環(huán)里,每一次循環(huán),都會(huì)有一個(gè) 加一 和 判斷跳轉(zhuǎn)指令。
5、首先delay函數(shù)用for循環(huán)控制空操作:for(j=0;j255;j==);再加上外層循環(huán)for(k=0;k=1;k++)來(lái)實(shí)現(xiàn)延時(shí)。其中void delay(unsignde shar i) i 為形參。而在主函數(shù)delay(10) 10為實(shí)參,遵循值的單向傳遞性。
6、for里面是空語(yǔ)句自動(dòng)會(huì)跳出,因?yàn)榧词箞?zhí)行了也不會(huì)用時(shí)間。要當(dāng)它延時(shí)函數(shù)用,必須在循環(huán)體里干點(diǎn)事,比如隨便做個(gè)加法減法什么的。
分享文章:c語(yǔ)言延時(shí)函數(shù)的調(diào)用 c語(yǔ)言 延時(shí)函數(shù)
網(wǎng)站URL:http://chinadenli.net/article41/dejdeed.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、商城網(wǎng)站、微信小程序、自適應(yīng)網(wǎng)站、ChatGPT、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)