为什么51单片机用的是12M晶振,但是出来的速度是相当于1M晶振的?

来源:百度知道 编辑:UC知道 时间:2024/05/29 01:06:25
谁可以说下具体原因

你是怎么看出来相当于1M晶振的?

晶振是给单片机提供工作信号脉冲的.这个脉冲就是单片机的工作速度,但是如果单片机的工作频率太高,会影响工作稳定性,那么在设计允许的范围内,降低工作频率是有益处的。 不知我理解的对不对。

一个机周的指令是12个时钟频率,
你可以去看看stc的1t的单片机,那个快多了

51是复杂指令集的单片机,执行一个指令需要多个时钟期来完成,但并不是所有指令都是相同的周期,有的多,有的少,1M不知是怎样定义,许多精简指令集(RISC)的单片机是单周期的(如PIC,AVR,但其某个指令也需两个周期的)

51单片机振荡频率范围是1.2MHz~12MHz。晶体振荡器的振荡信号输入到片内的时钟发生器上,时钟发生器是一个2分频触发器电路,它将振荡器的信号频率fOSC除以2,时钟信号的周期称为机器状态时间S(STATE),它是振荡周期的2倍。计算机执行一条指令需要多长时间则以机器周期为单位。一个机器周期是指CPU访问存储器一次所需要的时间,或完成一个基本操作所需要的时间。
MCS-51的一个机器周期需要6个时钟信号即12个振荡周期。由此可知如果晶振12MHz,则机器周期频率就是1MHz,也就是你所说的“出来的速度是相当于1M晶振”,其实这个廉洁不准确,不是出来的速度是相当于1M晶振,而是机器周期频率就是1MHz。
具体请参阅相关电路图。