新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機定時器定時計算方法

        單片機定時器定時計算方法

        作者: 時間:2016-11-17 來源:網絡 收藏
        對12MHz 1個機器周期 1us 12/fosc = 1us

        方式0 13位定時器最大時間間隔 = 2^13 = 8.192ms
        方式1 16位定時器最大時間間隔 = 2^16 = 65.536ms
        方式2 8位定時器最大時間間隔 = 2^8 = 0.256ms =256 us

        定時5ms,計算計時器初值 M = 2^K-X*Fosc/12 12MHz
        方式0: K=13,X=5ms,Fosc=12MHz 則 M = 2^13 - 5*10^(-3)*12*10^6/12= 3192 = 0x0C78
        THx = 0CH,TLx = 78H,
        方式1: K=16,X=5ms,Fosc=12MHz 則 M = 2^16 - 5*10^(-3)*12*10^6/12= 60536 = 0xEC78
        THx = ECH,TLx = 78H,

        50ms 12MHz THx = 3CH,TLx = B0H,
        10ms THx = D8H,TLx = F0H,
        方式2: 最大時間 2^8Fosc/12 = 0.256ms

        十進制數是怎么來的?
        6MHz 一個機器周期 12/6 = 2us
        定時1ms 計數初值x
        (2^16-x)*2us = 1000us
        x = 2^16 - 500 ,TH,TL 可置 -500

        12MHz 一個機器周期 12/12 = 1us
        12MHz 一個機器周期 12/12 = 1us
        定時50ms 計數初值x
        (2^16-x)*1us = 50000us
        x = 2^16 - 50000 ,TH,TL 可置 -500

        定時器 計內部晶振頻率
        計數器 計外部輸入CPU腳上的脈沖個數 P3.4(T0) P3.5(T1) 負跳變加一
        當晶振為6MHz時,最高計數頻率500KHz

        寄存器
        1 TH TL
        2 TCON
        TR0 TR1 其他位是中斷控制位

        TMOD
        GATE C/T1 M1 M0 GATE C/T0 M1 M0


        C8051F00X
        定時器:每個時鐘加1 時鐘可為系統時鐘或系統時鐘的1/12
        CKCON

        當引腳上出現電平時啟動T0 當不滿足時,停止T0,讀出以后清零 。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 重庆市| 左权县| 凯里市| 临清市| 宁都县| 锡林郭勒盟| 南宁市| 宿迁市| 修文县| 连城县| 濮阳县| 肃北| 石家庄市| 中山市| 屏边| 太原市| 宁远县| 措勤县| 永靖县| 长治市| 赤壁市| 鹿邑县| 城固县| 留坝县| 红原县| 博野县| 错那县| 凤冈县| 都昌县| 安达市| 德令哈市| 布尔津县| 台南县| 河池市| 伊春市| 丹江口市| 顺义区| 佛山市| 马关县| 台中市| 江陵县|