单片机中各种周期的关系与定时器原理
来源:互联网 发布:淘桃美工在线布局 编辑:程序博客网 时间:2024/05/19 20:58
- 我们现来理解几个比较重要的概念:
- 时钟周期:
- 机器周期:
在标准的51单片机中,一般情况下,一个机器周期等于12个时钟周期,也就是机器周期=12*时钟周期,(上面讲到的原因)如果是12MHZ,那么机器周期=1微秒。单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。
- 指令周期
- 系统时钟:
单片机内部所有工作,都是基于由晶振产生的同一个触发信号源,由这个信号来同步协调工作步骤,我们把这个信号称为系统时钟,系统时钟一般由晶振产生,但在单片机内部系统时钟不一定等于晶振频率,有可能小于晶振频率,也有可能大于晶振频率,具体是多少由单片机内部结构决定,正常情况和晶振频率会存在一个整数倍关系。系统时种是整个单片机工作节奏的基准,它每振荡一次,单片机就被触发执行一次操作。
TH=(65536-time/(12/ft))/256
其中,time就是要延时的100ms(要取100000us),ft是晶振频率。这个式子又可以简化成
TH=(65536-time*ft/12)/256
TL=(65536-time*ft/12)%6
在一本书上还看到了这样计算定时初值的:
TH0=-(50235/256); //重装100ms定时初值
TL0=-(50235%6); ///这里使用的6M晶体,
这里是6M晶体,延时100ms,那么按上面讲的原理,6M是每个计数为2us,100ms定时就是计数50000个。
那么,定时器初值要 65536-50000=15536,转成16进是3CB0。这就是要送给TH(=3C) 和TL(=B0)的值。
程序中写 TH0=-(50235/256);其实它是这样的TH0=0x100-(50235/256); 在51中,取负数,其结果就是它的值取反+1,也可以用0x100(十进制的256)去减,结果是多少呢?结果就是3C。
0 0
- 单片机中各种周期的关系与定时器原理
- 单片机中各种周期的关系与定时器原理
- 51单片机的各种周期
- 51单片机定时器的原理与使用
- 时钟周期(振荡周期)、机器周期、指令周期之间的关系、430单片机
- 51单片机定时器的原理与使用(二)
- 单片机的定时器与计数器
- 单片机中定时器的使用
- 单片机中PWM的原理与控制程序
- (单片机原理与应用)理解单片机串行口实现通信的各种工作方式
- 单片机的周期概念
- 单片机周期的概念
- 单片机的几个周期
- 单片机周期的简述
- 51单片机的定时器与中断
- 串口通信中定时器1与波特率的关系
- (单片机原理与应用)定时器/计数器设计实验
- 8052单片机中定时器T2的应用
- SHUTDOWN: Active processes prevent shutdown operation
- 程序员应读的书
- 如何删除cocos2d-x模板
- Hello
- 我和比尔•盖茨是同学
- 单片机中各种周期的关系与定时器原理
- Git pull 冲突解决
- VS2012 配置 Nunit测试环境
- 不是技术牛人,如何拿到国内IT巨头的Offer
- 返回数组类型
- 逻辑地址、线性地址、物理地址和虚拟地址
- java时间精确到天
- This system is not registered with RHN
- 想听陈奕迅最新单曲吗?