怡春院2017,日韩av网页,717韩国三级理伦电影,欧美久草网,亚洲欧美日韩综合,一级特黄色片子

您現(xiàn)在的位置: 主頁(yè) > 技術(shù)分享 > 硬件知識(shí) > MCU & ARM

PIC單片機(jī)定時(shí)器初值計(jì)算方法及時(shí)鐘周期、機(jī)器

一、PIC單片機(jī)定時(shí)器初值計(jì)算方法 
PIC的指令周期是4個(gè)震蕩周期,在沒有使用分頻器的情況下,TMR0 會(huì)在每個(gè)指令周期信號(hào)(等于晶體振蕩器產(chǎn)生的主時(shí)鐘周期的 4 倍)到來時(shí)自動(dòng)加 1。
在配置了分頻器的情況下,TMR0 會(huì)在每次收到由分頻器將指令周期信號(hào)分頻一個(gè)固定倍數(shù)后產(chǎn)生的信號(hào)時(shí)自動(dòng)加 1。
如果 TMR0在累加計(jì)數(shù)的過程中,CPU 執(zhí)行一條往 TMR0 中寫入數(shù)據(jù)的指令,則累加計(jì)數(shù)器的加 1 操作將被推遲兩個(gè)指令周期,重新開始計(jì)數(shù)。這兩個(gè)指令周期的偏差在用戶編寫時(shí)間精度要求較高的程序時(shí)應(yīng)引起注意,可以通過在每次寫入 TMR0 時(shí)給一個(gè)調(diào)整值的方法來解決。  假設(shè)的是時(shí)鐘頻率為 4MHz,因此,一個(gè)指令周期就是一個(gè)微秒(μs)的時(shí)間,也就是計(jì)數(shù)一次時(shí)間是1us。 
沒有分頻比定時(shí)器的初值計(jì)算公式:T0=256-Tc+2     其中TC是想得到的次數(shù)。加2的原因是寫值的時(shí)候要消耗兩個(gè)指令周期。  如果分頻器給了定時(shí)器,最好不要再讀寫TMR0了,不然會(huì)照成誤差。  假設(shè)分頻器是16,晶振是4Mhz(指令周期1MHz),則一次由00到FF的時(shí)間是16*256=4096us。假設(shè)50ms的時(shí)間  在中斷每次加上4096,  主程序檢查是不是超過5000,超過了就減掉5000,這樣算是50ms就得到了。



再如:EG:

晶振8M 需定時(shí)25us 分頻比1:2

初值(EE)=256 - 25/ (4/8*2) + 14/2  = 256- 25 + 7 = 238
 

二、時(shí)鐘周期、機(jī)器周期、指令周期的概念及三者之間的關(guān)系

時(shí)鐘周期
時(shí)鐘周期也稱為振蕩周期,定義為時(shí)鐘脈沖的倒數(shù)(可以這樣來理解,時(shí)鐘周期就是單片機(jī)外接晶振的倒數(shù),例如12M的晶振,它的時(shí)間周期就是1/12 us),是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。

總線周期:cpu從內(nèi)存中讀取指令,向內(nèi)存中存取數(shù)據(jù),對(duì)外設(shè)端口讀寫數(shù)據(jù),執(zhí)行總線周期,總線周期通常包含4個(gè)T狀態(tài):T1,T2,T3,T4。所謂一個(gè)T狀態(tài)就是一個(gè)時(shí)鐘周期。它是CPU執(zhí)行操作的最小時(shí)間單位。
 
機(jī)器周期:通常用從內(nèi)存中讀取一個(gè)指令字的最短時(shí)間來規(guī)定CPU周期(機(jī)器周期),也即CPU完成一個(gè)基本操作所需的時(shí)間。通常一個(gè)機(jī)器周期包含12個(gè)時(shí)鐘周期,在8051系列單片機(jī)。又稱CPU的工作周期或基本周期,總線周期。
 
指令周期:執(zhí)行一條指令所需要的時(shí)間,是從取指令、分析指令到執(zhí)行完指令所需的全部時(shí)間,計(jì)算機(jī)中,常把一條指令的執(zhí)行過程劃分為若干個(gè)階段,每一個(gè)階段完成一項(xiàng)工作。每一項(xiàng)工作稱為一個(gè)基本操作,完成一個(gè)基本操作所需要的時(shí)間稱為機(jī)器周期,所以一個(gè)指令周期一般由若干個(gè)機(jī)器周期組成。指令不同,所需的機(jī)器周期也不同,比如一個(gè)復(fù)雜指令可能需要很多個(gè)機(jī)器周期才能完成,而每個(gè)機(jī)器周期又由多個(gè)時(shí)鐘周期完成。
?