欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3848|回復: 1
打印 上一主題 下一主題
收起左側

DS18B20延時函數的處理

[復制鏈接]
跳轉到指定樓層
樓主
ID:70416 發表于 2014-12-13 23:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
大家在寫18B20函數的時候,因為DS18B20是慢速器件,需要延時,特別是初始化函數延時達480us之久,在使用一些程序時嚴重干擾其他程序正常運行,特別是點陣屏和數碼管,出現閃爍的現象。筆者在編寫程序的過程積累了經驗,把一些工作比較久的函數當成延時來用,效果十分好,提高了程序效率。如下:
void reset_18b20()
{
  DQ=0;
display();   //巧妙的把顯示函數當延時來用
  DQ=1;
  Conversion(); //巧妙的把農歷轉換函數當延時來用
  if(DQ)
  err=1;
while(!DQ);
  err=0;
}
上述例子是兩個函數,一個是顯示函數,一個是陽歷轉陰歷函數,都是占用時間比較久的。經過調試,顯示函數運行時間大約在480us,剛剛好。這樣,既調用了顯示函數,又起到了延時作用,無需使用效率低的延時函數。


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

使用道具 舉報

沙發
ID:70877 發表于 2014-12-22 07:42 | 只看該作者
xvexile
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表