51單片機時(shí)序及延時(shí)分析
時(shí)鐘周期
時(shí)鐘周期也稱(chēng)為振蕩周期,定義為時(shí)鐘脈沖的倒數(可以這樣來(lái)理解,時(shí)鐘周期就是單片機外接晶振的倒數,例如12M的晶振,它的時(shí)間周期就是1/12 us),是計算機中最基本的、最小的時(shí)間單位。
在一個(gè)時(shí)鐘周期內,CPU僅完成一個(gè)最基本的動(dòng)作。對于某種單片機,若采用了1MHZ的時(shí)鐘頻率,則時(shí)鐘周期為1us;若采用4MHZ的時(shí)鐘頻率,則時(shí)鐘周期為250us。由于時(shí)鐘脈沖是計算機的基本工作脈沖,它控制著(zhù)計算機的工作節奏(使計算機的每一步都統一到它的步調上來(lái))。顯然,對同一種機型的計算機,時(shí)鐘頻率越高,計算機的工作速度就越快。但是,由于不同的計算機硬件電路和器件的不完全相同,所以其所需要的時(shí)鐘周頻率范圍也不一定相同。我們學(xué)習的8051單片機的時(shí)鐘范圍是1.2MHz-12MHz。
在8051單片機中把一個(gè)時(shí)鐘周期定義為一個(gè)節拍(用P表示),二個(gè)節拍定義為一個(gè)狀態(tài)周期(用S表示)。請大家參考后面的時(shí)序圖。
機器周期
在計算機中,為了便于管理,常把一條指令的執行過(guò)程劃分為若干個(gè)階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫(xiě)等,這每一項工作稱(chēng)為一個(gè)基本操作。完成一個(gè)基本操作所需要的時(shí)間稱(chēng)為機器周期。一般情況下,一個(gè)機器周期由若干個(gè)S周期(狀態(tài)周期)組成。8051系列單片機的一個(gè)機器周期同6個(gè)S周期(狀態(tài)周期)組成。前面已說(shuō)過(guò)一個(gè)時(shí)鐘周期定義為一個(gè)節拍(用P表示),二個(gè)節拍定義為一個(gè)狀態(tài)周期(用S表示),8051單片機的機器周期由6個(gè)狀態(tài)周期組成,也就是說(shuō)一個(gè)機器周期=6個(gè)狀態(tài)周期=12個(gè)時(shí)鐘周期。參見(jiàn)后面的時(shí)序圖。
指令周期
指令周期是執行一條指令所需要的時(shí)間,一般由若干個(gè)機器周期組成。指令不同,所需的機器周期數也不同。對于一些簡(jiǎn)單的的單字節指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執行,不再需要其它的機器周期。對于一些比較復雜的指令,例如轉移指令、乘法指令,則需要兩個(gè)或者兩個(gè)以上的機器周期。
時(shí)鐘周期、機器周期、指令周期之間的關(guān)系圖如下。
通常含一個(gè)機器周期的指令稱(chēng)為單周期指令,包含兩個(gè)機器周期的指令稱(chēng)為雙周期指令。
MCS-51指令系統中,按它們的長(cháng)度可分為單字節指令、雙字節指令和三字節指令。執行這些指令需要的時(shí)間是不同的,也就是它們所需的機器周期是不同的,有下面幾種形式:
·單字節指令單機器周期
·單字節指令雙機器周期
·雙字節指令單機器周期
·雙字節指令雙機器周期
·三字節指令雙機器周期
·單字節指令四機器周期(如單字節的乘除法指令)
下圖是MCS-51系列單片機的指令時(shí)序圖:
上圖是單周期和雙周期取指及執行時(shí)序,圖中的ALE脈沖是為了鎖存地址的選通信號,顯然,每出現一次該信號單片機即進(jìn)行一次讀指令操作。從時(shí)序圖中可看出,該信號是時(shí)鐘頻率6分頻后得到,在一個(gè)機器周期中,ALE信號兩次有效,第一次在S1P2和S2P1期間,第二次在S4P2和S5P1期間。
51單片機相關(guān)文章:51單片機教程
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理
評論