找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機計時器TH0 和TL0初值的計算方法

[復制鏈接]
跳轉到指定樓層
樓主
ID:582255 發(fā)表于 2021-4-1 11:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
看了好多視頻和帖子,都在寫怎么用定時器,但是沒有把定時器TH0 和TL0的初值計算方法寫完整,根據(jù)自己的理解進行了一下整理:
單片機根據(jù)計時/計數(shù)模式的不同,來進行計算

M1

M0

模式

計時器說明

0

0

0

13位計時計數(shù)器 (8192)

0

1

1

16位計時計數(shù)器 (65536)

1

0

2

8位計時計數(shù)器,可自動重新載入計數(shù)值 (256)

1

1

3

當成兩組獨立的8位計時器(256,T0和T1不能同時用)


以11.05921M晶振為例,假設需要定時10ms。當我們選擇模式1,16位計時計數(shù)器,16位計數(shù)器最大十進制數(shù)值為65536。來計算定時10ms所定義TH0與TL0的值

首先計算計數(shù)值:

計數(shù)值=10000us(10ms轉換成微秒)*11.0592(晶振大�。�/12    計算結果=9216

再計算TH0=(65536-9216)/256     =DC

           TL0=(65536-9216)%256  =00    //8位逢256進位,整除的結果為高位,取余的結果為低位


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:867067 發(fā)表于 2021-4-1 18:03 | 只看該作者
設需要x個機器周期
x*12/11059200=0.01
           x=9216
65536-9216=56320
用電腦自帶計算器轉換為十進制
結果就是DC00
回復

使用道具 舉報

板凳
ID:582255 發(fā)表于 2021-4-1 22:01 | 只看該作者
努力的小徐 發(fā)表于 2021-4-1 18:03
設需要x個機器周期
x*12/11059200=0.01
           x=9216

轉換為16進制吧
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

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