找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3395|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

關(guān)于延時(shí)函數(shù)的一些問題和匯編的學(xué)習(xí)與否

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:3721 發(fā)表于 2015-1-5 16:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
----------------===============延時(shí)函數(shù)==================--------------
 延時(shí)函數(shù),是很多程序都會用到的函數(shù)。C語言很難調(diào)試出非常精確的延時(shí)函數(shù),但對于大多說場合來說還是可以應(yīng)用的。若是像DS18B20這類單總線器件對時(shí)序的要求較高的,就必須要討論延時(shí)函數(shù)的準(zhǔn)確性了。
  在此,我所說的是一般應(yīng)用延時(shí)函數(shù)。如延時(shí)1ms、10ms之類的,用于LED流水燈和按鍵消抖的程序!在調(diào)試過程中,也遇到一些問題,由于不懂匯編,所以暫時(shí)無法測試其具體原因,所以,我也在想是否要學(xué)習(xí)匯編語言。希望懂匯編的朋友能夠自己分析。

--------------------------==============延時(shí)程序==============------------------
--------------------------------------------------------------
編譯測試環(huán)境:
    KEIL μVision 3
晶振頻率:
    11.0592MHz
測試方法:
    軟件自帶調(diào)試功能
-------------------------------------------------------------


void delay(unsigned int t)             //延時(shí) t 毫秒函數(shù),參數(shù)在0 ~ 65535之間,晶振為11.0592MHz
{
  unsigned int x,y;                //定義兩個(gè)循環(huán)用的變量參數(shù)


  for(x = t;x > 0;x --)                //循環(huán)的次數(shù),有實(shí)參決定
       for(y = 120;y > 0;y --);     //每次循環(huán)的內(nèi)部循環(huán)次數(shù)。
}


問題:當(dāng)把y聲明為unsigned char類型時(shí),延時(shí)函數(shù)有所改變,測試結(jié)果為3.1ms左右。
如下面所示:
-------------------------------------------------------

void delay(unsigned int t)             //此延時(shí)函數(shù),不能準(zhǔn)確延時(shí)1ms.
{
  unsigned int x;                   //定義兩個(gè)循環(huán)用的變量參數(shù)

  unsigned char y;

   for(x = t;x > 0;x --)                //循環(huán)的次數(shù),有實(shí)參決定
       for(y = 120;y > 0;y --);     //每次循環(huán)的內(nèi)部循環(huán)次數(shù)。
}

-------------------------------------------------------    
問題的具體原因,我不清楚。應(yīng)該用匯編的方法來調(diào)試。



---------------------==若以后調(diào)試出來,會再更新的==在次做個(gè)標(biāo)記--------------------------

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表