单片机机器周期怎么计算公式_单片机定时器周期计算公式
定時(shí)器是單片機(jī)的重要功能模塊之一,在檢測(cè)、控制領(lǐng)域有廣泛應(yīng)用。定時(shí)器常用作定時(shí)時(shí)鐘,以實(shí)現(xiàn)定時(shí)檢測(cè),定時(shí)響應(yīng)、定時(shí)控制,并且可以產(chǎn)生ms寬的脈沖信號(hào),驅(qū)動(dòng)步進(jìn)電機(jī)。定時(shí)和計(jì)數(shù)的最終功能都是通過(guò)計(jì)數(shù)實(shí)現(xiàn),若計(jì)數(shù)的事件源是周期固定的脈沖則可實(shí)現(xiàn)定時(shí)功能,否則只能實(shí)現(xiàn)計(jì)數(shù)功能。因此可以將定時(shí)和計(jì)數(shù)功能全由一個(gè)部件實(shí)現(xiàn)。
10MS定時(shí)器初值的計(jì)算
1.晶振12M
12MHz除12為1MHz,也就是說(shuō)一秒=1000000次機(jī)器周期。10ms=10000次機(jī)器周期。
65536-10000=55536(d8f0)
TH0=0xd8,TL0=0xf0
2.晶振11.0592M
11.0592MHz除12為921600Hz,就是一秒921600次機(jī)器周期,10ms=9216次機(jī)器周期。
65536-9216=56320(dc00)
TH0=0xdc,TL0=0x00
50MS定時(shí)器初值的計(jì)算
1.晶振12M
12MHz除12為1MHz,也就是說(shuō)一秒=1000000次機(jī)器周期。50ms=50000次機(jī)器周期。
65536-50000=15536(3cb0)
TH0=0x3c,TL0=0xb0
2.晶振11.0592M
11.0592MHz除12為921600Hz,就是一秒921600次機(jī)器周期,50ms=46080次機(jī)器周期。
65536-46080=19456(4c00)
TH0=0x4c,TL0=0x00
使用說(shuō)明
以12M晶振為例:每秒鐘可以執(zhí)行1000000次機(jī)器周期個(gè)機(jī)器周期。而T每次溢出最多65536個(gè)機(jī)器周期。我們盡量應(yīng)該讓溢出中斷的次數(shù)最少(如50ms),這樣對(duì)主程序的干擾也就最小。開發(fā)的時(shí)候可能會(huì)根據(jù)需要更換不同頻率的晶振(比如c51單片機(jī),用11.0592M的晶振,很適合產(chǎn)生串口時(shí)鐘,而12M晶振很方便計(jì)算定時(shí)器的時(shí)間),使用插接式比較方便。
對(duì)12MHz1個(gè)機(jī)器周期1us12/fosc=1us
方式013位定時(shí)器最大時(shí)間間隔=2^13=8.192ms
方式116位定時(shí)器最大時(shí)間間隔=2^16=65.536ms
方式28位定時(shí)器最大時(shí)間間隔=2^8=0.256ms=256us定時(shí)5ms,計(jì)算計(jì)時(shí)器初值M=2^K-X*Fosc/1212MHz方式0:K=13,X=5ms,Fosc=12MHz則M=2^13-5*10^(-3)*12*10^6/12=3192=0x0C78THx=0CH,TLx=78H,
方式1:K=16,X=5ms,Fosc=12MHz則M=2^16-5*10^(-3)*12*10^6/12=60536=0xEC78THx=ECH,TLx=78H,
50ms12MHzTHx=3CH,TLx=B0H,10msTHx=D8H,TLx=F0H,
方式2:最大時(shí)間2^8Fosc/12=0.256ms
十進(jìn)制數(shù)是怎么來(lái)的?6MHz一個(gè)機(jī)器周期12/6=2us定時(shí)1ms計(jì)數(shù)初值x(2^16-x)*2us=1000usx=2^16-500,TH,TL可置-500
12MHz一個(gè)機(jī)器周期12/12=1us12MHz一個(gè)機(jī)器周期12/12=1us定時(shí)50ms計(jì)數(shù)初值x(2^16-x)*1us=50000usx=2^16-50000,TH,TL可置-500定時(shí)器計(jì)內(nèi)部晶振頻率
計(jì)數(shù)器計(jì)外部輸入CPU腳上的脈沖個(gè)數(shù)P3.4(T0)P3.5(T1)負(fù)跳變加一
當(dāng)晶振為6MHz時(shí),最高計(jì)數(shù)頻率500KHz
總結(jié)
以上是生活随笔為你收集整理的单片机机器周期怎么计算公式_单片机定时器周期计算公式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: u盘上面的东西怎么删除不成 &q
- 下一篇: MATLAB设置x为0到10所有数,MA