单片机时钟周期、状态周期、机器周期、指令周期的理解
引言
在我们做学习单片机时,往往要用到延时程序,而要用汇编语言写出来,就必须对几个常见周期有所了解,这也算是学习单片机的基本知识。
时钟周期
时钟周期,又称为震荡周期,是为单片机提供定时信号的震荡源的周期,是单片机最基本的时间单位。谈到时钟周期就必须说晶体振荡器即即晶振,晶振可以说是单片机的心脏,它为单片机提供一个时钟频率 fosc(震荡频率)。
而所谓的震荡频率(时钟频率)自然是晶振一秒钟震荡的次数。时钟频率越高,单片机运行速度越快,就如电脑的CPU什么可以加速到多少GHz一样。自然时钟周期Tosc=1/fosc.
例如 震荡频率为12MHz的单片机即 fosc = 12MHz,那么震荡周期
Tosc = 1/fosc= 1/12 us。
状态周期
状态周期是CPU从一个状态转换到另一状态所需要的时间。简单地说每个状态周期
Ts 分为两个震荡周期(时钟周期),即Ts = 2Tosc。
机器周期
这里我们以MCS-51单片机为例,它有固定的机器周期,一个机器周期包含六个状态例如,取指令、存储器读、存储器写等。即机器周期等于6个状态周期,而一个状态周期是2个时钟周期,因此一个机器周期又等于12个时钟周期。那么晶振频率为12MHz的的单片机的机器周期 T = 12*Tosc = 1 us。
指令周期
顾名思义,指令周期就是执行一条指令所需的全部时间。MCS-51单片机的指令周期通常是 1 ~ 4 个机器周期组成。
MCS-51单片机常见指令的指令周期:
指令 | 周期 | 时间 |
---|---|---|
MOV Rn,A | 1 | 1 us |
MOV Rn,#00H | 2 | 2 us |
ADD A,Rn | 1 | 1 us |
ADD A,#01H | 2 | 2 us |
DJNZ Rn,rel | 2 | 2 us |
比较详细的指令及其所需周期百度链接
单片机时钟周期、状态周期、机器周期、指令周期的理解相关推荐
- 时钟周期、机器周期、总线周期、指令周期的关系
一.时钟周期 时钟周期由主频决定,是最小的时间单位 也叫节拍.T周期.cpu时钟周期 二.机器周期 cpu完成一项基本操作所需最短时间,用了多个时钟周期 又叫cpu周期 例:取指周期(含取指令和分析指 ...
- 单片机指令周期、机器周期、状态周期、时钟周期
单片机的系统指令周期根据不同的内核架构各有区别. 8051系列单片机采用的是同步式的顺序逻辑系统,整个系统的工作完全是依赖系统内部的时脉信号.它的指令周期.机器周期等也是根据时钟脉冲信号来确定.下面说 ...
- 51单片机的指令周期、机器周期、状态周期、时钟周期
以单片机的晶振为11.0592MHz为例的自适应主时钟毫秒级延时函数 void Delay_Ms(INT16U ms) {INT16U i;do{i = MAIN_Fosc / 96000; whil ...
- 51/时钟周期、时钟频率、状态周期、机器周期
1.时钟频率是什么? 时钟:顾名思义,时钟以精确和固定的时间间隔,触发电信号,其信号被控制单元用于推进CPU的内部操作.而CPU执行 取指令–解码–执行的速度为时钟速度(时钟频率). 在各类CPU当中 ...
- 关于时钟周期、状态周期、机器周期、指令周期的解释_普中_89C52单片机
关于时钟周期.状态周期.机器周期.指令周期的解释 一.时钟周期与状态周期 时钟周期,一般也称振荡周期.如果晶振的输出没有经过分频或倍频就直接作为cpu的工作时钟,则时钟周期就等于晶振的振荡周期:如 ...
- 指令周期 机器周期 状态周期 振荡时钟周期(时钟周期)
源:http://blog.csdn.net/zhangxichao/archive/2009/05/14/4186972.aspx 时钟周期: 时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样 ...
- IC基础知识(十一)时钟周期、状态周期、机器周期、指令周期和总线周期的定义及关系
目录 1.时钟周期.振荡周期.节拍周期 2.状态周期 3.机器周期.CPU周期 4.指令周期 5.总线周期 总结 微信公众号 1.时钟周期.振荡周期.节拍周期 时钟周期又叫做振荡周期.节拍周期 ...
- 单片机的机器周期、震荡周期和指令周期之间的关系,工作原理。
一, 什么是震荡周期? 震荡周期:也称时钟周期,是指为单片机提供时钟信号的震荡源的周期,一般单片机上为11.0592MHZ,12MHZ和24MHZ用的也比较多.定义为时钟脉冲的倒数(可以这样来理解,时 ...
- 机器周期、振荡周期、时钟周期、状态周期???
节拍与状态:把振荡脉冲的周期定义为节拍(用p表示).振荡脉冲经过二分频后定义为状态.一个状态就包含两个节拍. 指令周期(Instruction Cycle):取出并执行一条指令的时间. 总线周期(BU ...
最新文章
- 零起点学算法24——求正弦和余弦
- colpick-jQuery颜色选择器使用说明
- Kindeditor中上传本地照片后需要带域名的绝对路径实际获取为相对路径
- Dockerfile脚本:CMD与ENTRYPOINT的区别
- 输入框不可以输入中文
- Python基础-变量作用域
- 基础算法 —— 高精度计算
- 各大搜索引擎地址收录登记入口
- pytorch入门_PyTorch入门
- PHP实现单向链表解决约瑟夫环问题
- ssl 1606 选课
- linux常见faq,Linux--FAQ 常见的问题与解答
- css子元素和后代元素选择器
- Fingerprint2 生成浏览器指纹应用
- java的round函数怎么用_Java Math round()用法及代码示例
- 直接反投影 matlab,直接反投影法.ppt
- 东南大学提出条件自监督小样本学习方法,显著提升小样本分类准确率
- 人均 3.6万行代码, C++ 成最烫手山药:腾讯首度披露技术研发数据!
- 2019第十届蓝桥杯省赛总结
- 解决方案:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to
热门文章
- 使用DevExpress的PdfViewer控件加载http传输文件
- Pikachu(皮卡丘)靶场搭建
- 【沧海拾昧】C# .Net 基本控件介绍
- 神器啊,理工男的春天来了!
- DAB-Deformable-DETR源码学习记录之模型构建(二)
- Java和go加密,解密,Base64失败
- 简单秒表计时器的制作
- Linux中gcc4.8.5升级到gcc5.4.0用已经编译好的安装包升级(重点是不用编译安装,可以更省时)
- 新手自媒体推广引流,你能运营好吗?
- 解决bug-python中关于Process finished with exit code -1073740791