㈠ 单片机指令周期的计算
计算方法:PIC单片机的每四个时钟周期为一个内部指令周期,例如:8MHz的晶振,则内部指令周期为1/(8/4)= 0.5 uS
实例一:35us, 8MHz的晶振, 8位定时器, 分频比1/2 , 初值 E4
实例二:156.25us , 32768Hz的晶振, 8位定时器, 分频比1/32 , 初值 FC
计算方法一: 35 = =(256-初值)*分频*4/晶振 + 14/分频 =(256-初值)+14/2
计算方法二:0.015625 =(256-初值)*分频*4/晶振 = (256-初值)*32*4/32768
特别注意:分频比1-8 需要加上一个14/分频
指令周期是指令周期执行某一条指令所消耗的时间,它等于机器周期的整数倍。传统的80C51单片机的指令周期大多数是单周期指令,也就是指令周期=机器周期,少部分是双周期指令。
(1)单片机内循环机器周期算法扩展阅读
在MCS-51系统中,有单周期指令,双周期指令。四周期指令只有乘,除两条指令。指令的运算速度和它的机器周期直接相关,机器周期数较小则执行速度快。
在编程时要注意选用具有同样功能而机器周期数小的指令。每一条指令的执行都可以包括取指和执行两个阶段。在取指阶段,CPU从内部或者外部ROM中取出指令操作码及操作数,然后再执行这条指令。
在8051指令系统中,根据各种操作的繁简程度,其指令可由单字节,双字节和三字节组成。从机器执行指令的速度看,单字节和双字节指令都可能是单周期或双周期,
而三字节指令都是双周期,只有乘,除指令占四个周期,一条指令的字节数表征这条指令在存储器中所占空间大小,而周期数表征运行这条指令所花时间长短,即运行速度。
㈡ 单片机求机械周期
机器周期 T = 2us。
初始化:
TMOD = 1;
TH0 = (65535 - 500) / 256;
TL0 = (65535 - 500) % 256;
while(1);
㈢ 单片机中机器周期的算法怎么解
采用的时钟频率
除
分频数
就是
单片机中机器周期的倒数
㈣ 单片机中机器周期是
大体来说,一条for循环大概8个机器周期,125*8*1us*12个时钟周期,等于(125*8)个机器周期(12MHZ)
㈤ 什么是单片机的机器周期,震荡周期和指令周期
(1)振荡周期:也称时钟周期,是指为单片机提供时钟信号的振荡源的周期,一般实验板上为11.0592MHZ,12MHZ和24MHZ用的也比较多。
■ (2)状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。
■ (3)机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。
■ (4)指令周期:它是指CPU完成一条操作的所需的全部时间。
㈥ 关于单片机定时器周期计算问题
你的不明白其实就是对于定时器的初值问题,11.0592是始终的晶振,时钟周期就是1/11.0592M
而定时器的周期就是12/11.0592 因为51单片机是12分频的
。
还有很多......
如果你写的是C的话建议这样写
TMOD=0X01// 定时器0方式1
TH0=(65535-50000)/256;//因为是16位计数 假设晶振为12MHZ 11.0592的是4600多吧,自己算算...
TL=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
主要的计算就是其中的50000 中断一次所需要的时间就是50000乘以刚才所算的定时器的周期 (这个是50MS)
也就是你说的:就是比如定时器TF0置1的时间 中断的时候TF0 要求CPU中断而引起中断
好了
12倍的时间周期就是机械周期,(刚才说过是12分频的)
好了,还有什么不懂的再说吧
㈦ 51单片机机器周期
对于普通的51单片机而言,一个机器周期等于12个晶振的周期。12M晶振而言,12个周期正好1us。
㈧ 51系列单片机for语句怎么算机器周期的啊
怎么可能呢?是怎么测出来呢?用的是数字示波器吗?很可能被其它代码干扰了吧,可以 使用反汇编工具计算时间 的啊:用Keil C51中的反汇编工具计算延时时间,在反汇编窗口中可用源程序和汇编程序的混合代码或汇编代码显示目标应用程序。首先选择build taget,然后单击start/stop debug session按钮进入程序调试窗口,最后打开Disassembly window,找出与这部分循环结构相对应的汇编代码,具体如下: 可以看出,0x0003~0x0012一共10条语句,分析语句可以发现核心循环只有0x0005~0x0012共8条语句,执行取反一次也就是8~10微秒!
㈨ 单片机的机器周期和时钟周期分别怎么算的,还请举例说明下
单片机的机器周期=12秒/晶振频率,时钟周期=振荡周期,等于单片机晶振频率的倒数,如常见的外接12M晶振,那它的时钟周期=1/12M。
时钟周期以时间动作重复的最小周期来度量,度量单位采用时间单位。在单个时钟周期内(现代非嵌入式微处理器的这个时间一般都短于1纳秒),逻辑零状态与逻辑一状态来回切换。由于发热和电气规格的限制,周期里逻辑零状态的持续时间历来要长于逻辑一状态。
一般情况下,一个机器周期由若干个S周期(状态周期)组成。通常用内存中读取一个指令字的最短时间来规定CPU周期,(也就是 计算机通过内部或外部总线进行一次信息传输从而完成一个或几个微操作所需要的时间)),它一般由12个时钟周期(振荡周期)组成,也是由6个状态周期组成。
(9)单片机内循环机器周期算法扩展阅读
在一个时钟周期内,CPU仅完成一个最基本的动作。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。
但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。我们学习的 8051单片机的时钟范围是1.2MHz-12MHz。
一个机器周期包含六个状态周期(用S表示)。一个状态周期有两个节拍(用P1、P2表示)。8051系列单片机的一个机器周期同6 个S周期(状态周期)组成。也就是说一个机器周期=6个状态周期=12个振荡周期(即时钟周期)。