原理:只是執(zhí)行一些所謂的“無(wú)實(shí)際意義的指令”,如縮放或執(zhí)行一個(gè)int自加,簡(jiǎn)單地說(shuō),就像高中數(shù)學(xué)中的“乘法原理”一樣,很容易迅速增加上面提到的“無(wú)意義指令”的數(shù)量
創(chuàng)新互聯(lián)建站是一家成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),提供網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),網(wǎng)站制作,建網(wǎng)站,按需策劃設(shè)計(jì),網(wǎng)站開(kāi)發(fā)公司,2013年至今是互聯(lián)行業(yè)建設(shè)者,服務(wù)者。以提升客戶(hù)品牌價(jià)值為核心業(yè)務(wù),全程參與項(xiàng)目的網(wǎng)站策劃設(shè)計(jì)制作,前端開(kāi)發(fā),后臺(tái)程序制作以及后期項(xiàng)目運(yùn)營(yíng)并提出專(zhuān)業(yè)建議和思路。
關(guān)于大小的值:如果是在C語(yǔ)言中,該值不僅與水晶振動(dòng)、單片機(jī)本身的速度,但也與C的編譯器,所以,雖然這個(gè)值可以精確計(jì)算,但大多數(shù)情況下,程序員是經(jīng)驗(yàn)值。
當(dāng)然,如果你在匯編中編程,情況就不同了,因?yàn)槊織l指令使用一定數(shù)量的機(jī)器周期,你當(dāng)然可以根據(jù)所有指令使用的總時(shí)間來(lái)計(jì)算特定延遲的總時(shí)間。
擴(kuò)展資料:
定義延遲XMS毫秒的延遲函數(shù)
Voiddelay(unsignedintXMS)//XMS表示需要延遲的毫秒數(shù)
{
無(wú)符號(hào)intx,y;
For(x=XMS;X0;X-)
For(y=110;Y”0;Y-);
}
使用:
VoidDelay10us(ucharMs)
{
Uchar數(shù)據(jù)我;
(;女士“0;------Ms)
對(duì)于(I = 26)我 0;我-);
}
I=[(延遲值-1.75)*12/ms-15]/4
在單片機(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í)。
以下是一個(gè)簡(jiǎn)單的延時(shí)函數(shù)的示例代碼:
void delay_ms(unsigned int ms)
{
unsigned int i,j;
for(i=0;ims;i++)
for(j=0;j1000;j++);
}
上述代碼定義了一個(gè)名為delay_ms的函數(shù),該函數(shù)的參數(shù)為一個(gè)無(wú)符號(hào)整數(shù)ms,表示需要延時(shí)的時(shí)間(單位為毫秒)。在函數(shù)內(nèi)部,使用了兩個(gè)嵌套的for循環(huán)來(lái)實(shí)現(xiàn)延時(shí)操作。外層循環(huán)控制需要延時(shí)的毫秒數(shù),內(nèi)層循環(huán)則執(zhí)行1000次,以模擬一個(gè)較為精確的延時(shí)。在實(shí)際使用時(shí),可以根據(jù)需要調(diào)整內(nèi)層循環(huán)的執(zhí)行次數(shù),以達(dá)到較為精確的延時(shí)效果。
需要注意的是,延時(shí)函數(shù)的實(shí)現(xiàn)可能會(huì)受到單片機(jī)的工作頻率、編譯器優(yōu)化等因素的影響,因此在實(shí)際使用時(shí),需要進(jìn)行一定的測(cè)試和調(diào)整,以確保延時(shí)效果符合要求。
單片機(jī)的C語(yǔ)言關(guān)于延時(shí)函數(shù)主要有兩種
一種是用for循環(huán),通過(guò)單片機(jī)執(zhí)行空指令達(dá)到延時(shí)的目的
如:
for(i=0;i100;i++)
{
;
}
這個(gè)簡(jiǎn)單的語(yǔ)句會(huì)執(zhí)行100次空指令
每一次指令的時(shí)間可以大概確定
因此這個(gè)是最簡(jiǎn)單的延時(shí)函數(shù)
第二種是通過(guò)定時(shí)器的方式來(lái)實(shí)現(xiàn)
定時(shí)器是通過(guò)對(duì)單片機(jī)的晶振進(jìn)行計(jì)數(shù)
然后在定時(shí)器中斷服務(wù)函數(shù)里面實(shí)現(xiàn)定時(shí)時(shí)間的計(jì)算及設(shè)置
51單片機(jī)的定時(shí)器0中斷服務(wù)函數(shù)為
void
time0()
interrupt
1
{
...
}