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

標題: 關于延時函數的一些問題和匯編的學習與否 [打印本頁]

作者: heicc    時間: 2015-1-5 16:55
標題: 關于延時函數的一些問題和匯編的學習與否
----------------===============延時函數==================--------------
 延時函數,是很多程序都會用到的函數。C語言很難調試出非常精確的延時函數,但對于大多說場合來說還是可以應用的。若是像DS18B20這類單總線器件對時序的要求較高的,就必須要討論延時函數的準確性了。
  在此,我所說的是一般應用延時函數。如延時1ms、10ms之類的,用于LED流水燈和按鍵消抖的程序!在調試過程中,也遇到一些問題,由于不懂匯編,所以暫時無法測試其具體原因,所以,我也在想是否要學習匯編語言。希望懂匯編的朋友能夠自己分析。

--------------------------==============延時程序==============------------------
--------------------------------------------------------------
編譯測試環境:
    KEIL μVision 3
晶振頻率:
    11.0592MHz
測試方法:
    軟件自帶調試功能
-------------------------------------------------------------


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


  for(x = t;x > 0;x --)                //循環的次數,有實參決定
       for(y = 120;y > 0;y --);     //每次循環的內部循環次數。
}


問題:當把y聲明為unsigned char類型時,延時函數有所改變,測試結果為3.1ms左右。
如下面所示:
-------------------------------------------------------

void delay(unsigned int t)             //此延時函數,不能準確延時1ms.
{
  unsigned int x;                   //定義兩個循環用的變量參數

  unsigned char y;

   for(x = t;x > 0;x --)                //循環的次數,有實參決定
       for(y = 120;y > 0;y --);     //每次循環的內部循環次數。
}

-------------------------------------------------------    
問題的具體原因,我不清楚。應該用匯編的方法來調試。



---------------------==若以后調試出來,會再更新的==在次做個標記--------------------------






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 在线亚洲天堂 | 欧美福利一区 | 第一福利丝瓜av导航 | 亚洲第一黄网 | 一区二区免费看 | 三级视频在线播放 | 久久久www成人免费精品 | 特级毛片爽www免费版 | 九色在线播放 | 成人福利视频在线观看 | 午夜美女福利视频 | 亚洲国产第一页 | 精品一区二区三区三区 | 一级毛片国产 | 国产香蕉av| 三级视频在线 | 免费视频国产 | 日本一区二区三区精品 | 国产精品人人做人人爽人人添 | 成人精品在线观看 | av资源站 | 欧美不卡在线 | av网站在线免费观看 | 三级黄色在线观看 | 少妇xxxx69| 日韩视频在线观看免费 | 一区二区三区四区在线 | 成人a视频 | 激情久久网 | 神马香蕉久久 | 三级在线观看视频 | 婷婷国产 | 黄色免费短视频 | 三级福利视频 | 亚洲伊人影院 | 欧美精品一二三区 | 黄色片网站免费 | 国产在线免费 | 免费观看一区二区三区毛片 | 在线观看免费毛片 | 亚洲第二区 |