發(fā)布時(shí)間:2021-12-16
當(dāng)單片機(jī)工作時(shí),它從rom中一個(gè)接一個(gè)地取出指令,然后一步一步地執(zhí)行。單片機(jī)一次訪問(wèn)內(nèi)存的時(shí)間稱為機(jī)器周期,是一個(gè)時(shí)間基準(zhǔn)?!獧C(jī)器周期包括12個(gè)時(shí)鐘周期。如果單片機(jī)選擇12MHz晶振,其時(shí)鐘周期為1/12us,也是晶振周期。它的機(jī)器周期是12(1/12)us,也就是1us。
機(jī)器周期不僅對(duì)指令執(zhí)行有重要意義,也是單片機(jī)定時(shí)器和計(jì)數(shù)器的時(shí)間基準(zhǔn)。例如,如果單片機(jī)選擇12MHz晶體振蕩器,那么當(dāng)定時(shí)器值增加1時(shí),實(shí)際經(jīng)過(guò)的時(shí)間是1us,這就是單片機(jī)的計(jì)時(shí)原理。
單片機(jī)晶體振蕩器的功能
單片機(jī)晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào)。通常一個(gè)系統(tǒng)共用一個(gè)晶振,方便各部分保持同步。在一些通信系統(tǒng)中,不同的晶體振蕩器被用于基頻和射頻,并且頻率被電子調(diào)節(jié)以保持同步。
晶體振蕩器通常與鎖相環(huán)電路一起使用,以提供系統(tǒng)所需的時(shí)鐘頻率。如果不同的子系統(tǒng)需要不同頻率的時(shí)鐘信號(hào),它們可以由連接到同一晶體振蕩器的不同鎖相環(huán)提供。
在正常工作條件下,普通晶振頻率的絕對(duì)精度可達(dá)百萬(wàn)分之五十。高級(jí)精度更高。一些晶體振蕩器也可以通過(guò)一定范圍內(nèi)的外部電壓來(lái)調(diào)節(jié)頻率,這被稱為壓控振蕩器。晶體振蕩器是利用一種能將電能和機(jī)械能相互轉(zhuǎn)換的晶體,在諧振狀態(tài)下工作,提供穩(wěn)定準(zhǔn)確的單頻振蕩。
指令周期
指令周期是執(zhí)行一條指令所需的時(shí)間,一般由幾個(gè)機(jī)器周期組成。不同的指令需要不同的機(jī)器周期數(shù)。
對(duì)于一些簡(jiǎn)單的單字節(jié)指令,在取指令周期中,指令被取入指令寄存器后立即被解碼和執(zhí)行,不需要其他機(jī)器周期。對(duì)于一些復(fù)雜的指令,如分支指令、乘法指令,需要兩個(gè)或更多的機(jī)器周期。通常,一個(gè)機(jī)器周期的指令稱為單周期指令,兩個(gè)機(jī)器周期的指令稱為雙周期指令。
簡(jiǎn)單來(lái)說(shuō),沒(méi)有晶振就沒(méi)有時(shí)鐘周期,沒(méi)有時(shí)鐘周期就無(wú)法執(zhí)行程序代碼,單片機(jī)就無(wú)法工作。