久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

關(guān)于Delay組成的C語(yǔ)言語(yǔ)句問(wèn)題

查看數(shù): 3117 | 評(píng)論數(shù): 9 | 收藏 0
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2019-10-4 11:34

正文摘要:

DelayMS(3800)   是3.8s,怎么跑了0.18s

回復(fù)

ID:158375 發(fā)表于 2019-10-5 17:19
DelayMS(3800)   是3.8s,怎么跑了0.18s
  -----
  軟件延時(shí),不太準(zhǔn)確,與許多都有關(guān)系,例如中斷等等.....再說(shuō),DelayMS(3800) ,你咋確定是3.8S的?
ID:451448 發(fā)表于 2019-10-5 16:48
這個(gè)是跟你的CPU的執(zhí)行速度有關(guān),假如你用的CPU一毫秒能執(zhí)行2條指令,那么循環(huán)體里面的數(shù)值為2時(shí),代表執(zhí)行一次這個(gè)函數(shù)所花的時(shí)間為1ms,數(shù)值為4的話,代表執(zhí)行一次這個(gè)函數(shù)代表花費(fèi)時(shí)間為2ms,依次來(lái)達(dá)到延時(shí)的目的,不過(guò)這種延時(shí)是不夠精準(zhǔn)的,用在要求精度不高的事件
ID:445775 發(fā)表于 2019-10-5 10:33
延時(shí)時(shí)間和單片機(jī)的時(shí)鐘頻率有關(guān),可以去網(wǎng)上下載例如單片機(jī)小精靈之類的工具,不僅可以生成相對(duì)準(zhǔn)確的延時(shí),提供了波特率生成器等工具,簡(jiǎn)單暴力
ID:155507 發(fā)表于 2019-10-5 07:16
一、51單片機(jī)軟件延時(shí):
1、 幾種周期介紹
  周期名稱
            描述
            時(shí)間
  
  振蕩
            單片機(jī)提供時(shí)鐘脈沖信號(hào)
  的振蕩源的周期
            T=1/f
  
  狀態(tài)
            振蕩周期經(jīng)二分頻后得到
  的
            2T
  
  機(jī)器
            CPU 可以完成一個(gè)獨(dú)立操
  作所需要的周期
            12T
  
  指令
            指 CPU 完成一條操作所需
  的全部時(shí)間
            n*12T
  


2、指令:
1、MUL、DIV:僅有的 4 周期指令
2、包含 DPTR 和 PC 的指令均為 2 周期指令
3、所有的絕對(duì)跳轉(zhuǎn)和條件轉(zhuǎn)移指令,均為 2 周期指令
4、所有包括 A 寄存器的指令,均為單周期指令
5、位操作指令中,ANL 和 ORL 是 2 周期指令
6、所有包含立即地址的指令,除 INC direct 及 DEC direct 外,均為 2 周期指令
7、剩下的均為單周期指令。如:
void delay(uint z)
{
uint i ,j;
for(i = z; i> 0;i--)


for(j =0; j < 921; j++)
}


分析:
1.先計(jì)算你單片機(jī)的振蕩(時(shí)鐘)周期 T=1/晶振(11.0592MHZ)
2.一次 i--操作為 12T
3.忽略變量定義,上述延時(shí)函數(shù)共需時(shí)間:921*z*12T
4.帶入 T:921*12*T*z 約為 z us
3、計(jì)算誤差出現(xiàn)的原因:
1.軟件仿真時(shí),函數(shù)調(diào)用的時(shí)候入棧出棧操作的耗時(shí)。
2.指令周期隨指令的不同而不同導(dǎo)致的誤差。
3.中斷的影響。
4.變量的范圍超過(guò),從而與預(yù)計(jì)時(shí)間不一樣。


while(i--):如果 i 為 char 型,執(zhí)行一次大概為 5us 左右;如果 i 為 int 型則執(zhí)行一次大概為 10us 左右。注意:軟件延時(shí)通常用于時(shí)序要求較高的編程中,其它需延時(shí)較長(zhǎng)的地方必須采用單片機(jī)內(nèi)部定時(shí)器。

評(píng)分

參與人數(shù) 1黑幣 +12 收起 理由
機(jī)子單 + 12

查看全部評(píng)分

ID:619372 發(fā)表于 2019-10-5 05:48
不是循環(huán)多少次就是多少秒的,可以直接搜delay()函數(shù),可以查到很多常用的。
ID:155507 發(fā)表于 2019-10-4 18:12
機(jī)子單 發(fā)表于 2019-10-4 14:38
有沒(méi)有大神,指導(dǎo)下,工作過(guò)程

你可以參考這個(gè)

http://www.zg4o1577.cn/bbs/dpj-4711-1.html
ID:616666 發(fā)表于 2019-10-4 14:38
有沒(méi)有大神,指導(dǎo)下,工作過(guò)程
ID:619205 發(fā)表于 2019-10-4 14:34
Delay程式 延遲的時(shí)間和你所使用的指令週期與Delay方法有關(guān)我看你的圖片事阻塞式延遲,原理就是跑空指令,根據(jù)芯片不同每一個(gè)指令都需要花費(fèi)數(shù)個(gè)指令週期
你的Delay在副程式中視兩個(gè)空的迴圈函數(shù),裡面的for(i=0;i<y;i++) 中的y代表你每次執(zhí)行會(huì)跑幾個(gè)空迴圈
,whie(x--) 中的x 是你可以輸入的變數(shù),意思是你要跑幾次for迴圈 , 如果你輸入x,那你執(zhí)行空迴圈的次數(shù)就是x*y次,如果你輸入x=3800那
,就是執(zhí)行了3800*y次迴圈空迴圈.
如果使用這種方式來(lái)來(lái)完成Delay你可以去看你芯片執(zhí)行指令需要多少時(shí)間來(lái)計(jì)算實(shí)際的延遲時(shí)間,會(huì)者用其他發(fā)法一個(gè)一個(gè)嘗試來(lái)確定執(zhí)行1次for迴圈需要多久.
當(dāng)然用這種方式時(shí)間不會(huì)太準(zhǔn)確,如果時(shí)間要求精度高可以選擇使用TIM,或改用組合語(yǔ)言.

評(píng)分

參與人數(shù) 2黑幣 +90 收起 理由
機(jī)子單 + 30
admin + 60 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

ID:275826 發(fā)表于 2019-10-4 12:11

DelayMS(3800)  誰(shuí)說(shuō)是3.8s,具體多長(zhǎng)跟晶振和子程序函數(shù)都有關(guān)系

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本三级视频 | 精品欧美一区二区三区久久久 | 亚洲国产一区二区三区在线观看 | 久久精品在线 | 国产视频一区二区 | 日韩av啪啪网站大全免费观看 | 亚洲欧美日本国产 | 国产精品资源在线观看 | 亚洲劲爆av | 日本免费网 | 精久久久| 91天堂网| 狠狠操狠狠搞 | 欧美啪啪网站 | 久久久久久成人 | 国产区在线免费观看 | 欧美精品一区二区在线观看 | 亚洲激情网站 | 毛片视频观看 | 高清色视频 | 国产精品99久久久久久久久久久久 | 中文字幕av在线播放 | 中文字幕在线观看av | 日本午夜在线视频 | 日日摸夜夜添夜夜添精品视频 | 国产福利91精品 | 欧美1—12sexvideos | 中文字幕日韩一区 | 久久亚洲一区二区 | 精品国产一区二区三区久久久久久 | 中文字幕视频一区 | 天天射网站 | 中文字幕国产 | 一区二区在线免费播放 | 久久久久国产一区二区三区 | 国产精品日本一区二区不卡视频 | 亚洲二区视频 | 亚洲高清视频在线观看 | 国产精品一区二区三区在线 | 国产在线播 | 亚洲午夜精品视频 |