標(biāo)題: 單片機(jī)計(jì)時(shí)器TH0 和TL0初值的計(jì)算方法 [打印本頁(yè)]

作者: aktuan007    時(shí)間: 2021-4-1 11:20
標(biāo)題: 單片機(jī)計(jì)時(shí)器TH0 和TL0初值的計(jì)算方法
看了好多視頻和帖子,都在寫怎么用定時(shí)器,但是沒有把定時(shí)器TH0 和TL0的初值計(jì)算方法寫完整,根據(jù)自己的理解進(jìn)行了一下整理:
單片機(jī)根據(jù)計(jì)時(shí)/計(jì)數(shù)模式的不同,來(lái)進(jìn)行計(jì)算

M1

M0

模式

計(jì)時(shí)器說(shuō)明

0

0

0

13位計(jì)時(shí)計(jì)數(shù)器 (8192)

0

1

1

16位計(jì)時(shí)計(jì)數(shù)器 (65536)

1

0

2

8位計(jì)時(shí)計(jì)數(shù)器,可自動(dòng)重新載入計(jì)數(shù)值 (256)

1

1

3

當(dāng)成兩組獨(dú)立的8位計(jì)時(shí)器(256,T0和T1不能同時(shí)用)


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

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

計(jì)數(shù)值=10000us(10ms轉(zhuǎn)換成微秒)*11.0592(晶振大。/12    計(jì)算結(jié)果=9216

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

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



作者: 努力的小徐    時(shí)間: 2021-4-1 18:03
設(shè)需要x個(gè)機(jī)器周期
x*12/11059200=0.01
           x=9216
65536-9216=56320
用電腦自帶計(jì)算器轉(zhuǎn)換為十進(jìn)制
結(jié)果就是DC00
作者: aktuan007    時(shí)間: 2021-4-1 22:01
努力的小徐 發(fā)表于 2021-4-1 18:03
設(shè)需要x個(gè)機(jī)器周期
x*12/11059200=0.01
           x=9216

轉(zhuǎn)換為16進(jìn)制吧




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1