日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] C語(yǔ)言最大的缺點(diǎn)就是實(shí)時(shí)性差,我在網(wǎng)上到看了一些關(guān)于延時(shí)的討論,其中有篇文章51單片機(jī)Keil C延時(shí)程序的簡(jiǎn)單研究,作者:InfiniteSPACe Studio/isjfk寫(xiě)得不錯(cuò),他是用while(--i);產(chǎn)生DJNZ來(lái)實(shí)現(xiàn)精確延時(shí),

C語(yǔ)言最大的缺點(diǎn)就是實(shí)時(shí)性差,我在網(wǎng)上到看了一些關(guān)于延時(shí)的討論,其中有篇文章51單片機(jī)Keil C延時(shí)程序的簡(jiǎn)單研究,作者:InfiniteSPACe Studio/isjfk

寫(xiě)得不錯(cuò),他是用while(--i);產(chǎn)生DJNZ來(lái)實(shí)現(xiàn)精確延時(shí),后來(lái)有人說(shuō)如果while里面不能放其它語(yǔ)句,否則也不行,用do-while就可以,具體怎樣我沒(méi)有去試.所有這些都沒(méi)有給出具體的實(shí)例程序來(lái).還看到一些延時(shí)的例子多多少少總有點(diǎn)延時(shí)差.為此我用for循環(huán)寫(xiě)了幾個(gè)延時(shí)的子程序貼上來(lái),希望能對(duì)初學(xué)者有所幫助.(晶振12MHz,一個(gè)機(jī)器周期1us.)

void Delay(uchar i)
{
while(--i);
}

21: void Delay(uchar i)
22: {
23: while(--i);
C:0x001F DFFE DJNZ R7,Delay(C:001F)
24: }

一. 500ms延時(shí)子程序

程序:

void delay500ms(void)

{

unsigned char i,j,k;

for(i=15;i>0;i--)

for(j=202;j>0;j--)

for(k=81;k>0;k--);

}

產(chǎn)生的匯編:

C:0x08007F0F MOVR7,#0x0F

C:0x08027ECA MOVR6,#0xCA

C:0x08047D51 MOVR5,#0x51

C:0x0806DDFE DJNZ R5,C:0806

C:0x0808DEFA DJNZ R6,C:0804

C:0x080ADFF6 DJNZ R7,C:0802

C:0x080C22 RET

計(jì)算分析:

程序共有三層循環(huán)

一層循環(huán)n:R5*2 = 81*2 = 162usDJNZ2us

二層循環(huán)m:R6*(n+3) = 202*165 = 33330usDJNZ2us + R5賦值1us = 3us

三層循環(huán): R7*(m+3) = 15*33333 = 499995usDJNZ2us + R6賦值1us = 3us

循環(huán)外: 5us子程序調(diào)用2us +子程序返回2us + R7賦值1us= 5us

延時(shí)總時(shí)間=三層循環(huán)+循環(huán)外= 499995+5 = 500000us =500ms

計(jì)算公式:延時(shí)時(shí)間=[(2*R5+3)*R6+3]*R7+5

二. 200ms延時(shí)子程序

程序:

void delay200ms(void)

{

unsigned char i,j,k;

for(i=5;i>0;i--)

for(j=132;j>0;j--)

for(k=150;k>0;k--);

}

產(chǎn)生的匯編

C:0x08007F05 MOVR7,#0x05

C:0x08027E84 MOVR6,#0x84

C:0x08047D96 MOVR5,#0x96

C:0x0806DDFE DJNZ R5,C:0806

C:0x0808DEFA DJNZ R6,C:0804

C:0x080ADFF6 DJNZ R7,C:0802

C:0x080C22 RET

三. 10ms延時(shí)子程序

程序:

void delay10ms(void)

{

unsigned char i,j,k;

for(i=5;i>0;i--)

for(j=4;j>0;j--)

for(k=248;k>0;k--);

}

產(chǎn)生的匯編

C:0x08007F05 MOVR7,#0x05

C:0x08027E04 MOVR6,#0x04

C:0x08047DF8 MOVR5,#0xF8

C:0x0806DDFE DJNZ R5,C:0806

C:0x0808DEFA DJNZ R6,C:0804

C:0x080ADFF6 DJNZ R7,C:0802

C:0x080C22 RET

四. 1s延時(shí)子程序

程序:

void delay1s(void)

{

unsigned char h,i,j,k;

for(h=5;h>0;h--)

for(i=4;i>0;i--)

for(j=116;j>0;j--)

for(k=214;k>0;k--);

}

產(chǎn)生的匯編

C:0x08007F05 MOVR7,#0x05

C:0x08027E04 MOVR6,#0x04

C:0x08047D74 MOVR5,#0x74

C:0x08067CD6 MOVR4,#0xD6

C:0x0808DCFE DJNZ R4,C:0808

C:0x080ADDFA DJNZ R5,C:0806

C:0x080CDEF6 DJNZ R6,C:0804

C:0x080EDFF2 DJNZ R7,C:0802

C:0x081022 RET

在精確延時(shí)的計(jì)算當(dāng)中,最容易讓人忽略的是計(jì)算循環(huán)外的那部分延時(shí),在對(duì)時(shí)間要求不高的場(chǎng)合,這部分對(duì)程序不會(huì)造成影響.


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

嵌入式系統(tǒng)是一種專(zhuān)用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分,通常嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的嵌入式處理器控制板,事實(shí)上所有帶有數(shù)字接口的設(shè)備,有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個(gè)程序?qū)崿F(xiàn)整...

關(guān)鍵字: 嵌入式 語(yǔ)言 技術(shù)

語(yǔ)音編碼器的主要功能就是把用戶(hù)語(yǔ)音的PCM(脈沖編碼調(diào)制)樣值編碼成少量的比特(幀)。這種方法使得語(yǔ)音在連路產(chǎn)生誤碼、網(wǎng)絡(luò)抖動(dòng)和突發(fā)傳輸時(shí)具有健壯性(Robustness)。在接收端,語(yǔ)音幀先被誤碼為PCM語(yǔ)音樣值,然后...

關(guān)鍵字: 語(yǔ)音編碼器 PCM 語(yǔ)言

模糊控制算法(理論知識(shí))

關(guān)鍵字: 模糊控制 語(yǔ)言

任何一種“語(yǔ)言”,都是各種“語(yǔ)言特性”的組合。

關(guān)鍵字: 程序 語(yǔ)言 嵌入式

由于新冠疫情,口罩已經(jīng)成為了一種日常用品。而日本似乎十分熱衷于研究不同類(lèi)型的口罩,例如為了應(yīng)對(duì)夏季的“冰鎮(zhèn)口罩”和帶微型電扇的口罩,還有為了女性美觀研發(fā)的“小臉美口罩”。 8月4日,據(jù)媒體報(bào)道,日本一

關(guān)鍵字: 口罩 日本 智能 翻譯 語(yǔ)言

研究表明,人在老年時(shí)學(xué)習(xí)第二語(yǔ)言也可以改善認(rèn)知功能。 雖然我們大多數(shù)人都容易學(xué)會(huì)技術(shù),但學(xué)習(xí)語(yǔ)言從未如此簡(jiǎn)單。

關(guān)鍵字: Android 語(yǔ)言 verbling

航科院民用無(wú)人機(jī)檢驗(yàn)中心在湖北武漢對(duì)易瓦特科技股份公司的EWZ-S8八旋翼無(wú)人機(jī)進(jìn)行了無(wú)人機(jī)系統(tǒng)安全能力二級(jí)圍欄檢驗(yàn)。本次檢驗(yàn)耗時(shí)3個(gè)多小時(shí)。檢驗(yàn)中心檢驗(yàn)員針對(duì)EWZ-S8八旋翼無(wú)人機(jī)進(jìn)行了無(wú)人

關(guān)鍵字: 無(wú)人機(jī) 語(yǔ)言

什么是51單片機(jī)?它有什么注意事項(xiàng)?編程也好設(shè)計(jì)也罷,都要有遵循的規(guī)則??梢园l(fā)揮自己的創(chuàng)新但是要顧全大局,不能隨意的編程。下面分享關(guān)于51單片機(jī)編程的一些規(guī)則,希望能幫到大家,避免大家四處碰壁。

關(guān)鍵字: 51單片機(jī) 編程 語(yǔ)言

1月15日,打著中科院計(jì)算所出品、完全自主開(kāi)發(fā)旗號(hào)的國(guó)產(chǎn)編程語(yǔ)言“木蘭”引發(fā)廣泛關(guān)注,但很快被發(fā)現(xiàn)是基于Python語(yǔ)言套殼、換皮而來(lái)的產(chǎn)物。 面對(duì)質(zhì)疑,中科院計(jì)算所編譯實(shí)驗(yàn)室員工、“木蘭”語(yǔ)言研發(fā)團(tuán)

關(guān)鍵字: 中科院 國(guó)產(chǎn) 木蘭 編程 語(yǔ)言 劉雷 計(jì)算所 重罰

國(guó)產(chǎn)編程語(yǔ)言“木蘭”橫空出世,后續(xù)結(jié)果反轉(zhuǎn)令人不齒。 近日,一則關(guān)于國(guó)產(chǎn)編程語(yǔ)言“木蘭”出世的消息讓人眼前一亮。據(jù)悉,“木蘭”是面向智能物聯(lián)應(yīng)用的編程語(yǔ)言,由我國(guó)科研人員自主設(shè)計(jì)、開(kāi)發(fā)和實(shí)現(xiàn),與之配套

關(guān)鍵字: 中科院 木蘭 漢芯 編程 語(yǔ)言
關(guān)閉