單片機(jī)工作時(shí),,是一條一條地從RoM中取指令,,然后一步一步地執(zhí)行。單片機(jī)訪問一次存儲(chǔ)器的時(shí)間,,稱之為一個(gè)機(jī)器周期,,這是一個(gè)時(shí)間基準(zhǔn),。1個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期,。如果一個(gè)單片機(jī)選擇了12MHz晶振,,它的時(shí)鐘周期是1/12us,它的一個(gè)機(jī)器周期是12(1/12)us,,也就是1us,。
MCS51單片機(jī)的所有指令中,有一些完成得比較快,,只要一個(gè)機(jī)器周期就行了,,有一些完成得比較饅,,得要2個(gè)機(jī)器周期,,還有兩條指令要4個(gè)機(jī)器周期才行,。為了衡量指令執(zhí)行時(shí)間的長短,又引入一個(gè)新的概念:指令周期,。所謂指令周期就是指執(zhí)行一條指令的時(shí)間,。例如,當(dāng)需要計(jì)算DJNZ指令完成所需要的時(shí)間時(shí),,首先必須要知道晶振的頻率,,設(shè)所用晶振為12MHz,則一個(gè)機(jī)器周期就是1us,。而DJNZ指令是雙周期指令,,所以執(zhí)行一次要2us。如果該指令需要執(zhí)行500次,,正好1000us,,也就是1ms。
機(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í)原理。
簡單地說,,沒有晶振,,就沒有時(shí)鐘周期,沒有時(shí)鐘周期,,就無法執(zhí)行程序代碼,,單片機(jī)就無法工作。