<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機這么久,還不會計算定時器初值就out了。

          單片機這么久,還不會計算定時器初值就out了。

          作者: 時間:2017-11-17 來源:網(wǎng)絡(luò) 收藏

            在學(xué)習(xí)的時候,我們發(fā)現(xiàn)很多功能都是通過中斷來實現(xiàn)的。之前也舉過燒水的例子來闡述中斷,今天就講解一下賦初值的方法。8位的最大可計數(shù)2的8次方為256,16位的最大可計數(shù)2的16次方為65536。由于的定時器是遞加式的,所以最大值減去所要定時的值就是初值,舉例如下:

          本文引用地址:http://www.ex-cimer.com/article/201711/371645.htm

              

           

            最大值為100,我們只需要38,怎么辦呢,由于是遞加的,我們只需要在62時開始計時就可以了。

            以proteus仿真為例簡單講解定時器賦初值

              

           

            用proteus搭建的電路圖如下,晶振為12M,P2.0每10ms翻轉(zhuǎn)一次,即P2.0輸出的頻率為100HZ。

            這里使用16位的定時器,那定時器0的最大計數(shù)就是65536.晶振為12M,那單片機的一個機器周期就是1us,定時器 0工作在方式1時最大定時65.536ms。

            定時器的定時時間T = (65536-X),單位是us;

            定時器初值X = 65536-T;

            假設(shè)定時時間T=10ms=10000us,

            那定時器初值X=65536-10000=55536us,也就是定時器0從55536開始遞加到65536就是10ms,所以55536就是定時器的初值,55536轉(zhuǎn)化為十六進制為0Xd8f0,所以定時器的初值為:

            TH0 = 0XD8;

            THL = 0XF0;

              

           

            用虛擬示波器抓到的波形如下:

              

           

              

           

              

           

            只需要支付硬件成本的STM32單片機學(xué)習(xí)板正在集資眾籌,價格129元,。這款學(xué)習(xí)板包含了GPIO應(yīng)用、RS232通訊、RS485通訊、CAN總線通訊、USB通訊、IIC總線、SPI總線、JTAG在線調(diào)試、SW在線調(diào)試、ISP自動下載、RTC實時時鐘、TFT真彩屏應(yīng)用等豐富的外設(shè)資源,詳情請加個人微信號liuzhx2000了解。



          關(guān)鍵詞: 單片機 定時器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();