真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

單片機(jī)延時(shí)子函數(shù)c語言 單片機(jī)延時(shí)函數(shù)怎么寫c語言

51單片機(jī)用c語言怎么寫延時(shí)函數(shù)?

延時(shí)時(shí)間的計(jì)算與單片機(jī)的晶振頻率有關(guān)。若晶振頻率為12Mhz,那么單片機(jī)每震動(dòng)一次所需要的時(shí)間是1/12M s。那么再來看看單片機(jī)執(zhí)行一次自減所需要的振動(dòng)次數(shù)是96次,假如我們對(duì)時(shí)間要求不是特別精確的話,可以約等于100來計(jì)算?,F(xiàn)在通過上面兩個(gè)數(shù)據(jù)可以得出:單片機(jī)每執(zhí)行一次自減所需要的時(shí)間是1/12M *100(s),即1/120000 s,逆向計(jì)算一下,每1ms需要自減多少次?120次對(duì)吧。所以一個(gè)簡單的延時(shí)功能就誕生了,我們只需要自減120次,就可以延時(shí)1ms,如果我們要延時(shí)50ms呢,那就自減50*120=6000次。那么在程序上如何表達(dá)呢?我們可以用兩套for循環(huán)

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比久治網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式久治網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋久治地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。

void delay(int i){

int x,y;

for(x=i;x0;x--){

for(y=120;y0;y--)

}

}

參數(shù) i 代表該函數(shù)延時(shí)多少ms

單片機(jī)C語言編程關(guān)于延時(shí)函數(shù)

單片機(jī)的C語言關(guān)于延時(shí)函數(shù)主要有兩種

一種是用for循環(huán),通過單片機(jī)執(zhí)行空指令達(dá)到延時(shí)的目的

如:

for(i=0;i100;i++)

{

;

}

這個(gè)簡單的語句會(huì)執(zhí)行100次空指令

每一次指令的時(shí)間可以大概確定

因此這個(gè)是最簡單的延時(shí)函數(shù)

第二種是通過定時(shí)器的方式來實(shí)現(xiàn)

定時(shí)器是通過對(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

{

...

}

51單片機(jī)C語言中delay函數(shù)是怎么定義和使用的?

定義一個(gè)延時(shí)xms毫秒的延時(shí)函數(shù)

void delay(unsigned int xms) // xms代表需要延時(shí)的毫秒數(shù)

{

unsigned int x,y;

for(x=xms;x》0;x--)

for(y=110;y》0;y--);

}

使用:

void Delay10us(uchar Ms)

{

uchar data i;

for(;Ms》0;Ms--)

for(i=26;i》0;i--);

}

i=[(延時(shí)值-1.75)*12/Ms-15]/4

擴(kuò)展資料

1、在C51中進(jìn)行精確的延時(shí)子程序設(shè)計(jì)時(shí),盡量不要或少在延時(shí)子程序中定義局部變量,所有的延時(shí)子程序中變量通過有參函數(shù)傳遞。

2、在延時(shí)子程序設(shè)計(jì)時(shí),采用do?while,結(jié)構(gòu)做循環(huán)體要比for結(jié)構(gòu)做循環(huán)體好。

3、在延時(shí)子程序設(shè)計(jì)時(shí),要進(jìn)行循環(huán)體嵌套時(shí),采用先內(nèi)循環(huán),再減減比先減減,再內(nèi)循環(huán)要好。

用c語言為單片機(jī)STC12C2052寫一段簡單的延時(shí)程序!

下面幾個(gè)是單片機(jī)的延時(shí)程序(包括asm和C程序,都是我在學(xué)單片機(jī)的過程中用到的),在單片機(jī)延時(shí)程序中應(yīng)考慮所使用的晶振的頻率,在51系列的單片機(jī)中我們常用的是11.0592MHz和12.0000MHz的晶振,而在AVR單片機(jī)上常用的有8.000MHz和4.000MH的晶振所以在網(wǎng)上查找程序時(shí)如果涉及到精確延時(shí)則應(yīng)該注意晶振的頻率是多大。

軟件延時(shí):(asm)

晶振12MHZ,延時(shí)1秒

程序如下:

DELAY:MOV

72H,#100

LOOP3:MOV

71H,#100

LOOP1:MOV

70H,#47

LOOP0:DJNZ

70H,LOOP0

NOP

DJNZ

71H,LOOP1

MOV

70H,#46

LOOP2:DJNZ

70H,LOOP2

NOP

DJNZ

72H,LOOP3

MOV

70H,#48

LOOP4:DJNZ

70H,LOOP4

定時(shí)器延時(shí):

晶振12MHZ,延時(shí)1s,定時(shí)器0工作方式為方式1

DELAY1:MOV

R7,#0AH

晶振12MHZ,延時(shí)0.5秒

AJMP

DELAY

DELAY2:MOV

R7,#14H

晶振12MHZ,延時(shí)1秒

DELAY:CLR

EX0

MOV

TMOD,#01H

;設(shè)置定時(shí)器的工作方式為方式1

MOV

TL0,#0B0H

;給定時(shí)器設(shè)置計(jì)數(shù)初始值

MOV

TH0,#3CH

SETB

TR0

;開啟定時(shí)器

HERE:JBC

TF0,NEXT1

SJMP

HERE

NEXT1:MOV

TL0,#0B0H

MOV

TH0,#3CH

DJNZ

R7,HERE

CLR

TR0

;定時(shí)器要軟件清零

SETB

EX0

RET

C語言延時(shí)程序:

10ms延時(shí)子程序(12MHZ)

void

delay10ms(void)

{

unsigned

char

i,j,k;

for(i=5;i0;i--)

for(j=4;j0;j--)

for(k=248;k0;k--);

}

1s延時(shí)子程序(12MHZ)

void

delay1s(void)

{

unsigned

char

h,i,j,k;

for(h=5;h0;h--)

for(i=4;i0;i--)

for(j=116;j0;j--)

for(k=214;k0;k--);

}

200ms延時(shí)子程序(12MHZ)

void

delay200ms(void)

{

unsigned

char

i,j,k;

for(i=5;i0;i--)

for(j=132;j0;j--)

for(k=150;k0;k--);

}

500ms延時(shí)子程序程序:

(12MHZ)

void

delay500ms(void)

{

unsigned

char

i,j,k;

for(i=15;i0;i--)

for(j=202;j0;j--)

for(k=81;k0;k--);

}

下面是用了8.0000MHZ的晶振的幾個(gè)延時(shí)程序(用定時(shí)0的工作模式1):

(1)延時(shí)0.9MS

void

delay_0_9ms(void)

{

TMOD=0x01;

/*定時(shí)器0工作在模式1下(16位計(jì)數(shù)器)*/

TH0=0xfd;

TL0=0xa8;

TR0=1;

/*啟動(dòng)定時(shí)器*/

while(TF0==0);

TR0=0;

}

(2)延時(shí)1MS

void

delay_1ms(void)

{

TMOD=0x01;

/*定時(shí)器0工作在模式1下(16位計(jì)數(shù)器)*/

TH0=0xfd;

TL0=0x65;

TR0=1;

/*啟動(dòng)定時(shí)器*/

while(TF0==0);

TR0=0;

}

(3)延時(shí)4.5ms

void

delay_4_5ms(void)

{

TMOD=0x01;

/*定時(shí)器0工作在模式1下(16位計(jì)數(shù)器)*/

TH0=0xf4;

TL0=0x48;

TR0=1;

/*啟動(dòng)定時(shí)器*/

while(TF0==0);

TR0=0;

}


網(wǎng)頁名稱:單片機(jī)延時(shí)子函數(shù)c語言 單片機(jī)延時(shí)函數(shù)怎么寫c語言
瀏覽路徑:http://weahome.cn/article/ddpocso.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部