单片机的定时器的周期怎么算?就是比如定时器 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 分频的)
时钟周期:
时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟
周期就是单片机外接晶振的倒数,例如 12M 的晶振,它的时间周期就是 1/12
us),是计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU 仅完成一个最基本的动作。对于某种单片机,若
采用了 1MHZ 的时钟频率,则时钟周期为 1us;若采用 4MHZ 的时钟频率,则
时钟周期为 250us。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机
的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机
型的计算机,时钟频率越高,计算机的工作速度就越快。
8051 单片机把一个时钟周期定义为一个节拍(用 P 表示),二个节拍定义为
一个状态周期(用 S 表示)。
机器周期:
在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,
每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工
作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情
况下,一个机器周期由若干个 S 周期(状态周期)组成。