單片機(jī)工作時(shí),,是一條一條地從RoM中取指令,,然后一步一步地執(zhí)行,。單片機(jī)訪(fǎng)問(wèn)一次存儲(chǔ)器的時(shí)間,,稱(chēng)之為一個(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í)間的長(zhǎng)短,,又引入一個(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)過(guò)的時(shí)間就是1us,,這就是單片機(jī)的定時(shí)原理。
簡(jiǎn)單地說(shuō),,沒(méi)有晶振,,就沒(méi)有時(shí)鐘周期,沒(méi)有時(shí)鐘周期,,就無(wú)法執(zhí)行程序代碼,,單片機(jī)就無(wú)法工作。