新聞中心

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

        單片機(jī)這么久,還不會計(jì)算定時(shí)器初值就out了。

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

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

        本文引用地址:http://www.104case.com/article/201711/371645.htm

            

         

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

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

            

         

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

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

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

          定時(shí)器初值X = 65536-T;

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

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

          TH0 = 0XD8;

          THL = 0XF0;

            

         

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

            

         

            

         

            

         

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



        關(guān)鍵詞: 單片機(jī) 定時(shí)器

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 郯城县| 阿拉善右旗| 桃源县| 大余县| 巴塘县| 沈丘县| 靖江市| 高邑县| 夏邑县| 满洲里市| 汕尾市| 甘德县| 福州市| 青川县| 裕民县| 平顺县| 祁门县| 平南县| 广东省| 台前县| 莱西市| 镇赉县| 克什克腾旗| 龙州县| 阜阳市| 莫力| 永德县| 诸城市| 张家口市| 高平市| 马公市| 紫金县| 图们市| 普兰县| 苏尼特右旗| 增城市| 石棉县| 大石桥市| 聂拉木县| 新闻| 吉林省|