簡(jiǎn)單地說(shuō),沒(méi)有晶體,就沒(méi)有時(shí)鐘周期。沒(méi)有時(shí)鐘周期,程序代碼不能執(zhí)行,單片機(jī)也不能正常工作。
單片機(jī)中晶體功能作用是什么?
當(dāng)一臺(tái)單片機(jī)工作時(shí),它一個(gè)接一個(gè)地從只讀存儲(chǔ)器中取出指令,然后一步一步地執(zhí)行它們。單芯片計(jì)算機(jī)訪問(wèn)存儲(chǔ)器的時(shí)間稱為機(jī)器周期,這是一個(gè)時(shí)間基準(zhǔn)。機(jī)器周期由12個(gè)時(shí)鐘周期組成。如果單片機(jī)選用12MHz晶體振蕩器,其時(shí)鐘周期為1\/12us,機(jī)器周期為12*(1\/12)us,即1us。
在MCS-51單片機(jī)的所有指令中,有的完成得更快,只要一個(gè)機(jī)器周期,有的就完成更多的饅頭,需要兩個(gè)機(jī)器周期,兩個(gè)指令需要四個(gè)機(jī)器周期。為了測(cè)量指令的執(zhí)行時(shí)間,引入了指令周期的概念。所謂的指令周期是指指令執(zhí)行的時(shí)間。例如,當(dāng)需要計(jì)算完成djnz指令所需的時(shí)間時(shí),必須首先知道晶體振蕩的頻率。如果使用的晶體振蕩為12兆赫,則機(jī)器周期為1us。djnz指令是兩個(gè)周期的指令,因此需要2us執(zhí)行一次。如果指令需要執(zhí)行500次,則正好是1000us或1ms。
機(jī)器周期不僅對(duì)指令的執(zhí)行具有重要意義,而且是單片機(jī)定時(shí)器和計(jì)數(shù)器的時(shí)間基準(zhǔn)。例如,當(dāng)單片機(jī)選擇12MHz晶體振蕩器時(shí),當(dāng)定時(shí)器的值加為1時(shí),實(shí)際時(shí)間為1us,這是單片機(jī)的定時(shí)原理。