|
看了好多視頻和帖子,都在寫怎么用定時(shí)器,但是沒有把定時(shí)器TH0 和TL0的初值計(jì)算方法寫完整,根據(jù)自己的理解進(jìn)行了一下整理:
單片機(jī)根據(jù)計(jì)時(shí)/計(jì)數(shù)模式的不同,來進(jìn)行計(jì)算
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。來計(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é)果為低位
|
評(píng)分
-
查看全部評(píng)分
|