晶振在單片機(jī)中的作用
簡單地說,沒有晶振,就沒有時(shí)鐘周期,沒有時(shí)鐘周期,就無法執(zhí)行程序代碼,單片機(jī)就無法工作。
單片機(jī)工作時(shí),是一條一條地從RoM中取指令,然后一步一步地執(zhí)行。單片機(jī)訪問一次存儲器的時(shí)間,稱之為一個(gè)機(jī)器周期,這是一個(gè)時(shí)間基準(zhǔn)。—個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期。如果一個(gè)單片機(jī)選擇了12MHz晶振,它的時(shí)鐘周期是1/12us,它的一個(gè)機(jī)器周期是12×(1/12)us,也就是1us。
MCS—51單片機(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ī)器周期不僅對于指令執(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í)原理。
評論