我举个例子吧,假如是12Mhz的晶振,那么执行速度是12分之1的晶振频率,也就是1Mhz的执行速度。而mcs 51单片机(一般指课本上那些过时的货色,像宏晶就不同,好像震荡周期最高33Mhz)最高的晶振频率就是24Mhz,这个是有数据可查的,你可以查看at89s51的数据手册,高于这个频率可能工作就不稳定或者不能工作,所以转换成执行速度的话就是2Mhz,你老师没说错的。
课本上的51单片机都是12个震荡周期合成一个机器周期,也就是直接和执行速度有关的周期是晶振的12分之一……
一般的51单片机都是有12分频的。单片机的运行速度与指令周期有关,而一个指令周期等于1到4个机器周期,同时机器周期是振荡周期的12被,即12/晶振频率。这个机器周期反映了单片机运算的速度。
一般MCU内部都用一个PLL,晶振频率被倍频或者分频后速度加快了,其相应机器周期就发生变化,而51单片机,晶振频率在内部经过12分频后,其机器周期变慢了
看来你指令寻址的过程你没学好!
实际上,典型的51单片机,12MHZ的晶振运行的速度是1MHZ 也就是12分频!