• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學(xué)習(xí)啦>學(xué)習(xí)英語(yǔ)>專業(yè)英語(yǔ)>計(jì)算機(jī)英語(yǔ)>

    c語(yǔ)言中delay的用法

    時(shí)間: 長(zhǎng)思709 分享

      C語(yǔ)言作為一門新型高級(jí)編程語(yǔ)言,在計(jì)算機(jī)軟件編程中具有較為廣泛的應(yīng)用和實(shí)現(xiàn)。下面小編就跟你們?cè)敿?xì)介紹下c語(yǔ)言中delay的用法,希望對(duì)你們有用。

      c語(yǔ)言中delay的用法如下:

      假設(shè)一個(gè)延時(shí)函數(shù)如下:

      void delay()

      {

      uint i;

      for(i=0;i<20000;i++);

      }

      我們?cè)趺磥?lái)算呢,先將20000轉(zhuǎn)成16進(jìn)制,得到4E20,然后將高字節(jié)4E乘以6得到468D,再將468+2=470,然后將470D*20HEX(即32D)=15040;所心這個(gè)延時(shí)函數(shù)總共要執(zhí)行15040個(gè)周期,假設(shè)所用的晶振為12MHZ,則該段函數(shù)總延時(shí):15.04ms。

      有了這個(gè)公式我們?nèi)绻胍O(shè)定指定的延時(shí)長(zhǎng)度就可以用它的己知公式確定。即:總時(shí)間=[(6*i值的高8位)+2]*i的低8位。

      例如:設(shè)要延時(shí)125ms。

      我們將低字節(jié)先賦值200D*(即:C8),然后再算高低節(jié)的定值,由式中可知125ms=200*((i值的高字節(jié)*6)+2),又可推算出(高低節(jié)*6)+2的總延遲時(shí)間應(yīng)等于625us,將625/6=104.1666,取整數(shù)得到104,將104轉(zhuǎn)成16進(jìn)制得到68H,再將高字節(jié)和低字節(jié)組合起來(lái)即得到了定值,即:68C8HEX,代入函數(shù)即如下:

      void delay()

      {

      uint i;

      for(i=0;i<0x68C8;i++);

      }

      如果寫直進(jìn)行就要將68C8轉(zhuǎn)成10進(jìn)制,即:26824,代入后得到:

      void delay()

      {

      uint i;

      for(i=0;i<0x26824;i++);

      在c語(yǔ)言中嵌入一段匯編的延時(shí)程序呀,你自己看看書,很簡(jiǎn)單的

      用在單片機(jī)里的可以C和匯編混合使用,因?yàn)橛脜R編編寫延時(shí)要準(zhǔn)確些,所以你不妨寫一個(gè)匯編程序,然后再調(diào)用它好了,要用C來(lái)編精確的延時(shí)確實(shí)是比較難的哦.呵呵

      誰(shuí)說(shuō)C語(yǔ)言不能精確延時(shí),用51單片機(jī)的定時(shí)/計(jì)數(shù)器一或者用定時(shí)/計(jì)數(shù)器2的工作方式2,自動(dòng)再裝入8位計(jì)數(shù)器,就可以精確延時(shí),別說(shuō)1MS了就是100um也能精確做到。

      其實(shí)很簡(jiǎn)單,采用定時(shí)器,將需要定時(shí)時(shí)間算好后寫入單片機(jī)中斷程序中即可,這種方法可以實(shí)現(xiàn)精確定時(shí),最終的誤差僅由晶振來(lái)確定了。

      不錯(cuò),用定時(shí)器最準(zhǔn)確。但是定時(shí)器數(shù)量有限,有時(shí)候不見得能夠用。比如溫度檢測(cè)(尤其是變化比較大、快的),一個(gè)定時(shí)器就得一直不停檢測(cè)。這個(gè)時(shí)候如果另外一個(gè)定時(shí)器有正好分配的其他任務(wù),就只有用其他方法延時(shí)了。

      空循環(huán)就行了

      如while(i--);根據(jù)i的不同決定了延時(shí)長(zhǎng)短

      不過(guò)C的延時(shí)不是非常準(zhǔn)確,你得根據(jù)反匯編,看匯編語(yǔ)句的數(shù)量和指令周期來(lái)計(jì)算時(shí)間

      也可以是

      void mDelay(unsigned int Delay) //Delay = 1000 時(shí)間為1S

      {

      unsigned int i;

      for(;Delay>0;Delay--)

      {

      for(i=0;i<124;i++)

      {;}

      }

      }

    522739 主站蜘蛛池模板: 久久五月激情婷婷日韩| 久久综合九色综合精品| 韩国太太的告白韩国电影| 快点cao我要被cao烂了| 亚洲欧美日韩图片| 黄色三级免费电影| 妖精色av无码国产在线看| 亚洲伊人久久大香线蕉结合| 色偷偷www8888| 国产香蕉一区二区精品视频| 久久天天躁狠狠躁夜夜免费观看| 男女下面无遮挡一进一出| 国产欧美va欧美va香蕉在| 一级特黄特色的免费大片视频| 欧美怡红院免费全部视频| 国产一区二区不卡免费观在线| 97久久精品无码一区二区| 日本一卡2卡3卡4卡无卡免费| 亚洲精品人成在线观看| 蜜桃麻豆www久久国产精品| 国内精品久久人妻互换| 久久久亚洲欧洲日产国码农村| 污污视频网站免费在线观看| 国产亚洲欧美在线| 777久久精品一区二区三区无码 | 内射少妇一区27P| 天天影视色香欲性综合网网站| 性高朝久久久久久久| 亚洲av无码久久忘忧草| 福利一区二区在线| 国产在线观看的| 97影院九七理论片男女高清| 无码国产色欲XXXXX视频| 亚洲国产精品久久久久秋霞小 | 多女多p多杂交视频| 久久久久亚洲av无码专区 | 国产精品国语自产拍在线观看| 丁香婷婷六月天| 日韩欧美aⅴ综合网站发布| 亚洲综合国产一区二区三区| 色一情一乱一伦一视频免费看|