关于单片机定时器周期计算问题

单片机的定时器的周期怎么算?就是比如定时器TF0置1的时间,我的晶振是11。0592MHz的 怎么算 还有就是时钟周期,状态周期,机器周期的概念和联系及换算?
谢谢

你的不明白其实就是对于定时器的初值问题,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分频的)
好了,还有什么不懂的再说吧
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-02-19
时钟周期:
时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12
us),是计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。
8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。
机器周期:
在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。
8051系列单片机的一个机器周期同6个
S周期(状态周期)组成。前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。
例如外接24M晶振的单片机,他的一个机器周期=12/24M
秒;
指令周期:
执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。
对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。
通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
总线周期:
由于存贮器和I/O端口是挂接在总线上的,CPU对存贮器和I/O接口的访问,是通过总线实现的。通常把CPU通过总线对微处理器外部(存贮器或
I/O接口)进行一次访问所需时间称为一个总线周期。
总结一下,时钟周期是最小单位,机器周期需要1个或多个时钟周期,指令周期需要1个或多个机器周期;机器周期指的是完成一个基本操作的时间,这个基本操作有时可能包含总线读写,因而包含总线周期,但是有时可能与总线读写无关,所以,并无明确的相互包含的关系。
指令周期:是CPU的关键指标,指取出并执行一条指令的时间。一般以机器周期为单位,分单指令执行周期、双指令执行周期等。现在的处理器的大部分指令(ARM、DSP)均采用单指令执行周期。
机器周期:完成一个基本操作的时间单元,如取指周期、取数周期。
时钟周期:CPU的晶振的工作频率的倒数。
(转)
以51为例,晶振11.0592M,时钟周期(晶振周期)就是(1/11.0592)μs,一个机器周期包含12个时钟周期(6个状态周期),一个机器周期就是
1μs。一个机器周期一般是一条指令花费的时间,也有些是2个机器周期的指令,DJNZ,是双周期指令.

定时器的实际定时时间等于
单片机的定时时间的计算公式=计数值(定时值)*机器周期=计数值(定时值)*12\/晶振频率。上面的两个等号是等价的,因为,单片机的机器周期=12秒\/晶振频率,因此两个公式通用。完成一个基本操作所需要的时间称为机器周期。一般,一个机器周期由若干个S周期(状态周期)组成。80C51系列单片机一个机器周期由...

PIC单片机定时器初值计算方法及几种周
1 可以按定时时间的计算公式, 计算出定时器的时间常数X:定时时间T=(2的N次方-X)12\/单片机晶振频率 2 N为定时器的工作方式:方式0时,N=13 方式1时,N=16 方式2时,N=8 3 根据定时时间和工作方式,计算出时间常数X 把X转换成二进制数,高8位送给TH1,低8位送给TL1,就可以启动定时器开始定...

单片机定时器计数值初值是多少?
1、系统晶振频率是12M,则机器周期=12\/12=1us;2、定时1ms=1*1000=1000us;3、工作在方式0下:最大计数值是2^13=8192;4、定时初值=8192-(1*1000)=7192;5、换算成十六进制数为:定时初值=1C18H。定时器中断是由单片机中的定时器溢出而申请的中断。51单片机中有两个定时器T0和T1。定时\/计...

51单片机的定时器的时间怎么算??
51单片机1个机器周期=12个时钟周期,频率为12MHZ,则一个机器周期为1US,具体到定时器程序就是,假如你想定1MS,那么单片机每次加一个一,就要过1US,那么1MS就要加1000次,所以用65535-1000=64535;再把64535换成16进制为FC17,把FC付给TH0,17给TLO,即可定时1MS,因为65535他就溢出进入中断。

单片机指令周期的计算
计算方法:1. PIC单片机的每四个时钟周期定义为一个内部指令周期。例如,对于一个8MHz的晶振,内部指令周期为1\/(8MHz\/4) = 0.5微秒。实例一:2. 目标时间:35微秒,使用8MHz晶振,8位定时器,分频比1\/2,初值为E4。实例二:3. 目标时间:156.25微秒,使用32768Hz的晶振,8位定时器,分频比...

单片机定时器计算?
计算定时器,最原始的公式是(65536-初值)*12\/晶振值=定时的时间,由此式子推出:初值=65536-(晶振值*定时时间\/12)。则TH0=初值\/256,TL0=初值%256,最终结果就是 TH0 = 255-CLOCK\/TIME_PER_SEC\/12\/256;TL0 = 255-CLOCK\/TIME_PER_SEC\/12%256;其中除以TIME_PER_SEC,是因为TIME_PER_SEC...

单片机中,定时器如何初值计算?
1、计算定时器计数频率:定时器T0在方式2下,每个计数周期为12个晶振周期,因此计数频率为6MHz \/ 12 = 500 kHz。2、计算定时器初值:要实现0.5ms定时,需要定时器T0计数500次,因此初值为 65536 - 500 = 65036 (0xFC1C)。对于定时器T1,由于题目中没有给出需要实现的定时时间,无法直接计算出...

单片机中定时的最短和最长时间各是多少?
首先51单片机机器周期的计算方式=12\/晶振(Hz),单位秒(s),你的6MHz晶振那么就是12\/6M=2us,而计数器每一个机器周期计数一次,所以最短定时时长就是2us;但是最长定时可以说是无限长,若你指的是在不使用变量计时的条件下,根据工作方式1的16位计数最大为65536,因每2us计数一次,则单个计时周期...

单片机:若系统晶振频率是12MHZ,利用定时器\/计数器1定时1ms,在方式0下...
在单片机系统中,当晶振频率设定为12MHz时,理解定时器\/计数器1定时1毫秒(1ms)的设置至关重要。首先,我们来计算基本的机器周期:12MHz等于12000000赫兹,因此每个机器周期为12\/12MHz,即1微秒(us)。1毫秒等于1000个微秒,要让定时器\/计数器1定时1ms,我们需要确保计数在1000个机器周期后溢出以触发...

单片机,当定时器\/计数器工作方式于1下,晶振频率为6M,请计算最短定时时间...
定时器是通过计数溢出来计时的,工作方式1是16位计数方式。晶振频率为6M,那么计数器加1需要一个机器周期2us。机器周期=12\/fosc,fosc为晶振频率。计数初值为1时,定时最短为2us,最长是计2的16次方(即65536),最长时间=2*65536us=131.072ms 。在工作方式1下,定时时间:t=(65536-T0初始值)*...

相似回答