什么是时钟周期?什么是机器周期?什么是指令周期?
时钟周期
时钟周期也称为振动周期,界说为时钟脉冲的倒数(能够这样来了解,时钟周期便是单片机外接晶振的倒数,例如12M的晶振,它的时刻周期便是1/12 us),是核算机中最根本的、最小的时刻单位。在一个时钟周期内,CPU仅完结一个最根本的动作。关于某种单片机,若选用了1MHZ的时钟频率,则时钟周期为1us;若选用4MHZ的时钟频率,则时钟周期为250ns。咱们时钟脉冲是核算机的根本作业脉冲,它操控着核算机的作业节奏(使核算机的每一步都统一到它的步骤上来)。明显,对同一种机型的核算机,时钟频率越高,核算机的作业速度就越快。可是,咱们不同的核算机硬件电路和器材的不完全相同,所以其所需求的时钟周频率规模也不一定相同。咱们学习的8051单片机的时钟规模是1.2MHz-12MHz。 在8051单片机中把一个时钟周期界说为一个节拍(用P一共),二个节拍界说为一个状况周期(用S一共)。
机器周期
在核算机中,为了便于管理,常把一条指令的碑文进程划分为若干个阶段,每一阶段完结一项作业。例如,取指令、存储器读、存储器写等,这每一项作业称为一个根本操作。完结一个根本操作所需求的时刻称为机器周期。一般情况下,一个机器周期由若干个S周期(状况周期)组成。8051系列单片机的一个机器周期同6个S周期(状况周期)组成。前面已说过一个时钟周期界说为一个节拍(用P一共),二个节拍界说为一个状况周期(用S一共),8051单片机的机器周期由6个状况周期组成,也便是说一个机器周期=6个状况周期=12个时钟周期。
指令周期
指令周期是碑文一条指令所需求的时刻,一般由若干个机器周期组成。指令不同,所需的机器周期数也不同。关于一些简略的的单字节指令,在取指令周期中,指令取出到指令寄存器后,当即译码碑文,不再需求其它的机器周期。关于一些比较复杂的指令,例如搬运指令、乘法指令,则需求两个或许两个以上的机器周期。
一般含一个机器周期的指令称为单周期指令,包括两个机器周期的指令称为双周期指令。
一、10MS守时器初值的核算:
1.晶振12M
12MHz除12为1MHz,也便是说一秒=1000000次机器周期。10ms=10000次 机器周期。
65536-10000=55536(d8f0)
TH0=0xd8,TL0=0xf0
2.晶振11.0592M
11.0592MHz除12为921600Hz,便是一秒921600次机器周期,10ms=9216次机器周期。
65536-9216=56320(dc00)
TH0=0xdc,TL0=0x00
二、50MS守时器初值的核算:
1.晶振12M
12MHz除12为1MHz,也便是说一秒=1000000次机器周期。50ms=50000次 机器周期。
65536-50000=15536(3cb0)
TH0=0x3c,TL0=0xb0
2.晶振11.0592M
11.0592MHz除12为921600Hz,便是一秒921600次机器周期,50ms=46080次机器周期。
65536-46080=19456(4c00)
TH0=0x4c,TL0=0x00
三、运用说明
以12M晶振为例:每秒钟能够碑文1000000次机器周期个机器周期。而T 每次溢出最多65536 个机器周期。咱们尽量应该让溢出中止的次数最少(如50ms),这样对主程序的搅扰也就最小。 开发的时分可能会根据需求替换不同频率的晶振(比方c51单片机,用11.0592M的晶振,很合适发生串口时钟,而12M晶振很便利核算守时器的时刻),运用插接式比较便利。
对12MHz 1个机器周期 1us 12/fosc = 1us
方法0 13位守时器最大时刻距离 = 2^13 = 8.192ms
方法1 16位守时器最大时刻距离 = 2^16 = 65.536ms
方法2 8位守时器最大时刻距离 = 2^8 = 0.256ms =256 us 守时5ms,核算计时器初值 M = 2^K-X*Fosc/12 12MHz 方法0: K=13,X=5ms,Fosc=12MHz 则 M = 2^13 – 5*10^(-3)*12*10^6/12= 3192 = 0x0C78 THx = 0CH,TLx = 78H,
方法1: K=16,X=5ms,Fosc=12MHz 则 M = 2^16 – 5*10^(-3)*12*10^6/12= 60536 = 0xEC78 THx = ECH,TLx = 78H,
50ms 12MHz THx = 3CH,TLx = B0H, 10ms THx = D8H,TLx = F0H,
方法2: 最大时刻 2^8Fosc/12 = 0.256ms
十进制数是怎样来的? 6MHz 一个机器周期 12/6 = 2us 守时1ms 计数初值x (2^16-x)*2us = 1000usx = 2^16 – 500 ,TH,TL 可置 -500
12MHz 一个机器周期 12/12 = 1us 12MHz 一个机器周期 12/12 = 1us 守时50ms 计数初值x (2^16-x)*1us = 50000usx = 2^16 – 50000 ,TH,TL 可置 -500 守时器 计内部晶振频率
计数器 计外部输入CPU脚上的脉冲个数 P3.4(T0) P3.5(T1) 负跳变加一
当晶振为6MHz时,最高计数频率500KHz