總結(jié)51單片機(jī)時(shí)鐘與周期之間的關(guān)系
單片機(jī)機(jī)中,有時(shí)鐘周期,機(jī)器周期,指令周期,初學(xué)者往往不能弄清楚他們之間的關(guān)系,這里我就簡(jiǎn)單介紹一下.
本文引用地址:http://cafeforensic.com/article/201808/391415.htm在說明之前我首先要明確幾個(gè)概念,既什么是周期和頻率,相信大多數(shù)人都知道他們的含義,周期就是物體循環(huán)一周的時(shí)間,頻率就是1 秒鐘內(nèi)循環(huán)的次數(shù).單片機(jī)是靠脈沖工作的,既一個(gè)脈沖單片機(jī)產(chǎn)生一個(gè)操作.下面言歸正傳.
時(shí)鐘周期:時(shí)鐘周期也稱為振蕩周期,定義為時(shí)鐘脈沖的倒數(shù)(可以這樣來(lái)理解,時(shí)鐘周期就是單片機(jī)外接晶振的倒數(shù),例如12M的晶振,它的時(shí)間周期就是1/12 us), 既產(chǎn)生一個(gè)脈沖的時(shí)間,是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。
在一個(gè)時(shí)鐘周期內(nèi),CPU僅完成一個(gè)最基本的動(dòng)作。對(duì)于某種單片機(jī),若采用了1MHZ的時(shí)鐘頻率,則時(shí)鐘周期為1us;若采用4MHZ的時(shí)鐘頻率,則時(shí)鐘周期為250ns。由于時(shí)鐘脈沖是計(jì)算機(jī)的基本工作脈沖,它控制著計(jì)算機(jī)的工作節(jié)奏(使計(jì)算機(jī)的每一步都統(tǒng)一到它的步調(diào)上來(lái))。顯然,對(duì)同一種機(jī)型的計(jì)算機(jī),時(shí)鐘頻率越高,計(jì)算機(jī)的工作速度就越快。但是,由于不同的計(jì)算機(jī)硬件電路和器件的不完全相同,所以其所需要的時(shí)鐘周頻率范圍也不一定相同。我們學(xué)習(xí)的8051單片機(jī)的時(shí)鐘范圍是1.2MHz-12MHz。
機(jī)器周期:單片機(jī)工作時(shí),是一條一條地從RoM中取指令,然后一步一步地執(zhí)行為了便于管理,常把一條指令的執(zhí)行過程劃分為若干個(gè)階段,每一階段完成一項(xiàng)工作。例如,取指令、存儲(chǔ)器讀、存儲(chǔ)器寫等,這每一項(xiàng)工作稱為一個(gè)基本操作,完成一個(gè)基本操作所需要的時(shí)間稱為機(jī)器周期既單片機(jī)訪問一次存儲(chǔ)器的時(shí)間,稱之為一個(gè)機(jī)器周期,這是一個(gè)時(shí)間基準(zhǔn)。—個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期。如果一個(gè)單片機(jī)選擇了12MHZ晶振,它的時(shí)鐘周期是1/12us,也是一個(gè)晶振周期。它的一個(gè)機(jī)器周期是12×(1/12)us,也就是1us。機(jī)器周期不僅對(duì)于指令執(zhí)行有著重要的意義,而且機(jī)器周期也是單片機(jī)定時(shí)器和計(jì)數(shù)器的時(shí)間基準(zhǔn)。例如一個(gè)單片機(jī)選擇了12MHZ晶振,那么當(dāng)定時(shí)器的數(shù)值加1時(shí),實(shí)際經(jīng)過的時(shí)間就是1us,這就是單片機(jī)的定時(shí)原理。
指令周期是執(zhí)行一條指令所需要的時(shí)間,一般由若干個(gè)機(jī)器周期組成。指令不同,所需的機(jī)器周期數(shù)也不同。對(duì)于一些簡(jiǎn)單的的單字節(jié)指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執(zhí)行,不再需要其它的機(jī)器周期。對(duì)于一些比較復(fù)雜的指令,例如轉(zhuǎn)移指令、乘法指令,則需要兩個(gè)或者兩個(gè)以上的機(jī)器周期。
通常含一個(gè)機(jī)器周期的指令稱為單周期指令,包含兩個(gè)機(jī)器周期的指令稱為雙周期指令。
簡(jiǎn)單地說,沒有晶振,就沒有時(shí)鐘周期,沒有時(shí)鐘周期,就無(wú)法執(zhí)行程序代碼,單片機(jī)就無(wú)法工作。
評(píng)論