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