前言

单片机在执行语句时,需要特定的频率或者说“节奏”,提供节奏的单元一般有两种:外部晶振以及内部RC震荡。晶振很在开发板上很常见,一般都是8Mhz或者12Mhz的。RC震荡单元我们看不到,它们集成在单片机内部,一般的单片机有低速震荡和高速震荡,具体数值见对应的规格书。

几个频率的联系与区别

明确一下,一般来说,晶振震荡的频率即为时钟频率,不过目前的51单片机都可以设置分频,如下所示:

此图中提供单片机工作节奏的单元是内部高速的RC震荡器,其可设置多种分频,假定使用2分频,那么这里实际工作时的 时钟频率 = 震荡频率 / 2 = 16Mhz,也即系统时钟为16Mhz。
还有一个名词叫机器周期,在此之前,说明一个概念,叫“nT”的单片机,比如说,12T单片机,1T单片机。学生时代常用的51单片机都是12T单片机,即 机器频率 = 时钟频率 / 12,T数越小,机器频率越高,当T数是1时,机器频率 = 时钟频率。也就是说,1T的单片机是执行速度最快的单片机。
最后说指令周期,其实51单片机的指令可以分为单周期指令,双周期指令和四周期指令。这里面,单周期指令的执行时间为1个机器周期双周期指令的执行时间为2个机器周期四周期指令的执行时间为4个机器周期。拿nop进行说明,它是单周期指令,执行它需要1个机器周期。

总结

上面一会儿说周期,一会儿说频率,可能会把大家搞糊涂,这样写的目的是更容易从晶振频率出发来理解这些概念。为了方便大家进行统一的理解,下面以周期来列个表格进行说明。

周期类型 与其它周期类型的关系
振荡周期 1/ (晶振频率) 或 1/(RC震荡频率)
时钟周期 振荡周期* 分频比
机器周期 时钟周期* 单片机T数
单指令周期 机器周期
双指令周期 2* 机器周期
四指令周期 4* 机器周期

练习

一个2T的单片机,以内部32Mhz高速RC振荡器为时钟源,系统时钟为时钟源的2分频,那么请问,其执行一个nop语句消耗的时间是多少?(不考虑震荡器的误差,答案见评论区~)

51单片机,时钟频率,机器周期,与执行指令的时间相关推荐

  1. 【51单片机】在LCD1602上显示时间:包含按键进行校准时间+闹钟功能:按键设置闹钟响铃时间,以及响铃的时间长度

    在51开发板上面实现,晶振为:11.0592Mhz 电路如下: LCD1602 蜂鸣器部分: 显示时间界面: 更改时间页面: 设置触发闹钟时间页面: 设置闹钟响铃时长页面:(O泡时间长度  为3秒) ...

  2. STC89C52 51单片机实现闹钟功能 #目前的时间倒计时 #选择位置闪烁 #计时 #清屏 #停止计时 #选择位置加减数字 #存储目前的数据 #读出目前的数据 #输入特定时间

    前言 下面是按键实现功能的解释 本次内容主要是实现一般闹钟的基本功能, #目前的时间倒计时 #选择位置闪烁 #计时 #清屏 #停止计时 #选择位置加减数字 #存储目前的数据 #读出目前的数据 #输入特 ...

  3. 【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。

    LCD1602显示字符和时间是最基本的实验,在综合前面所学知识并结合c语言程序设计,就可以通过独立按键,来对时间进行校准,计时等功能.或者通过矩阵键盘的按键进行输入,进而让LCD屏上显示的出我们想要的 ...

  4. lcd和服务器同时显示温度,51单片机LCD1602如何同时显示温度和时间

    按键是设置时间的 void main() { unsigned char i; Int0Configuration(); LcdInit(); Ds1302Init(); while(1) { if( ...

  5. 51单片机DS18B20+DS1302+LCD12864实时显示时间日期温度

    文章目录 介绍 Proteus仿真运行效果 源程序 主函数 DS1302时钟函数 DS18B20函数 LCD12864(不带字库) sharing函数 mine头文件 介绍 DS18B20采集温度 D ...

  6. 51单片机定时器电子时钟 LCD1602显示时间日期带闹钟功能

    首先直接附上我的文件(懒得在csdn二次编辑了),里面说明文档,和电路图,protues仿真程序,keil程序.https://pan.baidu.com/s/1TC4AxBZJZ8d1Cv-X_dt ...

  7. 【51单片机学习笔记】基于STC11F04E的蜂鸣器音乐播放器

    微型播放器                                     --基于STC11F04E的蜂鸣器控制 青岛科技大学 信息科学技术学院 集成162 Listen C 一.简介 1. ...

  8. 51单片机之 LCD1602液晶显示屏

    一.LCD1602的使用 从上图可知,不是所有的地址都可以直接用来显示字符数据,只有第一行中的 00-0F,第二行中的 40-4F 才能显示,其他地址只能用于存储. 从上图可以看到,以上给的时间参数全 ...

  9. 51单片机配置中断与定时器应用

    //首先定时器根据时钟的输出信号每隔一段时间对计数单元进行加1 //当计数单元加1到设定提醒时间就进行中断申请,使程序跳转到中断函数中执行//1.工作模式寄存器TMOD,不可位寻址TMOD & ...

  10. 51单片机定时器及其应用(1)(时钟功能)

    51单片机定时器及其应用(1)(时钟功能)   STC89C51单片机有2个定时器,叫做定时器0和定时器1,可以用作普通定时器,计数器.普通定时器可以用来进行中断定时,波特率发生等,计数器可以用来对脉 ...

最新文章

  1. Mongodb的索引操作
  2. 九度OJ 区间问题 10000个随机正负数生成
  3. openCV鼠标事件实例
  4. ​再见 Seaborn!Altair 数据可视化已超神
  5. NET Core入门笔记
  6. python创建角色_如何使用 Python 创建一名可操控的角色玩家
  7. PTA-7-1 矩阵运算 (20分)(C语言)
  8. java获取C盘下的隐藏目录文件名称
  9. 零基础轻松学mysql_零基础轻松学MySQL 5.7
  10. Unity——浅谈AB包(AssetBundle)
  11. C# ping 局域网扫描
  12. fedora linux搜狗输入法,Linux_Fedora20 32位系统中安装搜狗拼音输入法图文教程,搜狗输入法在windows系统中是非 - phpStudy...
  13. 基于Android 的手机传感器检测
  14. springboot毕设项目水族馆观光网站e8iy4(java+VUE+Mybatis+Maven+Mysql)
  15. BUUCTF_misc_[WUSTCTF2020]find_me
  16. 颜色直方图, HSV直方图, histogram bins
  17. arduino温湿度计库文件_用ARDUINO开发板自制温湿度计(含WEMOS D1开发板环境安装)...
  18. 短视频运营课程怎么样
  19. 2022年了,你还没搞清楚箭头函数与普通函数的区别嘛?
  20. python中row是什么意思_Python中的2D列表(row total/grand total)

热门文章

  1. OpenCV的cv::cvtColor()
  2. 如何将动态URL静态化!
  3. 电脑亮度无法调节?所有方法都试过了?
  4. 安徽工业大学计算机组成原理,安徽工业大学工商学院 计算机组成原理试卷12至13学年A卷...
  5. 线性回归的损失函数与逻辑回归的损失函数
  6. 实例10 等差数列求和
  7. 阿里云Redis开发规范学习总结
  8. .env .env.development .env.production 配置说明
  9. Linux安装docker及其他镜像
  10. 相位相关影像匹配算法